
很多時(shí)候 npm run build
之后, index.html
文件中webpack 自動(dòng)插入的 js 文件 css 文件的相對目錄總是不對,發(fā)布到服務(wù)器上之后,nginx 找不到文件。
vue-cli@3
在 vue-cli@3 中你需要為你 webpack 插入到 index.html
中 的所有文件添加一個(gè) baseUrl
. 你需要在項(xiàng)目的根目錄新建一個(gè) vue.config.js
, 添加如下內(nèi)容:
...
module.exports = {
baseUrl: isProd
? '/baseXXX/'
: '/',
....
}
這里需要注意的是 dev 環(huán)境下不需要添加 baseUrl
。
vue-cli@2
針對 非 vue-cli@3 生成的項(xiàng)目,你如果不關(guān)心 webpack 里面是如何實(shí)現(xiàn)的,你只需要找到 config/index.js
, 修改其中的 build
中的 assetsPublicPath
即可。
為了驗(yàn)證一下是否可行,你可以本地 build 一下,然后查看 dist/index.html
中引用的 js css 文件的路徑是否攜帶上你剛剛設(shè)置的 assetsPublicPath
即可。
而關(guān)心為啥這樣設(shè)置就可以的同學(xué)們,繼續(xù)看 build/webpack.base.conf.js
文件,

非 production
mode 下,是在config/index.js
中設(shè)置的,這里的 publicPath
默認(rèn)是

總結(jié)
以上所述是小編給大家介紹的nginx 部署 vue 項(xiàng)目找不到j(luò)s css文件的解決方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!