Angular8新特性 差异加载
在升级Angular8后,使用ng build时会构建两次
打包完成后打开index页面显示空白,然后在编辑器中打开index.html文件发现如下
在百度找了许久都没有答案,最终在stackoverflow发现了答案,
原因是Angular8的新特性 Differential Loading差异加载,两个独立的构建文件将针对不同的浏览器目标,用户使用的浏览器将决定Angular提供什么文件.
但是我在使用了差异加载后,网页打开为空白 ?
那么有没有一种办法可以取消这个差异加载呢???
当然有啦!!!
根据Angular8新特性中作者的说法
When target is set to es2015, we generate and label two bundles.当target被设置为es2015的时候才会启动差异加载,构建两次
我们只需要把target这行注释起来
{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"module": "esnext",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"importHelpers": true,
//"target": "es2015",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2018",
"dom"
]
}
}
然后再次执行ng build
打开文件index.html
在浏览器中打开index,现在可以正常显示了
但是我还是不知道为什么使用差异加载后,我的网页打开后显示为空白,有Angular大佬知道可以告诉我吗 ?