如何针对服务器的ES6和针对客户端的ES5

时间:2016-11-08 05:42:58

标签: node.js angular typescript ecmascript-6 tsconfig

我正在创建一个项目,其中包含服务器上的节点和客户端上的Angular 2。我想在整个项目中使用Typescript。我想为服务器定位ES6,因为节点支持它,但ES5用于客户端。目前我的目录结构看起来像这样。

├── app.js
├── something.js
├── tsconfig.json
├── wwwroot
│   ├── index.html
│   ├── main.ts
│   ├── components
│   │   ├── mycomponent.ts

我希望wwwroot以上的所有内容都定位到ES6,但wwwroot内的所有内容都定位到ES5。我尝试在tsconfig.json文件夹中放置第二个wwwroot,但这似乎不起作用。我正在使用Atom的自动编译功能,如果它具有任何相关性。

3 个答案:

答案 0 :(得分:3)

您可以使用babel将es6 javascript转换为您想要的任何ecmascript风格。

http://babeljs.io/

答案 1 :(得分:1)

我有类似的情况,我正在做的是:

- project-root
  - scripts
    - tsconfig.json
  - wwwroot
    - scripts
      - tsconfig.json
    - html
      - index.html
    - styles
      - index.css

服务器的scripts/tsconfig.json目标es6和客户端的wwwroot/scripts/tsconfig.json目标es5

答案 2 :(得分:0)

您可以使用Babel使用预设"babel-preset-es2015-node6"转换为es5尚未实现的节点。

您只能使用节点package.json中的脚本来转换您想要使用的目录:

"prestart": "babel server-source --out-dir dist/source"