gpt4 book ai didi

node.js - 如何编写typescript可执行文件?

转载 作者:太空宇宙 更新时间:2023-11-03 22:52:33 25 4
gpt4 key购买 nike

使用 babel-cli ,您可以轻松地使用 es2015 语法编写一些 Node 可执行文件。为此,您只需要添加适当的 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用于反射(reflect)所需行为的项目。

最佳答案

我相信您正在寻找ts-node .

#!/usr/bin/env ts-node

...rest of script

作者在此处确认了此用法: https://github.com/TypeStrong/ts-node/issues/73

附:我称之为executable ,不是binary

关于node.js - 如何编写typescript可执行文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37271725/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com