我想创建 npm TypeScript 模块,它既可以用作命令行实用程序,也可以用作其他模块的导出方法。
问题是命令行实用程序模块需要在 index.ts 的第一行包含节点 shebang(#!/usr/bin/env 节点)。当此类模块被导入并在另一个模块中引用时,代码在实际调用任何导出的方法之前开始执行。例子:
#!/usr/bin/env node
const arg1: number = parseFloat(process.argv[2]);
const arg2: number = parseFloat(process.argv[3]);
console.log (superCalc(arg1, arg2)); // this gets called when superCalc() is referenced in another module
export function superCalc(arg1: number, arg2: number) : number {
return arg1 + arg2;
}