【问题标题】:Can't connect to backend after quasar build类星体构建后无法连接到后端
【发布时间】:2018-03-01 15:54:04
【问题描述】:

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

这应该是打电话给http://localhost:8080/getCategories

这是代理配置:

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

当我在开发服务器上尝试时,开发服务器在 8081 上运行

我不知道是否必须更改 API 调用,我所做的所有调用都类似于 this.$http.get('/api/getCategories') 的示例。

不确定我是否解释清楚,希望有人能帮助,谢谢!

【问题讨论】:

    标签: vue.js quasar-framework


    【解决方案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)
                })
    

    完全为我工作,希望有人觉得这很有用!

    【讨论】:

    • 这也适用于 Post 吗?我在使用 POST 时遇到了同样的问题,是的,它说同样的错误。
    猜你喜欢
    • 1970-01-01
    • 2018-12-20
    • 2018-06-14
    • 2019-10-24
    • 1970-01-01
    • 2013-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多