类星体构建后无法连接到后端

时间:2018-03-01 15:54:04

标签: vue.js quasar-framework

我有一个用quasar制作的项目,我有一个代理将应用程序上的调用映射到我的后端API,但是当它使用quasar build构建时,它会生成dist文件夹,用于测试我使用服务器,如果它工作,但应用程序的调用不起作用 enter image description here

这应该是对http://localhost:8080/getCategories

的调用

这是代理conf:

proxyTable: {
  '/api': {
    target: 'http://localhost:8080/',
    changeOrigin: true,
    pathRewrite: {
      '^/api': ''
    }
  }
}

当我使用dev服务器试用它时,在8081上运行的dev服务器 enter image description here

我不知道是否需要更改API调用,我所做的所有调用都是this.$http.get('/api/getCategories')样本。

不确定我是否清楚地解释了事情,希望有人能提供帮助,谢谢!

1 个答案:

答案 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)
            })

完全为我工作,希望有人发现这很有用!