1、使用npm run build
命令打包构建资源文件 => 会生成一个默认的dist
文件夹
2、将打包后的dist
文件夹上传到服务器apache目录下的webapps
文件夹下,例如:/zs/soft/apache-tomcat-8.5.24/webapps
(关于apache的安装和搭建以及如何上传文件到服务器我这里就不做介绍)
3、进入服务器目录/zs/soft/apache-tomcat-8.5.24/bin
,输入./startup.sh
启动apache服务,默认端口为8080
4、在浏览器中输入http://192.168.246.240:8080/dist
即可,如果浏览器没有报错并且页面正常显示,则表示部署成功(`192.168.246.240为你的服务器ip地址, 8080为tomcat默认端口, dist为你的资源文件夹),如果出现问题,请继续往下看
可能出现的问题:
1、报http://192.168.246.240:8080/dist/css/app.102568e6b.css net::ERR_ABORTED 404
类似于这种错误,说明打包后的资源文件存在路径不正确问题
解决方法:
1.1、vue/cli 2.6.0
以下版本:找到/config/index.js
文件中build
属性对应的assetsPublicPath
键值,将其修改为assetsPublicPath: './'
, 然后重新打包
1.2、vue/cli 2.6.0
以上版本:由于vue/cli2.6.0
以上的版本创建的项目没有/config
文件夹,所以需要在根目录自行创建vue.config.js
文件,然后在这个文件中输入以下内容:
注意:
vue/cli 3.3.1
以下版本:
module.exports = {
baseUrl: process.env.NODE_ENV === 'production' ? './' : '/'
}
vue/cli 3.3.1
以上版本(这个版本将baseUrl替换为了publicPath):
module.exports = {
publicPath: process.env.NODE_ENV === 'production' ? './' : '/'
}
然后重新打包
2、如果遇到不报错也不显示页面的情况,可能就是没有匹配任何一条路由,包括根路由 path: ‘/’ 也没匹配
解决方法:
2.1、找到/src/router/index.js
文件,将history
模式改回hash
模式:
const router = new VueRouter({
mode: 'hash',
base: process.env.BASE_URL,
routes
})
然后重新打包
2.2、按‘HTML5 History’官网提出的方案,请后台工程师新增一个匹配(具体待了解)