問題
使用nginx又代理了一層
在瀏覽器中 /
代表域名的根目錄,./
代表當前路徑
線上發布的時候一般都會使用nginx反向代理,所以使用./
是最靠譜的,但是vue-cli dev
中的 assetsPublicPath
不能配置成"./"
,而build
中的卻可以配置,並可以正常訪問,雖然不影響發布但是影響開發效率
解決方法
因為webpack.dev.conf.js
中的publicPath
的值配錯了,原來配置的是config.dev.assetsPublicPath
,只要把publicPath
的值改成 "/"
就行了
原因
publicPath 總是以斜杠(/)開頭和結尾,所以publicPath不能配置為./ 所以訪問時會報錯
devServer.publicPath 官方解釋
數據類型 string
此路徑下的打包文件可在瀏覽器中訪問。
假設服務器運行在 http://localhost:8080 並且 output.filename 被設置為 bundle.js。默認 publicPath 是 "/",所以你的包(bundle)可以通過 http://localhost:8080/bundle.js 訪問。
可以修改 publicPath,將 bundle 放在一個目錄:
publicPath: "/assets/"
1
你的包現在可以通過 http://localhost:8080/assets/bundle.js 訪問。
確保 publicPath 總是以斜杠(/)開頭和結尾。
也可以使用一個完整的 URL。這是模塊熱替換所必需的。 這里是重點
publicPath: “http://localhost:8080/assets/”
bundle 可以通過 http://localhost:8080/assets/bundle.js 訪問。
---------------------
作者:isyoungboy
來源:CSDN
原文:https://blog.csdn.net/isyoungboy/article/details/84350256