在Vue.js和Node.js开发环境中测试会话

时间:2018-12-04 08:49:02

标签: javascript node.js vue.js

所以我遇到的问题是:我正在尝试为我的应用程序使用会话,虽然我知道如何在所有内容都编译好并准备就绪后才能使它们工作……我需要能够对其进行测试在开发过程中。

所以我的Vue,js运行在与node.js后端服务器不同的端口上。问题出在哪里;我如何让后端使用前端的地址来进行测试?例如:

app.get('/', (req, res) => {
    console.log(session);
});

将是localhost:5000 /(这是im目前使用的端口)。我可能会以完全错误的方式来解决这个问题,但是我希望能够在开发过程中进行测试,而不必编译所有内容并祈祷它可以工作。

如果有帮助,我正在使用快速会话。

谢谢!

编辑: 好吧,我正在尝试代理,但似乎没有用。我尝试将其放入package.json'file, then I read something on vue.config.js`文件中,我可以通过这种方式进行操作。 所以这就是我所拥有的:

module.exports = {
    devServer: {
        proxy: 'http://localhost:5000',
    },
  }

1 个答案:

答案 0 :(得分:1)

您可以在您的vue.js应用的proxy中添加package.json。这样,应用程序会认为它正在与同一服务器上的API进行通信,但实际上,vue.js应用程序的主机只是您后端的代理。我的假设是后端应用程序的所有端点都带有前缀api,并且vue.js是通过npm脚本托管在Node.js服务器上的。

{
...
    "proxy": {
        "/api/*": {
          "target": "http://localhost:5000"
        }
     }
}

因此,当vue.js应用尝试调用http://localhost:8080/api/hello时,该请求将通过代理访问http://localhost:5000/api/hello。浏览器将允许该请求。

代理仅在开发中使用,在生产中被忽略。

已编辑

如果您正在使用Vue CLI v3的新版本,则可以使用嵌入式代理服务器:https://cli.vuejs.org/config/#devserver-proxy

对于代理的等效设置(如上所示),使用以下内容创建vue.config.js(如果尚不存在):

module.exports = {
  devServer: {
    proxy: {
      '/api': {
        target: 'http://localhost:5000',
        ws: true,
        changeOrigin: true
      }
    }
  }
}