[英]How to async bundles through angular CLI JSON and angular CLI JSON info
這里有兩個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
您可以通過“彈出”您的應用並使用HTML WEBPACK PLUGIN及其擴展插件腳本 -ext -html -webpack-plugin來實現此目的 :
run ng eject -prod
。 此命令將在根目錄中公開webpack.config.js文件。 ('再次'取消'你的應用程序看到我的另一個答案 )
運行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 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.