【问题标题】:Webpack proxy messing up my routing?Webpack 代理弄乱了我的路由?
【发布时间】:2018-12-30 10:03:23
【问题描述】:

所以我将 webpack 用于 8080 上的项目,后端在 3000 上。代理似乎工作正常,因为我可以向后端发送请求并毫无问题地访问它。然而。我需要包含这个允许我让用户加载页面的中间件,如果他们在一定时间内登录,他们发送到服务器的初始请求会自动登录。

router.use(function (req, res, next) {
 //check token for routes beneath vvvv
})
router.post('/preauth', function (req, res) {
 //return user account info if req.token is valid
})

当我尝试从 8080 上加载的页面到达 prauth 甚至之前的任何路线时,我只触摸中间件,没有其他任何东西。

当我执行 npm run build 然后从 3000 上的同一页面再次尝试时,它按预期工作。

不,CORS 未启用,代理不会重写任何 url。

有谁知道我的 Webpack 配置中的某些东西是否会导致这种情况?

【问题讨论】:

    标签: node.js express webpack vue.js


    【解决方案1】:

    你需要在 nodejs 中安装 Cors:npm install cors,你可以试试下面的方法或者你会看到:Nodejs + Vuejs

    var express = require('express')
    var cors = require('cors')
    var app = express()
     
    app.use(cors())
     
    app.get('/products/:id', function (req, res, next) {
      res.json({msg: 'This is CORS-enabled for all origins!'})
    })
     
    app.listen(80, function () {
      console.log('This is a CORS-enabled web server listening on port 80')
    })

    【讨论】:

    • 谢谢,我想这就是答案。我尝试通过chrome插件和Node设置cors,但都没有解决路由问题。为什么请求只被转移到中间件?
    猜你喜欢
    • 2021-10-25
    • 1970-01-01
    • 2014-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-15
    • 1970-01-01
    • 2017-09-11
    相关资源
    最近更新 更多