如何为服务器定位 ES6 并为客户端定位 ES5
How to Target ES6 for Server and ES5 for Client
我正在创建一个项目,其中节点在服务器上,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 的自动编译功能,如果它有任何相关性的话。
您可以使用 babel 将 es6 javascript 转换为您想要的任何 ecmascript 风格。
我也有类似情况,我的做法是:
- 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"
我正在创建一个项目,其中节点在服务器上,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 的自动编译功能,如果它有任何相关性的话。
您可以使用 babel 将 es6 javascript 转换为您想要的任何 ecmascript 风格。
我也有类似情况,我的做法是:
- 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"