系列文章:
项目打包
测试环境打包:npm run build:sit
正式环境打包:npm run build:prod
运行打包命令,会将所有代码打包到dist/
目录,将该目录下文件上传到虚拟主机根目录下即可
资源路径问题
打包后的文件需要直接放在虚拟主机目录中
如果放在虚拟主机目录的子目录中,会出现js等资源文件访问不到的问题。需要将绝对路径修改为相对路径
- 修改
config/index.js
文件,找到build/assetsPublicPath
build: {
// ...
assetsPublicPath: './',
// ...
}
- 修改
build/utils.js
文件,增加一行
if (options.extract) {
return ExtractTextPlugin.extract({
use: loaders,
fallback: 'vue-style-loader',
// 增加一行
publicPath: '../../'
})
} else {
return ['vue-style-loader'].concat(loaders)
}
样式问题
1、打包后样式发生了变化,排除发现打包后的代码下列两处发生了变化:
.page
的样式-webkit-box-orient: vertical;
丢失.page .container
的样式-webkit-box-flex: 1;
丢失
造成此现象的原因是webpack
打包时会先去掉带有特殊前缀的样式-webkit-*
、-moz-*
、-o-*
、-ms-*
等,然后再根据需要自动添加这些前缀
可以使用下面方法解决:
/*! autoprefixer: off */
-webkit-box-orient: vertical;
/* autoprefixer: on */
/*! autoprefixer: off */
-webkit-box-flex: 1;
/* autoprefixer: on */
但上面这种解决办法在开发环境会有warning
此项目的解决办法是将这两个样式写在页面的行内样式中
2、打包后文章详情页不能滚动了
排除发现是.container
这里设置了overflow: hidden;
虽然给.article
设置了overflow: auto;
,但优先级不够。需要设置成overflow: auto !important;
发表评论