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



所以我遇到的问题是:我正在尝试为我的应用程序使用会话,虽然我知道如何在一切都编译好并准备就绪时让它们工作。。。我需要能够在开发过程中测试它们。

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

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

将是localhost:5000/(这是我目前使用的端口(。我可能完全错了,但我希望能够在开发过程中测试它,而不是必须编译所有内容并祈祷它能正常工作。

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

谢谢!

编辑:好吧,我正在尝试代理,但它似乎不起作用。我试着把它放在package.json'file, then I read something onvue.config.js文件中,在那里我可以这样做。这就是我所拥有的:

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。浏览器将允许该请求。

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

编辑

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

对于代理的等效设置,如上所述,创建具有以下内容的vue.config.js(如果它还不存在(:

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

最新更新