1、打包成功不报错,但是打开页面啥都没有?
解决:文件位置:config目录下index.js文件更改assetsPublicPath属性:文件里面有两个assetsPublicPath属性,也就是更改build里面的assetsPublicPath属性:(加上点)
assetsPublicPath:'/'替换成
assetsPublicPath:'./'
2、打包完成后某些图片没加载出来,f12提示404,且dist文件下的static文件夹下有一个img文件夹?
原因:图片过大或者资源文件过大、超过了打包规定的限制;
解决:修改build目录下面的webpack.base.conf.js文件下的limit限制,超过你使用到的最大图片资源即可。
3、每个js和css文件会压缩一个gz后缀的文件夹,浏览器如果支持g-zip 会自动查找有没有gz文件 找到了就加载gz然后本地解压 执行。依赖:
npm install --save-dev compression-webpack-plugin
4、包的文件中会出现一些map文件,map文件的作用在于:项目打包后,代码都是经过压缩加密的,如果运行时报错,输出的错误信息无法准确得知是哪里的代码报错。有了map就可以像未加密的代码一样,准确的输出是哪一行哪一列有错。最后你在build之后,然后就会发现就没有自动生成一些map文件了。。。
解决:修改config下面的index.js文件夹,
productionSourceMap: true;改为productionSourceMap: false,
5、打包后运行项目:刷新界面会出现404?
解决:router目录下的index.js文件,
mode: 'history',//将这个模式关闭就好
6、css中引用的图片资源找不到,此方法同样适用于template中的img标签中的src。但对于template中的img标签中的v-bind:src无效。
看下图
这是因为webpage打包的时候会把整个相对路径../../assets/img/login_bg_2.png改成static/img/login_bg_1.1b2f449.png,此时的路径还在css文件内,所以我们需要将build>utils.js修改一下
将路径返回到dist目录下,此时的打包路径就成功了
7.template中的img标签中的v-bind:src
在data中正常引入图片是这样的:
export default {
data () {
return {
src: './../static/img.png'
}
}
}
但是这种引入路径是无效,因为webpack是按字符号打包的,不会做任何处理。所以需要import在外部引入或者require内部引入
import avatar from './../static/img.png'
export default {
data () {
return {
src: avatar
}
}
}
//或者
export default {
data () {
return {
src: require("./../static/img.png")
}
}
}
还可以这样:
<div class="avatar-wrapper">
<img class="user-avatar" :src="avatar">
<div class="username-wrapper">
<span class="user-name">{{name}}</span>
<i class="el-icon-caret-bottom"></i>
</div>
</div>
admin: {
avatar: './static/image/avatar/0.jpg'
}
vue打包报错UnhandledPromiseRejectionWarning: postcss-svgo: Error in parsing SVG的解决方案
vue项目打包运行时报错如下:
项目中引用了MUI框架,需要将mui框架的css文件中,需要把mui.css文件中的svg图片单引号改双引号,具体做法:
在项目中查找所有包含'svg'的css文件,而后修改url最外层的单引号为双引号即可;