Vue.js 发送到vue cli服务的未知请求未代理到后端Rails服务器

Vue.js 发送到vue cli服务的未知请求未代理到后端Rails服务器,vue.js,Vue.js,我的vue cli服务在端口3001上运行,我的后端rails应用程序在端口3000上运行 我希望所有未知请求都转到后端rails应用程序。在阅读vue cli文档时,下面的代码似乎可以正常工作,但事实并非如此 module.exports = { devServer: { disableHostCheck: true, port: 3001, public: '0.0.0.0:3001', overlay: {

我的vue cli服务在端口3001上运行,我的后端rails应用程序在端口3000上运行

我希望所有未知请求都转到后端rails应用程序。在阅读vue cli文档时,下面的代码似乎可以正常工作,但事实并非如此

module.exports = {
    devServer: {
        disableHostCheck: true,
        port: 3001,
        public: '0.0.0.0:3001',
        overlay: {
            warnings: true,
            errors: true
        },
        proxy: 'http://lab.lizardgizzards.com:3000'
    },
    publicPath: "/",
}
我有一个rails路由
/terms
,它应该呈现一个scaffold页面。当我输入
http://lab.lizardgizzards.com:3001/terms
它不会呈现rails页面,它仍然显示vue呈现。它不应该呈现rails页面吗?或者这只适用于API请求吗?

基于此,您使用
proxy
设置所做的操作似乎可以正常工作。然而,这对我也不起作用

原因在代码中:

如果设置了显式的
上下文
(如下面的示例),它将提前几行,一切正常。如果没有
上下文
,它假定所有带有
accept:text/html
的请求都应该是
index.html
,可能是为了与历史模式路由兼容。其他请求,如AJAX调用,应该可以很好地代理

这对我来说确实有效,甚至对HTML页面也是如此

代理:{
'/': {
目标:'http://lab.lizardgizzards.com:3000'
}
}
就我个人而言,我会将远程服务器放在它自己的路径后面,以清楚地将其与UI分开。e、 g:

代理:{
“/api”:{
目标:'http://lab.lizardgizzards.com:3000',
来源:对,
路径重写:{
“^/api”:”
}
}
}

如何定义未知?未在vue路由器中注册?请参阅指向的网页包文档,以及有关此功能所基于的http代理中间件的文档。在每个请求中,您可以定义请求是发送到后端还是发送到前端。您可以定义一个函数并读取整个请求对象。但是,如果您想将所有其他内容发送到后端,那么似乎需要管理一个URL列表,这些URL应该放在前端。使用不同的前缀端点通常更容易(例如,
/api