我想知道如何以跨平台的方式将 TypeScript 转换为 JavaScript。我知道 typescript 的节点包管理器的 可用性,但是还有其他可以在服务器端使用的替代方案吗?
原文由 Alex Objelean 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想知道如何以跨平台的方式将 TypeScript 转换为 JavaScript。我知道 typescript 的节点包管理器的 可用性,但是还有其他可以在服务器端使用的替代方案吗?
原文由 Alex Objelean 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可能不想使用 ts-node
,因为它很慢,而是按照以下步骤进行快速 .ts
文件编译(确保已安装节点):
npm i -D @types/node typescript nodemon
npx tsconfig.json
并从列表中选择 node
。您可以根据需要自由修改它。
在您的项目根目录中创建一个文件名 src/index.ts
。
然后在您的 package.json
中,添加以下 2 个脚本:
"scripts": { "watch": "tsc -w", "dev": "nodemon dist/index.js" },
npm run watch
npm run dev
并且,它会自动查找 .ts
文件中的更改,您可以在终端中看到编译后的文件输出!
原文由 Shivam Jha 发布,翻译遵循 CC BY-SA 4.0 许可协议
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
简短版本: 如果可以,请使用 Node。这在当今变得不可避免。
也许这不是你想要的答案,但正如大家所说,编译器是一个 JS 文件,所以,你的选项是执行一个 JS 文件的选项。
在 Windows 中,有两个明显的,Node 和 Windows Script Host。
您已经了解节点,另一个选项是所有版本的 Windows 附带的组件(我认为),您可以这样做:
您可以通过以下方式查看所有编译器选项:
在 Linux 上,我假设您应该能够使用(除了节点):
node
或cscript
替换为v8-shell
更新: 另一个答案表明编译器 API 仅与节点和 Windows 脚本主机(cscript 工具)兼容,因此,如果正确,那么在 Linux 上,您将需要 Node 来编译 TypeScript。
如果您正在寻找类似
apt get tsc
的东西(或任何 Linux/Mac 包管理器),我认为没有。我记得在某处读到过,I/O 已针对 Node 和 Windows Script Host 进行了优化,因此,如果您在选项方面遇到问题,如果寻求平台独立性,您可能最终会选择 Node。
更新: 这里的另一个答案证实了关于兼容性的相同。