【问题标题】:Rails 5.1+ Vuejs Webpacker: Normal Rails MVC vs Rails APIRails 5.1+ Vuejs Webpacker:普通 Rails MVC 与 Rails API
【发布时间】:2018-01-03 16:43:42
【问题描述】:

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

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

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

谢谢。

【问题讨论】:

    标签: ruby-on-rails api vue.js vuejs2 webpacker


    【解决方案1】:

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

    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-12-15
      • 1970-01-01
      • 2018-01-20
      • 2017-07-24
      • 2017-10-12
      • 1970-01-01
      • 2020-01-03
      • 1970-01-01
      • 2017-10-10
      相关资源
      最近更新 更多