vue打包后在dist文件夹里有index.html和static文件夹,如果把这两个文件直接放到服务器根目录下,是不会有问题的。但是,如果放到不是根目录的其他路径,都会报错。比如放到thinkphp的view目录下。这是因为打包后的静态文件是相对当前url的。
比如你想请求a.png图片的实际路径是
网站根目录下的static/img/a.png
但访问的网址是
http://www.xxx.com/index
结果图片的路径就变成了
http://www.xxx.com/index/static/img/a.png
图片的路径错了,这样当然无法访问到图片。
解决办法:
修改vue里面的webpack配置文件。具体就是build文件下的webpack.prod.conf.js的publicPath
修改publicPath:'/hot' 表示将静态文件路径设置为/hot/static/ 。
修改publicPath:'/static/index' 表示将静态文件路径设置为/static/index/static
(你需要将打包后的static文件夹复制到/static/index目录下)。
网友评论