vue-cli index.js dev 配置中 assetsPublicPath 的值不能填 "./" 的问题
问题
使用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