4

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

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

我希望上面的所有内容都wwwroot以 ES6 为目标,但内部的所有内容都wwwroot以 ES5 为目标。我尝试tsconfig.jsonwwwroot文件夹中放一秒钟,但这似乎不起作用。我正在使用 Atom 的自动编译功能,如果这有任何相关性的话。

4

3 回答 3

4

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

http://babeljs.io/

于 2016-11-08T05:46:42.030 回答
1

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

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

服务器的目标和客户scripts/tsconfig.json端的目标。es6wwwroot/scripts/tsconfig.jsones5

于 2016-11-08T09:28:39.850 回答
0

您可以使用 Babel 将 nodejs 尚未实现的内容转换为 es5,使用预设"babel-preset-es2015-node6".

您可以使用例如节点 package.json 中的脚本仅将您想要的目录转换为 es5:

"prestart": "babel server-source --out-dir dist/source"
于 2016-11-08T11:53:56.623 回答