我正在使用Rails5.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应用程序的对话。但是,除了“这是一个全栈+Vue.js应用程序与SPA应用程序的问题”之外,有没有什么具体的Rails方式是我应该考虑的。
我想指出的是,我意识到答案将在某种程度上取决于风格偏好。有些人可能更喜欢其中的一个。
这两种方法都可以工作,但我想考虑一下易用性、兼容性和两者之间的权衡。
谢谢。
发布于 2017-09-01 18:21:38
关于在API --api模式下使用Rails,可以在这里找到官方文档:
http://guides.rubyonrails.org/api_app.html
这建立了一个JSON API,因此没有视图层或任何用于此的中间件。
当使用--webpack=vue命令时,你会得到视图层。您可以在GoRails上找到如何使用它的一个很好的示例:
https://gorails.com/episodes/tagged/VueJS (对嵌套表单使用VueJS )
您将看到,像这样,您可以在rails视图目录中展开多个SPA。
我个人会选择将这两个代码库分开。这将意味着一个Rails5API,然后弄清楚VueJS如何与它通信,以便一切正常工作。
下面描述了如何设置经过良好测试的solid 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/
请让我知道你的发现。
https://stackoverflow.com/questions/45359493
复制相似问题