我正在构建一个单页(Web)应用程序.我对Rails v5非常着迷.0,尤其是其内置的API功能.

过go ,我使用Vue.js构建JavaScript前端,通常使用Vue-CLI project提供的模板.这允许在任何地方部署Vue component-based个静态站点.太棒了.

现在,Rails 5.1有一些内置的网页包和Yarn 功能,看起来也很吸引人.我不知道如何处理我的新申请.

My questions:

  • 使用Rails v5中提供的Webpack扩展,将Webpack和Vue集成到Rails本身有哪些优点/缺点.1.我
  • 另一方面,在后端使用Rails API only模式,并基于Vue/Webpack进行维护,有哪些优点/缺点
  • 哪种方法会有更多的认知开销或技术复杂性?

在过go 的几天里,我一直在四处寻找,但我没有在网上找到多少关于这一点的简明信息.人们似乎对Rails开发环境的自动重新加载功能感兴趣,但我已经通过Vue CLI免费获得了这些功能.

据我所知,以下是将它们分开的原因:

  • 前端的部署在任何地方都非常简单.
  • Rails的Webpacker模式非常新,目前还没有很多教程或指南,尤其是关于集成测试的.保持

以下是将这两部分整合在一起的一些优点:

  • 在将来,前端和服务器生成的页面都可能使用静态assets资源 ,如果是这样的话
  • 购买"the Rails way",由Rails团队进行暗示的future 维护.
  • JS前端不需要单独托管.
  • 不用担心CORS(?)

这两种方法还有哪些具体好处?

推荐答案

当我开始的时候,我 Select 了webpacker的方式,因为这就是它"应该"的样子.正如你所说,指导很少.

现在我使用vue from the cdn.好处:

  • 缓存在用户附近
  • 几乎零安装
  • 易于开发/生产版本

我将应用程序代码写入rails模板.使用haml,实际上是ruby2js,但是你可以很好地使用javascript.我就是这样开始的,但我喜欢ruby,ruby代码的大小几乎是生成的js的一半,但我正在偏离正轨.

所以模板就是你的"vue annoted"rails模板.

最后但并非最不重要的一点是:数据可以通过传输到_json,直接传输到模板中.在同一个渲染中.比额外的查询快得多.当使用json还不够时,可以使用rabl获得所需的内容.

我希望我已经说清楚了.我正在写一些vue rails的东西,因为几乎找不到.注意here(我会在帖子准备好后发表 comments )

Vue.js相关问答推荐

为什么元素会从Vue 3中的TransitionGroup左上角出现?

有没有办法在 Quasar 中为明暗模式创建我自己的 colored颜色 ?

当用户在嵌套路由中时激活链接

Vue 3 / Vuetify 3:如何为按钮设置全局默认 colored颜色

如何在 vue2.7 中删除 slot-scope

如何使用 async/await 在 vue js 中添加标头

Nuxt3-Vue中的useRoute和useRouter有什么区别

vue.js 在 App.vue 中获取路由名称

如何在 vue 组件之外访问$apollo?

v-for 内部的组件

如何在 vue.js 2 的其他组件中调用方法?

在 vue.js 中获取当前时间和日期

如何为使用 Vuex store的 Vue 表单组件编写 Jest 单元测试?

如何在 vue 3 脚本设置中的组件上使用 v-model

Vue 3 组合 API,如何在 setup() 函数中获取上下文父属性?

从 vue.js 中的 store 获得的计算(computed)属性的设置器

在路由更改之前显示确认对话框

Vue.js webpack:如何获取目录中的文件列表?

使用 Vue.js 获取所有选中复选框的列表

使密码字符隐藏在 Vuetify 字段中