Node.js
命令行的TypeScript编译器可以使用Node.js包来安装。
安装
npm install -g typescript
编译
tsc helloworld.ts
由于无法直接运行TypeScript ,所以会将 ts文件 转换成 js文件, 生成一个 js 的文件;
也可以安装 ts-node ,他是封装了这个编译的过程,不会生成 JS 文件;‘
安装
npm install -g ts-node
编译
ts-node helloworld.ts
遇到的问题
1、Cannot find name 'console'. Do you need to change your target library? Try changing the 'lib' compiler option to include 'dom'.
解决:npm install -g @types/node
因为console 不属于 EcmaScript 标准。DOM 里面的 console 是浏览器环境下的,属于浏览器BOM API,Node 里面的 console 是 Node.js 里面的,由nodejs自己定义的API,两者虽然有同样的功能,但是并不是同一个东西,例如你可以参考:如果从 Node.js 编译到浏览器环境, Webpack 本来是需要对 console 进行 polyfill 的,但是恰好有一样的功能,所以不需要。你可以把 console 想成 fs 就是一样的道理了,你不装 @types/node 根本无法使用 fs 的类型提示。 因此总结,主要原因 TypeScript 自带的类型只有 DOM 环境里面的那些类型(在 lib.dom.d.ts 里面),Node.js 的类型是不自带并且通过 @types/node 这个库来维护的。