本地运行vue dist文件
当我们vue工作完成以后会打包一份dist文件给后台,之前本地肯定要测试一下,下面就是本人踩的一些坑,跟大家分享一下
a) 我们打包为dist以后第一个问题,我们打包为dist以后经常会遇见路径出错,也就是dom出现但是js与css不会出现,显示路径错误。
解决方法:打开脚手架的config文件中的index.js文件,查看build对象内的assetsPublicPath(发布路径)是否为"./"。默认的情况下是"/",但是"/"是绝对路径,而"./"是相对路径
绝对路径:就是你的主页上的文件或目录在硬盘上真正的路径,比如c:/apache/cgi-bin下的路径就是c:/apache/cgi-bin;
相对路径:顾名思义就是相对于当前文件的路径
b)路径没有问题了。文件可以引入进来了,那么怎么本地运行呢,因为dist文件是要有服务启动的,一本情况下后台会启动服务,但是总不能每一次都让后台打包吧
解决方法:
1.这是dev内设置服务代理,
proxyTable: {
'/api': { //代理地址
target: 'http://39.104.50.205', //需要代理的地址
changeOrigin: true, //是否跨域
secure: false, // 如果是https接口,需要配置这个参数
pathRewrite: {
'^/api': '/api' //本身的接口地址没有 '/api' 这种通用前缀,所以要rewrite,如果本身有则去掉
},
},
},
2.配置开发环境与生产环境
在config/dev.env.js和prod.env.js里也就是开发/生产环境下分别配置一下请求的地址API_HOST
module.exports = merge(prodEnv, {
NODE_ENV: '"development"', // 开发环境
API_HOST: '"/api/"'
})
module.exports = {
NODE_ENV: '"production"', // 生产环境
API_HOST: '"http://xxx.com/"'
}
3.调用
created() {
console.log(process.env.NODE_ENV, '环境')
let urlHost = process.env.API_HOST // 会自动判断当前是开发还是生产环境,然后自动匹配API_HOST
axios.get(urlHost + 'DemoApi/oftenGoods.php')
.then((res) => {
console.log(res, '代理之后')
})
}
好了,就这么多配置本地运行dist文件的方法大家git到了吗