时间:2021-05-18
解决静态资源失效的问题
这就需要修改我们的 config 中的 index.js了,默认的build 中的部分是这样的:
build: { // Template for index.html index: path.resolve(__dirname, '../dist/index.html'), // Paths assetsRoot: path.resolve(__dirname, '../dist'), assetsSubDirectory: 'static', assetsPublicPath: '/',修改之后的应为这样的:
build: { // Template for index.html index: path.resolve(__dirname, '../dist/index.html'), // Paths assetsRoot: path.resolve(__dirname, '../dist'), assetsSubDirectory: 'static', assetsPublicPath: './',但是这样能确保资源文件可被正常找到, 但页面还是处于白屏状态,
在路由页面找到mode: 'history',
export default new Router({ mode: 'history', routes: [将mode: 'history',这句话删除,在进行build,
export default new Router({ // mode: 'history', routes: [小伙伴们, 是不是发现好用啦~
补充知识:vue关于build和config文件都已修改,但打包后图片仍找不到的问题
最开始发现有的图片可以加载出来有的却不能,然后去看build和config文件的配置,
都很ok啊。
然后去看那些可以加载出来的跟不能加载的做了对比,发现不能加载出来的都是把路径写在js里面,用变量的方式写进html里面的,最后的解决方式就是:
//以require形式导入图片
url:require('../../static/xxx.png')
然后打包就没问题了;
后面再补充一下,background属性引入图片的话如果以行内元素引入也会造成图片路径找不到的情况,解决的办法就是把它写在style里面,以类名的方式引入;
总结一下,vue里面引用图片在打包后仍能正常使用的正确引用方式:
html内:img src以相对路径引入;
css:style以background属性作为背景图片引入,需以类名方式引入,行内样式可能会不生效;
js:以require('…/url')引入,赋予变量;
以上这篇解决vue项目 build之后资源文件找不到的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
最近在使用webpack+vue做个人娱乐项目时,发现npmrunbuild后,cssjsimg静态资源文件均找不到路径,报404错误。。。网上查找了一堆解决办
近期很多小伙伴问我,为何启动项目的时候Spring或SpringMVC资源文件找不到,这里我总结几个问题出现的原因和解决方案一、问题的原因为何会出现这种FIle
问题描述:vue项目打包后,文件找得到,但是引用的字体及背景图片找不到;解决方法:主要是需要单独为css配置publicPath。ExtractTextWebp
当我们添加一张svg图片显示时,react提示找不到文件。我们可以在全局文件global.d.ts内,添加图片类型的声明:详见《TypeScript引用资源文件
写在vue文件里面的style样式,在添加例如背景图片的时候,如果用的是相对路径,那么build出来的css文件的路径将会出错,导致找不到图片。通过查找资料,在