前端之家收集整理的这篇文章主要介绍了
Angular2为什么我们需要es6-shim,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_
301_0@
在
Angular2 Quickstart Guide之后,我们被指示将es6-shim
包括在2个地方:
1)index.html
< script src =“node_modules / es6-shim / es6-shim.min.js”>< / script>
2)typings.json
"ambientDependencies": {
"es6-shim": "github:DefinitelyTyped/DefinitelyTyped/es6-shim/es6-shim.d.ts#6697d6f7dadbf5773cb40ecda35a76027e0783b2"
}
我的印象是我们正在将我们的es6代码编译成es5.
在tsconfig.json中配置
{
"compilerOptions": {
"target": "es5",...
如果最终结果是浏览器正在加载es5,为什么浏览器需要es6的垫片?
您的编辑器使用打字来为您提供
代码提示/智能感知,es6-shim.min.js是一个模拟ES5浏览器ES6
功能的
代码.其中一些
功能是Promise,Array.from()…
虽然您的代码被转换为ES5,您需要包含es6-shim,以便您可以使用这些新功能…考虑这个ES6代码:
let test1 = () => 123 + 456;
let test2 = new Promise((resolve,reject ) => {});
它将被翻译成ES5代码:
var test1 = function () { return 123 + 456; };
var test2 = new Promise(function (resolve,reject) { });
但没有es6-shim承诺将是未定义的…