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