我有一个用quasar制作的项目,我有一个代理将应用程序上的调用映射到我的后端API,但是当它使用quasar build
构建时,它会生成dist
文件夹,用于测试我使用服务器,如果它工作,但应用程序的调用不起作用
这应该是对http://localhost:8080/getCategories
这是代理conf:
proxyTable: {
'/api': {
target: 'http://localhost:8080/',
changeOrigin: true,
pathRewrite: {
'^/api': ''
}
}
}
当我使用dev服务器试用它时,在8081
上运行的dev服务器
我不知道是否需要更改API调用,我所做的所有调用都是this.$http.get('/api/getCategories')
样本。
不确定我是否清楚地解释了事情,希望有人能提供帮助,谢谢!
答案 0 :(得分:1)
<强>解决强>
我已经解决了,不知道这是否是正确的方法,会尝试解释可能遇到同样问题的其他人。
首先,我已从config/index.js
删除了proxyTable,然后添加了一个环境,config/dev.env.js
中的一个环境如下所示:
var merge = require('webpack-merge')
var prodEnv = require('./prod.env')
module.exports = merge(prodEnv, {
NODE_ENV: '"development"',
API: "'http://localhost:8080'"
})
和config/prov.env.js
的一个看起来像这样:
module.exports = {
NODE_ENV: '"production"',
API: "'http://my-website.com:8080'"
}
然后,我与VueResource一起使用的所有AJAX调用都是这样的:
this.$http.get(`${process.env.API}/path/`)
.then(response => response.json(), console.log)
.then(response => {
console.log(response)
})
完全为我工作,希望有人发现这很有用!