all*_*rry 8 ruby-on-rails single-page-application rails-api webpack vue.js
我正在构建单页(Web)应用程序.我对Rails v5.0非常感兴趣,特别是它的内置API功能.
在过去,我已经构建了JavaScript前端Vue.js,通常使用提供的模板Vue-CLI project.这允许Vue component-based基本上在任何地方部署静态站点.这很棒.
现在,Rails 5.1有一些内置的Webpack和Yarn功能看起来非常引人注目.我不知道如何继续我的新申请.
我的问题:
- 使用Rails v5.1中提供的Webpacker扩展,将Webpack和Vue集成到Rails中的优缺点是什么?我打算部署到Heroku.
- 另一方面,在后端使用Rails API-only模式的优缺点是什么,并将基于Vue/Webpack的前端保存在自己的目录中?我将所有内容保存在同一个存储库中,通过Heroku部署后端,并通过像Netlify这样的静态主机部署前端.
- 哪种方法会有更多的认知开销或技术复杂性?
在过去的几天里,我一直在四处寻找,而且我没有在网上找到关于此的简明信息.人们似乎对Rails开发环境的自动重新加载功能感兴趣,但我已经使用Vue-CLI免费获得了这些功能.
据我所知,这些是将它们分开的原因:
- 在任何地方部署前端都非常简单.
- Rails的Webpacker模式非常新,目前还没有很多教程或指南,特别是关于集成测试.将事物分开意味着我现有的测试设备仍应适用.
以下是将两个部分集成在一起的一些优点:
- 如果有必要,可以在前端使用静态资产,也可以在将来使用服务器生成的页面.
- 购买"Rails方式",Rails团队隐含的未来维护.
- JS Frontend不需要单独托管.
- 不需要担心CORS(?)
这两种方法还有哪些具体的好处?
小智 2
当我开始时,我采用了 webpacker 方式,不知何故,因为这就是它看起来“应该”的样子。正如你所说,指导很少。Webpacker(依赖于最新的节点)似乎是一个不断变化的目标,使得部署甚至开发变得更加复杂。为了什么好处我问并摆脱了它。
现在我使用来自 cdn 的vue 。好处:
我将应用程序代码写入 Rails 模板中。使用 haml,实际上是 ruby2js,但你可以使用 javascript 就可以了。我就是这样开始的,但我喜欢 ruby,而且 ruby 代码的大小几乎是生成的 js 的一半,但我偏离了轨道。
所以模板是你的“vue 注释”rails 模板。小代码也进入 Rails 模板。可以在资产中定义更多代码并从应用程序中引用。甚至可以使用 x-template 语法将组件写入模板。
最后但并非最不重要的一点是:数据可以通过 to_json 直接传输到模板中。并且在同一个渲染中。比附加查询快得多。当 to_json 不够时,可以使用 rabl 来准确获取所需的内容。
我希望我说清楚了。我正在写一些 vue-rails 的东西,因为能找到的东西太少了。请注意这里(帖子准备好后我会发表评论)
| 归档时间: |
|
| 查看次数: |
982 次 |
| 最近记录: |