【发布时间】:2021-02-04 08:12:43
【问题描述】:
使用babel-cli,您可以使用 es2015 语法轻松编写一些节点可执行文件。为此,您只需要添加适当的 shebang #!/usr/bin/env babel-node。
例如,
#!/usr/bin/env babel-node
import fs from 'fs';
fs.readFileSync('./some-file.csv');
我想知道如何使用 TypeScript 来做到这一点?
更新: 尝试过ts-node - 即使对于像这样的 HelloWorld 示例也会出现尴尬的错误
const say = (word: string) => {
console.log(word);
}
say('hello');
它不能通过ts-node test.ts 或使用#!/usr/bin/env ts-node 工作;
在这两种情况下我都得到了
SyntaxError: Unexpected token :
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:373:25)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Function.Module.runMain (module.js:441:10)
at Object.<anonymous> (/usr/local/lib/node_modules/ts-node/src/bin/ts-node.ts:110:12)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
更新使ts-node 工作。仅当文件具有 .ts 扩展名时才有效。对于没有扩展名但带有 shebang 的文件 - 它不起作用。为反映所需行为的项目创建了 github issue。
【问题讨论】:
标签: node.js typescript