vue-cli打包上線

首先需要修改一下配置文件再打包,很多人都是遇到過打包后運(yùn)行一片空白等等問題,這些問題主要就是路徑的問題,所以需要修改config下面的index.js這個配置文件里選項:(在build下)

上圖中第一個要修改的就是靜態(tài)文件的路徑,打包后靜態(tài)文件就在當(dāng)前目錄下,所以修改為./

第二個是環(huán)境設(shè)置為生產(chǎn)環(huán)境

常見問題:css中引用的圖片資源找不到

我的login.vue文件中有一段css,其中引用了一個背景圖片,是這樣寫的

1.login{height:100%;background:?url("../assets/login_bg.jpg")?no-repeat; background-size: cover;color:?white;}

“src/assets/”文件夾下有這張圖片,打包后路徑發(fā)生變化這個圖片就找不到了,stackflow上有一個解決辦法,很簡單

打開“build/utils.js”,增加一行代碼即可

路由配置

在router\index.js文件中配置路由

let baseUrl =''

const isDev =process.env.NODE_ENV ==='production'

if (isDev ===true){

? baseUrl ='/dist'

}

export default new Router({

base:baseUrl,

scrollBehavior: () => ({ y: 0}),

routes:constantRouterMap

})

在服務(wù)器上有些圖片顯示不出來?報錯找不到?

這是因為在模塊加載器的url加載器limt限制大小的關(guān)系?

改成:limit:90000 就可以了 然后重新打包

在服務(wù)器上直接刷新網(wǎng)頁,然后就找不到網(wǎng)頁了。。。??

這是因為路由模式我們選擇了 html5的 mode模式,去掉mode模式重新打包就可以了

優(yōu)化步驟

回到webpack.prod.conf.js文件中,vue-cli腳手架對基礎(chǔ)部分的webpack配置做了統(tǒng)一的提取,寫在webpack.base.conf.js里面。

定義絕對路徑

在webpack.base.conf.js文件中,我們可以在resolve中對項目的絕對路徑進(jìn)行定義,畢竟相對路徑在js中,我認(rèn)為是毒瘤...

resolve: {extensions: ['.js','.vue','.json'],? ? alias: {'@':resolve('src'),'components':resolve('src/components'),'common':resolve('src/common')? ? }},

大的依賴?yán)胏dn引入

在webpack.base.conf.js文件中,對較大的文件在index.html中直接引入cdn地址,然后在可以在externals中在項目進(jìn)行定義

// index.html

然后在externals中定義供項目直接使用

externals: {"echarts":"echarts"}

externals中的key是給import的時候用的,value表示的是如何在global中訪問到該對象,這里是window.echarts,在項目中可以直接使用,利用cdn優(yōu)勢的同時,避免webpack打包文件過大。

關(guān)掉productionSourceMap

在config目錄下面的index.js文件中,vue-cli腳手架對開發(fā)環(huán)境和生產(chǎn)環(huán)境都做了相關(guān)配置,其中在build配置下設(shè)置productionSourceMap為false,避免產(chǎn)出.map后綴結(jié)尾的js文件,(除非需要線上調(diào)試)

開啟gzip

同樣在config目錄下面的index.js文件中,開啟productionGzip,可以產(chǎn)出.gz后綴結(jié)尾的js文件,個人印象中將近減少了2/3的打包代碼體積。瀏覽器會優(yōu)先加載.gz后綴結(jié)尾的文件,如果瀏覽器不能識別,再加載正常的文件,當(dāng)然后臺nginx部署的時候也是可以實現(xiàn)gzip壓縮功能。需要值得注意的是,開啟productionGzip后,需要安裝一個webpack插件進(jìn)行配合

npm install compression-webpack-plugin -D

這點(diǎn)可以在webpack.prod.conf.js里面悉知。

打包好后可以自己測試運(yùn)行是否正常

這個時候需要利用node中的express,方法如下:

安裝express: npm install -g express;

最新express4.0版本中將命令工具分家出來了,還需要安裝一個命令工具: npm install -g express-generator;

創(chuàng)建一個express工程: express helloworld;

進(jìn)入項目主目錄: cd helloworld;

安裝必備包: npm install;

啟動程序: npm start;

把打包后的dist文件夾放在public文件夾里,訪問http://localhost:3000/dist就能看到項目了,這樣測試好了后,就可以丟后臺了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容