Я хотел бы создать модуль nScript TypeScript, который можно использовать как в качестве утилиты командной строки, так и в качестве методов экспорта для использования в других модулях.
Проблема состоит в том, что служебный модуль командной строки должен содержать узел shebang (#! / usr / bin / env node) в первой строке index.ts.Когда такой модуль импортируется и на него ссылаются в другом модуле, код начинает выполняться до фактического вызова любого экспортированного метода.Пример:
#!/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;
}