10

我正在使用 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 组件工作流程。

我想指出,我意识到答案会有点风格偏好。有些人可能更喜欢其中之一。

两者都可以,但我想考虑一下易用性、兼容性和一种方式与另一种方式的权衡。

谢谢你。

4

1 回答 1

12

对于在 API 模式下使用 Rails,--api可以在此处找到有关它的官方文档:

http://guides.rubyonrails.org/api_app.html

这设置了一个 JSON API,因此没有视图层或任何中间件。

使用该命令时,--webpack=vue您会得到视图层。在 GoRails 可以找到一个很好的例子来说明如何使用它:

https://gorails.com/episodes/tagged/VueJS(将 VueJS 用于嵌套表单)

您将看到像这样您可以在您的 rails 视图目录中分布多个 SPA。

我个人会选择分离两个代码库。这意味着一个 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/

请让我知道你的发现。

于 2017-09-01T10:21:37.757 回答