Ruby on rails 如何在Vue.js dev和Rails 4后端之间共享会话?
我正在使用与Rails 4.2后端共存的Vue.js cli应用程序 这里的目标是使用现有会话。当我为生产模式编译Vue.js应用程序时,我可以在开发模式下运行Rails服务器,Vue应用程序可以从Ruby on rails 如何在Vue.js dev和Rails 4后端之间共享会话?,ruby-on-rails,ruby,session,vue.js,vuejs2,Ruby On Rails,Ruby,Session,Vue.js,Vuejs2,我正在使用与Rails 4.2后端共存的Vue.js cli应用程序 这里的目标是使用现有会话。当我为生产模式编译Vue.js应用程序时,我可以在开发模式下运行Rails服务器,Vue应用程序可以从public目录中正确运行,会话可以工作,因为它们在同一个域中运行 尝试这样开发和调试是非常困难的,因为在进行任何更改后,您必须编译Vue应用程序进行生产测试,这也使得无法利用Vue Devtools进行调试 如果我在开发模式下为Vue应用程序提供服务,这是通过webpack实现的,那么Vue应用程序
public
目录中正确运行,会话可以工作,因为它们在同一个域中运行
尝试这样开发和调试是非常困难的,因为在进行任何更改后,您必须编译Vue应用程序进行生产测试,这也使得无法利用Vue Devtools进行调试
如果我在开发模式下为Vue应用程序提供服务,这是通过webpack实现的,那么Vue应用程序和Rails应用程序将分别提供服务,因此现在处于不同的域中,这导致没有会话共享,必须尝试处理CORS等。如果可以,请摆脱webpack。Vue可以很好地使用。 在rails模板中实例化vue应用程序时,使用
{@model.to_json}
可以非常轻松地传递数据
Vue组件可以在rails模板或资产管道中使用x-template语法编写。文件
config/index.js
中有一个名为proxyTable的选项
通过将此选项设置为proxyTable:{”/,我们可以通过本地Rails服务器将webpack root设置为代理http://localhost:3000“}
3000是Rails dev服务器的默认端口,但如果您在其他端口上运行,则可能需要更改此端口。不知道任何简单的方法,但可以将Vue.js请求代理到网页包源,例如使用
Rails反向代理
。不过,我没有亲自尝试。我们正在使用Webpack和vue cli进行构建过程,而没有使用Webpack gem。