这里有两个Angular 2 angular-cli.json 问题:
我通过谷歌测试我的网站运行我的网站,我唯一需要解决的问题是在首映内容中消除渲染阻止JavaScript和CSS
下面的是我从https://developers.google.com/speed/pagespeed/insights/
获得的更具体的结果消除上层内容中的渲染阻止JavaScript和CSS
您的页面有4个阻止脚本资源和1个阻止CSS 资源。这会导致呈现页面的延迟。没有任何一个 您可以在不等待的情况下呈现页面上的首屏内容 用于加载以下资源。尝试推迟或异步 加载阻塞资源,或内联其中的关键部分 资源直接在HTML中。删除渲染阻止JavaScript:
*****。com / inline.e93ce34d30ab58073e62.bundle.js *****。com / scripts.68b893062974958fa7b3.bundle.js *****。com / vendor.4f05ee5669648be9602e.bundle.js *****。com / main.2d50b916b073e7fba148.bundle.js 优化CSS 交付以下内容: *****。com / styles.c9d2a891e3814f5a5ff6.bundle.css
答案 0 :(得分:4)
您可以通过'弹出' 您的应用并使用HTML WEBPACK PLUGIN及其扩展程序插件script-ext-html-webpack-plugin来实现此目的:
运行ng eject -prod
。此命令将在根目录中公开 webpack.config.js 文件。 (再次查看'您的应用再次看到我的another answer)
运行npm install
以安装webpack加载器
安装两个新插件:
npm i html-webpack-plugin script-ext-html-webpack-plugin -D
在您公开的 webpack.config.js 文件中编辑插件条目,并按此顺序添加两个插件:
plugins: [
new HtmlWebpackPlugin(),
new ScriptExtHtmlWebpackPlugin({
defaultAttribute: 'async'
})
]
运行npm run build
,因为ng build
不再适用于已撤销的应用。
运行上述命令后,您应该在 dist 目录中将所有脚本设置为 async 。