won*_*rld 4 ecmascript-5 angularjs ecmascript-6
我的angularjs应用程序的编译器选项如下。我应该使用其它软件包,transpile ES6到ES5如果我更改了目标再次ES6?
{
"compilerOptions": {
"target": "es5", // Change this to es6
"module": "commonjs",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": false,
"outDir": "./wwwroot/app/"
},
"exclude": [
"node_modules",
"wwwroot"
]
}
Run Code Online (Sandbox Code Playgroud)
您选择哪个目标取决于您支持的浏览器。查看ES6兼容性表,我们可以针对目标对象制定一般准则。只要平台支持大于或等于TypeScript支持,那么我们就可以估算我们想要的目标。
首先在兼容性表中检查TypeScript版本的差异,我们仅发现一些差异:
现在将TS的功能集与平台进行比较:
目标:ES3-如果您想支持:
目标:ES5-如果您想支持:
目标:ES6(ES2015) -如果您使用这些功能并且要支持:
目标:ES7(ES2016) -如果您想使用这些功能并且要支持:
目标:ES2017-如果您想使用这些功能并且要支持:
我将把ES2018 / ESNext留给读者练习,或者将来我会更新。可以肯定地说,某些现代浏览器或库不支持某些功能,因为它们可能是试验性的。
希望这可以使您了解目标对象,但是测试对于确保您支持所需平台至关重要。兼容性表中可能没有更小的功能,或者我错过了某些功能,因此请务必进行测试。
归档时间: |
|
查看次数: |
5428 次 |
最近记录: |