繁体   English   中英

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

[英]Testing sessions in Vue.js and Node.js development environment

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

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

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

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

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

谢谢!

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

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

您可以在vue.js应用的package.json中添加proxy 这样,应用程序会认为它正在与同一服务器上的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 浏览器将允许该请求。

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

EDITED

如果您使用的是新版本的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
      }
    }
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM