成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

vue-cli項(xiàng)目?jī)?yōu)化,縮短首屏加載時(shí)間

lufficc / 1152人閱讀

摘要:主要是首屏加載太慢。文件按需加載如果沒有這個(gè)設(shè)置,項(xiàng)目首屏加載時(shí)會(huì)加載整個(gè)網(wǎng)站所有的文件,所以將文件拆開,點(diǎn)擊某個(gè)頁面時(shí)再加載該頁面的是一個(gè)很好的優(yōu)化方法。在中,不要使用的方法引入組件,使用。使用插件,將的值改成。

主要是首屏加載太慢。

大文件定位
我們可以使用webpack可視化插件Webpack Bundle Analyzer 查看工程js文件大小,然后有目的的解決過大的js文件。
安裝

npm install --save-dev webpack-bundle-analyzer

在webpack中設(shè)置如下,然后npm run dev 的時(shí)候默認(rèn)會(huì)在8888端口顯示。

const BundleAnalyzerPlugin = require("webpack-bundle-analyzer").BundleAnalyzerPlugin;

module.exports = {
  plugins: [
    new BundleAnalyzerPlugin()
  ]
}

JS文件按需加載
如果沒有這個(gè)設(shè)置,項(xiàng)目首屏加載時(shí)會(huì)加載整個(gè)網(wǎng)站所有的JS文件,所以將JS文件拆開,點(diǎn)擊某個(gè)頁面時(shí)再加載該頁面的JS是一個(gè)很好的優(yōu)化方法。
這里用到的就是vue的組件懶加載。在router.js中,不要使用import的方法引入組件,使用require.ensure。

import index from "@/components/index"
const  index = r => require.ensure( [], () => r (require("@/components/index"),"index"))
//如果寫了第二個(gè)參數(shù),就打包到該`/JS/index` 的文件中。
//不寫第二個(gè)參數(shù),就直接打包在`/JS` 目錄下。
const  index = r => require.ensure( [], () => r (require("@/components/index")))

使用cdn
打包時(shí),把vue、vuex、vue-router、axios等,換用國內(nèi)的bootcdn 直接引入到根目錄的index.html中。

在webpack設(shè)置中添加externals,忽略不需要打包的庫。

externals: {  
  "vue": "Vue",  
  "vue-router": "VueRouter",  
  "vuex": "Vuex",  
  "axios": "axios"  
}  

在index.html中使用cdn引入。

  

  
 

將JS文件放在body的最后
默認(rèn)情況下,build后的index.html中,js的引入是在header中。
使用html-webpack-plugin插件,將inject的值改成body。就可以將js引入放到body最后。

var HtmlWebpackPlugin = require("html-webpack-plugin");
new HtmlWebpackPlugin({

  inject: "body",

})

壓縮代碼并移除console
使用UglifyJsPlugin 插件來壓縮代碼和移除console。

new webpack.optimize.UglifyJsPlugin({
  compress: {
    warnings: false,
    drop_console: true,
    pure_funcs: ["console.log"]
  },
  sourceMap: false
})

參考文章

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/113724.html

相關(guān)文章

  • vue-cli項(xiàng)目優(yōu)化,縮短首屏加載時(shí)間

    摘要:主要是首屏加載太慢。文件按需加載如果沒有這個(gè)設(shè)置,項(xiàng)目首屏加載時(shí)會(huì)加載整個(gè)網(wǎng)站所有的文件,所以將文件拆開,點(diǎn)擊某個(gè)頁面時(shí)再加載該頁面的是一個(gè)很好的優(yōu)化方法。在中,不要使用的方法引入組件,使用。使用插件,將的值改成。 主要是首屏加載太慢。 大文件定位我們可以使用webpack可視化插件Webpack Bundle Analyzer 查看工程js文件大小,然后有目的的解決過大的js文件。 ...

    hedzr 評(píng)論0 收藏0
  • 為了vue-cli spa項(xiàng)目優(yōu)化首屏所做的事情

    摘要:第一次寫項(xiàng)目,但是在實(shí)踐的過程發(fā)現(xiàn)了很多坑,這篇文章主要講述的是項(xiàng)目首屏加載過慢的大坑。建議使用,相對(duì)來說算是比較快的了。在官方文檔中有相關(guān)實(shí)現(xiàn)的代碼,很簡(jiǎn)單。畢竟首屏加載,優(yōu)化都得靠了。 第一次寫 vue spa項(xiàng)目,但是在實(shí)踐的過程發(fā)現(xiàn)了很多坑,這篇文章主要講述的是spa項(xiàng)目首屏加載過慢的大坑。在webpack的配置中,在打包的過程中,會(huì)將所有的庫都打包到vendor.js中,所以...

    layman 評(píng)論0 收藏0
  • 這么多前端優(yōu)化點(diǎn)你都記得住嗎?

    摘要:不推薦移動(dòng)端瀏覽器前端優(yōu)化策略相對(duì)于桌面端瀏覽器,移動(dòng)端瀏覽器上有一些較為明顯的特點(diǎn)設(shè)備屏幕較小新特性兼容性較好支持一些較新的和特性需要與應(yīng)用交互等。 GitHub鏈接:https://github.com/zwwill/blo... 圍繞前端的性能多如牛毛,涉及到方方面面,以我我們將圍繞PC瀏覽器和移動(dòng)端瀏覽器的優(yōu)化策略進(jìn)行羅列注意,是羅列不是展開,遇到不會(huì)不懂的點(diǎn)還請(qǐng)站外擴(kuò)展 開車...

    ysl_unh 評(píng)論0 收藏0
  • 這么多前端優(yōu)化點(diǎn)你都記得住嗎?

    摘要:不推薦移動(dòng)端瀏覽器前端優(yōu)化策略相對(duì)于桌面端瀏覽器,移動(dòng)端瀏覽器上有一些較為明顯的特點(diǎn)設(shè)備屏幕較小新特性兼容性較好支持一些較新的和特性需要與應(yīng)用交互等。 GitHub鏈接:https://github.com/zwwill/blo... 圍繞前端的性能多如牛毛,涉及到方方面面,以我我們將圍繞PC瀏覽器和移動(dòng)端瀏覽器的優(yōu)化策略進(jìn)行羅列注意,是羅列不是展開,遇到不會(huì)不懂的點(diǎn)還請(qǐng)站外擴(kuò)展 開車...

    Tecode 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<