我正在使用 Rails 5.1 和 Vue.js 启动一个新应用程序,并带有内置的 Webpacker Vue.js 包(通过 --webpack=vue 标志生成)。
我试图了解使用普通 Rails MVC 应用程序与 Rails API 应用程序(使用 --api 标志生成 Rails 应用程序)的优缺点。
$ rails new someapp --webpack=vue
vs.
$ rails new someapp --api --webpack=vue
鉴于 Rails API 自 2015 年以来已合并到核心中,并且通过 Webpacker gem 内置的 Webpack 是全新的(Rails 5.1,2017),构建 Rails 应用程序的最佳方式是什么,其中前端将是 Vuejs?或者,主要是 Vuejs?
坚持使用带有 Webpacker Vue 的常规 Rails,或带有 Webpacker Vue 的 Rails API?权衡取舍是什么?
部分答案将简单地归结为关于全栈 MVC 应用程序与带 API 的 SPA 应用程序的对话。但是,除了“这是一个全栈 MVC 应用程序与 SPA 应用程序的问题”之外,是否有任何我应该考虑的特定 Rails Way +Vue.js 组件工作流程。
我想指出的是,我意识到答案在某种程度上偏向于风格。有些人可能更喜欢其中之一。
两者都可以,但我想考虑易用性、兼容性以及以一种方式与另一种方式进行权衡。
谢谢。
最佳答案
要在 API --api
模式下使用 Rails,可以在此处找到相关的官方文档:
http://guides.rubyonrails.org/api_app.html
这会设置一个 JSON API,因此没有 View 层或任何中间件。
当使用命令 --webpack=vue
时,您会获得 View 层。在 GoRails 上可以找到一个很好的例子,说明如何使用它:
https://gorails.com/episodes/tagged/VueJS (将 VueJS 用于嵌套表单)
您会看到,像这样,您可以将多个 SPA 分布在您的 Rails View 目录中。
我个人会选择将两个代码库分开。这意味着 Rails 5 API,然后弄清楚 VueJS 如何与之通信,以便一切正常工作。
此处描述了如何设置经过良好测试的可靠 Rails 5 API:
http://aalvarez.me/blog/posts/testing-a-rails-api-with-rspec.html
同样出色且切中要点:
https://paweljw.github.io/2017/07/rails-5.1-api-with-vue.js-frontend-part-0-stack-choices/
请告诉我您的发现。
关于ruby-on-rails - Rails 5.1+ Vuejs Webpacker : Normal Rails MVC vs Rails API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45359493/