从 Rails 中删除 Webpacker 6. 现在资产编译不起作用
Dropping Webpacker from Rails 6. Now asset compilation doesn't work
ruby '3.0.1'
'rails', '~> 6.1.2'
我正在从一个 rails 项目中删除 Webpacker。我假设它最初是使用 rails new
和 webpacker 标志创建的,但我不确定。到目前为止,我所做的只是删除 yarn、browersify、babel 等源文件,然后将我所有的 javascript 和样式表移动到 app/assets
和 app/vendor
.
我也将此添加到 application.html.erb
:
<%= stylesheet_link_tag "application", media: "all", "data-turbolinks-track" => "reload" %>
<%= javascript_include_tag "application", "data-turbolinks-track" => "reload" %>
有一段时间,一切正常。我正在纠正路径,修复小错误等等。然后在我重新启动服务器一次后,我得到了一个新的错误,现在我被卡住了。
Sprockets::Rails::Helper::AssetNotPrecompiled in Universes#index
Showing /var/app/app/views/layouts/application.html.erb where line #8 raised:
application.css
这是我目前所知道的:
- 我不使用 application.css。我有一个
app/assets/stylesheets/application.scss
代替。
- 如果我删除样式表
stylesheet_link_tag
调用,我会得到一个类似的 application.js
。
- 我确定我安装了 sass-rails gem,所以它应该使用 application.scss。
- 我以前从未使用过基础 rails 资产管道。只有 webpacker 的做事方式。所以我可以假设缺少非常基本的东西。
如有任何帮助,我们将不胜感激。谢谢。
对于 application.scss,您应该确保 sass-rails
gem 在您的 gem 文件中。
除此之外,也许还有一些帮助来自:https://guides.rubyonrails.org/asset_pipeline.html#in-development
Lam Phan 有我需要的东西。我的 assets/config/manifest.js
配置不正确。我将其恢复为:
//= link_tree ../images
//= link_directory ../javascripts .js
//= link_directory ../stylesheets .css
然后确保 application.scss
和 application.js
在这些路径上。在那之后一切都很容易。非常感谢您的宝贵时间。
ruby '3.0.1'
'rails', '~> 6.1.2'
我正在从一个 rails 项目中删除 Webpacker。我假设它最初是使用 rails new
和 webpacker 标志创建的,但我不确定。到目前为止,我所做的只是删除 yarn、browersify、babel 等源文件,然后将我所有的 javascript 和样式表移动到 app/assets
和 app/vendor
.
我也将此添加到 application.html.erb
:
<%= stylesheet_link_tag "application", media: "all", "data-turbolinks-track" => "reload" %>
<%= javascript_include_tag "application", "data-turbolinks-track" => "reload" %>
有一段时间,一切正常。我正在纠正路径,修复小错误等等。然后在我重新启动服务器一次后,我得到了一个新的错误,现在我被卡住了。
Sprockets::Rails::Helper::AssetNotPrecompiled in Universes#index
Showing /var/app/app/views/layouts/application.html.erb where line #8 raised:
application.css
这是我目前所知道的:
- 我不使用 application.css。我有一个
app/assets/stylesheets/application.scss
代替。 - 如果我删除样式表
stylesheet_link_tag
调用,我会得到一个类似的application.js
。 - 我确定我安装了 sass-rails gem,所以它应该使用 application.scss。
- 我以前从未使用过基础 rails 资产管道。只有 webpacker 的做事方式。所以我可以假设缺少非常基本的东西。
如有任何帮助,我们将不胜感激。谢谢。
对于 application.scss,您应该确保 sass-rails
gem 在您的 gem 文件中。
除此之外,也许还有一些帮助来自:https://guides.rubyonrails.org/asset_pipeline.html#in-development
Lam Phan 有我需要的东西。我的 assets/config/manifest.js
配置不正确。我将其恢复为:
//= link_tree ../images
//= link_directory ../javascripts .js
//= link_directory ../stylesheets .css
然后确保 application.scss
和 application.js
在这些路径上。在那之后一切都很容易。非常感谢您的宝贵时间。