在没有webpack(er)的情况下运行Rails6可能/可取吗



我正在启动一个新的Rails 6应用程序。如果我理解正确的话,Webpack(er((gem webpacker(已经取代Sprockets成为包含/缩小JS(源代码(的新标准。此外,Rails6现在同时需要Node.js和Yarn。

我认为Node.js和Yarn依赖关系只是由于包含了Webpack,或者Rails6的其他组件也需要它们,这是正确的吗?

从Rails 6应用程序中删除Webpack、Node和Yarn并继续使用Rails资产管道(除了缺少Webpack功能之外(是否有任何可能的缺点?

在没有webpacker-gem、Node.js和Yarn的情况下运行Rails 6是可能的(请参阅本期Rails文章(。

然而,Rails new--skip-webpack-install选项仍然在Gemfile中包括webpackergem,并使用webpacker配置设置生成的项目(只有rails webpacker:install未运行(。

如果要使用使用Sprockets的Rails资产管道,建议使用--skip-javascript选项,并且需要手动更改,特别是:

  • <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>添加到/app/views/layouts/application.html.erb
  • 创建/app/assets/javascripts/application.js(内容,例如此处(
  • //= link_directory ../javascripts .js添加到app/assets/config/manifest.js

是的,您可以从Gemfile中删除gems,删除创建的node_modules文件夹和package.json文件。

之后,运行捆绑包来清理Gemfile.lock,并使用普通视图和模板以旧的方式启动代码。提到,你将不得不添加像谷歌V8这样的js引擎。

事实上,运行rails 6应用程序不需要webpacker和node。

相关内容

最新更新