Ale*_*ean 30 javascript typescript
我想知道如何以跨平台的方式将TypeScript转换为JavaScript.我知道有关typescript的节点包管理器的可用性,但是还有其他可以在服务器端使用的替代方案吗?
小智 32
TypeScript编译器是用TypeScript构建的,因此可以作为JS文件(tsc.js)使用,可以使用任何ES3兼容的VM或JS实现来运行.
也就是说,编译器的当前文件I/O基础结构仅支持Node和Windows Scripting Host文件API.如果您想推荐支持其他环境,请随时联系我们的GitHub网站 (以前的CodePlex)
Mel*_*igy 17
也许这不是你想要的答案,但正如大家所提到的,编译器是一个JS文件,因此,你的选项是执行JS文件的选项.
在Windows中,有两个明显的,Node和Windows Script Host.
你已经了解了node,另一个选项是所有Windows版本附带的组件(我认为),你可以这样做:
cscript path/to/tsc.js source-file.ts
Run Code Online (Sandbox Code Playgroud)
您可以只看到所有编译器选项:
cscript path/to/tsc.js
Run Code Online (Sandbox Code Playgroud)
在Linux上我假设您应该能够使用(除了节点):
node或cscript搭配v8-shell更新:另一个答案表明编译器API只与节点和Windows脚本宿主(cscript工具)兼容,因此,如果正确,那么在Linux上你需要Node来编译TypeScript.
如果您正在寻找类似的东西apt get tsc(或者Linux/Mac包管理器之类的东西),我认为没有.
我记得在某处读过I/O针对Node和Windows Script Host进行了优化,因此,如果您遇到选项问题,如果寻求平台独立性,您最终可能会使用Node.
更新:此处的另一个答案证实了兼容性相同.
具体来说,在服务器上(假设您的服务器有Node.js可用),您只需运行:
node path/to/tsc.js yourFile1.ts yourFile2.ts [etc]
Run Code Online (Sandbox Code Playgroud)
您可以在没有任何输入文件名的情况下运行该命令,以查看tsc.js的命令行帮助.
我有一个用 Java 将 Typescript 编译为 Javascript 的项目:
https://github.com/martypitt/typescript4j
正如其他答案中所讨论的,这使用了 Rhino,因此不依赖于npm或node。
下面是一个例子:
// Instantiate the compiler:
TypescriptCompiler compiler = new TypescriptCompiler();
// Compile a string:
String output = compiler.compile("class Greeter { greeting: string; }");
// Or, compile and output to a file:
compiler.compile(new File("example.ts"), new File('output.js'));
Run Code Online (Sandbox Code Playgroud)
我在另一个项目中使用它- 'Bakehouse'在 Spring 环境中执行打字稿资源的即时编译
您可以从命令行使用 ts-node:
npm install ts-node
Run Code Online (Sandbox Code Playgroud)
然后像这样调用命令:
tsc file.ts --outFile file.js
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
52296 次 |
| 最近记录: |