我正在创建一个项目,在服务器上使用node,在客户端使用Angular 2。我想在整个项目中使用Typescript。我想把ES6作为服务器的目标,因为node支持它,但把ES5作为客户端。目前我的目录结构是这样的:
├── app.js
├── something.js
├── tsconfig.json
├── wwwroot
│ ├── index.html
│ ├── main.ts
│ ├── components
│ │ ├── mycomponent.ts
我希望wwwroot
以上的所有内容都以ES6为目标,但wwwroot
内部的所有内容都以ES5为目标。我试着把第二个tsconfig.json
在wwwroot
文件夹,但这似乎没有工作。我正在使用Atom的自动编译功能,如果这是相关的。
您可以使用babel将es6 javascript转换为您想要的任何风格的ecmascript。
http://babeljs.io/我有一个类似的情况,我正在做的是:
- project-root
- scripts
- tsconfig.json
- wwwroot
- scripts
- tsconfig.json
- html
- index.html
- styles
- index.css
scripts/tsconfig.json
针对服务器的es6
, wwwroot/scripts/tsconfig.json
针对客户端的es5
。
你可以使用Babel将nodejs尚未实现的内容转换为es5,使用预设的"babel-preset-es2015-node6"
。
你可以只将你想要的目录转换为es5,例如使用节点package.json中的脚本:
"prestart": "babel server-source --out-dir dist/source"