欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2018年04月01日 09:34:47   作者:buppt  
這篇文章主要介紹了vue-cli項(xiàng)目?jī)?yōu)化 縮短首屏加載時(shí)間,需要的朋友可以參考下

最近實(shí)習(xí)的項(xiàng)目需求上要求不多,就學(xué)了下項(xiàng)目?jī)?yōu)化,主要是首屏加載太慢。

大文件定位

我們可以使用webpack可視化插件Webpack Bundle Analyzer 查看工程js文件大小,然后有目的的解決過(guò)大的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文件按需加載

如果沒(méi)有這個(gè)設(shè)置,項(xiàng)目首屏加載時(shí)會(huì)加載整個(gè)網(wǎng)站所有的JS文件,所以將JS文件拆開(kāi),點(diǎn)擊某個(gè)頁(yè)面時(shí)再加載該頁(yè)面的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'))
//如果寫(xiě)了第二個(gè)參數(shù),就打包到該`/JS/index` 的文件中。
//不寫(xiě)第二個(gè)參數(shù),就直接打包在`/JS` 目錄下。
const index = r => require.ensure( [], () => r (require('@/components/index')))

使用cdn

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

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

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

在index.html中使用cdn引入。

<script src="http://cdn.bootcss.com/vue/2.2.5/vue.min.js"></script> 
<script src="http://cdn.bootcss.com/vue-router/2.3.0/vue-router.min.js"></script>
<script src="http://cdn.bootcss.com/vuex/2.2.1/vuex.min.js"></script> 
<script src="http://cdn.bootcss.com/axios/0.15.3/axios.min.js"></script>

將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 插件來(lái)壓縮代碼和移除console。

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

暫時(shí)只查到了這幾個(gè)優(yōu)化方法。

相關(guān)文章

  • 詳解如何使用vue實(shí)現(xiàn)可視化界面設(shè)計(jì)

    詳解如何使用vue實(shí)現(xiàn)可視化界面設(shè)計(jì)

    Vue是一款流行的前端開(kāi)發(fā)框架,它的響應(yīng)式數(shù)據(jù)綁定和組件化特性使得它成為了可視化界面設(shè)計(jì)的一個(gè)理想選擇,本文將介紹如何使用Vue實(shí)現(xiàn)可視化界面設(shè)計(jì),并且演示一個(gè)基于Vue的可視化界面設(shè)計(jì)案例,需要的朋友可以參考下
    2023-12-12
  • vue結(jié)合leaflet實(shí)現(xiàn)熱力圖

    vue結(jié)合leaflet實(shí)現(xiàn)熱力圖

    本文主要介紹了vue實(shí)現(xiàn)熱力圖,結(jié)合leaflet.heat插件可以很容易的做出熱力圖,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • Vue路由權(quán)限控制解析

    Vue路由權(quán)限控制解析

    這篇文章主要介紹了Vue路由權(quán)限控制的相關(guān)資料,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下
    2020-11-11
  • Vue打包程序部署到Nginx 點(diǎn)擊跳轉(zhuǎn)404問(wèn)題

    Vue打包程序部署到Nginx 點(diǎn)擊跳轉(zhuǎn)404問(wèn)題

    這篇文章主要介紹了Vue打包程序部署到Nginx 點(diǎn)擊跳轉(zhuǎn)404問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • vue自定義鍵盤(pán)實(shí)現(xiàn)車(chē)牌號(hào)的示例代碼

    vue自定義鍵盤(pán)實(shí)現(xiàn)車(chē)牌號(hào)的示例代碼

    本文主要介紹了vue自定義鍵盤(pán)實(shí)現(xiàn)車(chē)牌號(hào)的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • Vue 全局loading組件實(shí)例詳解

    Vue 全局loading組件實(shí)例詳解

    這篇文章主要介紹了Vue 全局loading組件,需要的朋友可以參考下
    2018-05-05
  • Vue插件使用方法詳情分享

    Vue插件使用方法詳情分享

    這篇文章主要介紹了Vue插件使用方法詳情分享,使用插件之前顯示定義,下文通過(guò)js插件定義展開(kāi)詳細(xì)文章介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-03-03
  • vue:el-input輸入時(shí)限制輸入的類(lèi)型操作

    vue:el-input輸入時(shí)限制輸入的類(lèi)型操作

    這篇文章主要介紹了vue:el-input輸入時(shí)限制輸入的類(lèi)型操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-08-08
  • vue.js,ajax渲染頁(yè)面的實(shí)例

    vue.js,ajax渲染頁(yè)面的實(shí)例

    下面小編就為大家分享一篇vue.js,ajax渲染頁(yè)面的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02
  • vite項(xiàng)目無(wú)法使用zangodb包裝器的解決方案

    vite項(xiàng)目無(wú)法使用zangodb包裝器的解決方案

    vite作為新一代工具鏈,具有很多便利之處,配置也非常簡(jiǎn)單,它很好地整合了Rollup和其他復(fù)雜的構(gòu)建項(xiàng),并提供了多種方向的典型腳手架模板,深受大家喜愛(ài),本文給大家介紹了如何解決vite項(xiàng)目無(wú)法使用zangodb包裝器的問(wèn)題,需要的朋友可以參考下
    2023-10-10

最新評(píng)論