在Angular 8应用程序中,如果要在IE11上加载type="module"脚本而不是es5,可以按照以下步骤进行设置:
tsconfig.json
文件。"target": "es5"
选项,将目标编译为es5。{
"compilerOptions": {
"target": "es5",
...
},
...
}
@babel/preset-env
和core-js
作为依赖项。npm install --save-dev @babel/preset-env core-js
.browserslistrc
的文件,并在其中添加所需的浏览器支持。> 0.5%
last 2 versions
IE 11
babel.config.js
的文件,并添加以下内容:module.exports = function(api) {
api.cache(true);
const presets = [
[
"@babel/preset-env",
{
useBuiltIns: "usage",
corejs: 3
}
]
];
return {
presets
};
};
angular.json
文件中的build
配置,将es5BrowserSupport
设置为true
。"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
...
"es5BrowserSupport": true
},
...
}
polyfills.ts
文件,确保以下导入语句处于注释状态:// import './polyfills-es5';
// import './polyfills';
ng serve
通过以上步骤,应用程序将在IE11上加载type="module"脚本而不是es5。