连接前端和后端 - Rails 和 Vue

Connecting Front End and Backend - Rails and Vue

我对此有点困惑。
如果在Rails,用erb文件我们可以构建页面布局,1)在什么情况下我们会使用webpacker来添加vue.

到目前为止我所了解的是 Vue 应用程序有时会向服务器发出请求来填充数据。 2) 这是唯一的用途还是其他用例?

另外 3) 最好是生成一个 vue 或 angular 应用程序作为独立的(像 vue create app 所以 vue 在前端文件夹中并且 rails 在后端文件夹中)或在 rails

中使用 webpacker

我会尽量一次回答你的三个问题,希望没问题!

您可以通过三种常用方法将 Vue.js(或任何 JavaScript)库集成到 Rails 应用程序中:

  • 可以通过内置的Rails资产打包库sprockets加载。如果您的应用程序主要是静态呈现而不是 SPA(单页应用程序),您会这样做。 Sprockets 与 Rails 紧密集成,允许您在 Rails 模板和代码中引用资产。然而,就任何复杂 JS 项目的实际 bundling/packaging、优化和易用性而言,Sprockets 远远落后于 Webpack。因此,如果您要向大部分为静态的网站添加少量交互性,您只会想这样做。
  • 可以通过Webpacker加载。 Webpacker 的想法是为您提供一种非常简单的方法来开始构建具有 rails 后端的 SPA。因此,您可以获得 Webpack 的所有好处,但不需要调整许多配置(在开始时),或设置单独的 Web 服务器,或担心 CORS。它非常适合在更大的静态网站中启动新的 project/prototyping 或逐步将 Vue.js 集成到更大的静态网站中。缺点是 Webpacker 使用 webpacker.yml 作为其默认配置,这会在您最终需要更复杂的配置时增加不必要的混淆。
  • 最后您可以通过单独的 Web 服务器(“独立”)加载它,并且在长期 运行 中,这将通过更少的 Webpacker 中间件和访问最新的方式为您提供最大程度的自由网络包版本。它还为您提供了扩展、保护和执行服务器端渲染等奇特功能的能力。缺点是这确实需要最前期的设置和长期的维护时间。据我所知,这是公司为 SPA 提供服务的最常见方式。