vue项目打包
- 查看package.js文件的scripts命令
- 打开webpack.dev.conf.js文件,找到publicPath: config.dev.assetsPublicPath,按Ctrl点击,跳转到index.js文件
- 其中dev是开发环境,build是构建版本,找到build下面的assetsPublicPath: ‘/’,然后修改为assetsPublicPath: ‘./’,即“/”前加点。
- 终端运行 npm run build 即可。
vue项目build之后,dist文件下index.html打开为空白页
build: {
dev: {
assetsPublicPath:"./", //资源公共路径 打包时候需要 ./
}
}
// 运行时候:package.json文件:
scripts: {
"dev":" --host 192.168.3.45" , // 使用ip地址访问 ,打包时候去掉
}
// router下的index.js
mode:'history', // build打包时候要注释掉
打包之后请求不成功
1. 在config下的index.js中,把跨域请求拦截代码注释掉。
// 跨域拦截请求 设置跨域重启项目(npm start)
proxyTable: {
'/api': {
target: "http://47.92.153.134:8899/", // 打包接口地址
// target: "http://192.168.3.40/", // 本地后台接口地址
pathRewrite: {
'^/api': ''
}
}
},
2. 然后在main.js中,先把跨域解决的接口地址 /api 关闭,再把发布的后台接口地址打开。
// axios.defaults.baseURL = '/api' // 跨域解决
axios.defaults.baseURL = 'http://47.92.153.134:8899/' // 打包接口地址全局定义 使用跨域解决不打开此行 修改config/index.js即可
此时点击index.html,通过浏览器运行便,若会发现动态绑定的static的图片找不到,故static必须使用绝对路径。将图片路径修改为绝对路径,至此,打包完成。