问题:
Vuejs前端通过nodejs上传图片=》
nodejs返回一个http://localhost:8080/server/uploads/temp/1.jpg的路径到前端=》
前端报404获取不到此图片
说明:
1.Vuejs端口8080;nodejs端口8088,已设置跨域,api请求正常(因为可以正常上传图片到指定文件夹)
2.用最新版脚手架创建新项目,把旧项目的src文件夹迁移到新项目,不报404,但是显示空白
3.http://localhost:8080/server/uploads/temp/1.jpg,在浏览器直接输入此地址也无法获取图片
4.尝试过把nodejs的server迁移到可正常显示图片的项目上,一切正常。
已经找到解决方案!!!!!
先说谁的锅:
webpack的锅
解决方法:
webpack.dev.conf.js文件下的contentBase,被设置为了false,注释掉就行了
原因:
contentBase在vue-cli创建的时候就被设为了false(不懂为什么要这样做)
官方注释说:与copy-webpack-plugin模块有关,具体原因待研究
https://blog.csdn.net/liangkl...
https://segmentfault.com/q/10...
这两个链接都有说到这个contentBase的作用
可以解决的问题:
api通过代理后能正常访问
但是不能通过http://localhost:8080/...取到任何资源