微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从 Rails 6 中删除 Webpacker现在资产编译不起作用

如何解决从 Rails 6 中删除 Webpacker现在资产编译不起作用

ruby '3.0.1' 'rails','~> 6.1.2'

我正在从 rails 项目中删除 Webpacker。我假设它最初是使用 rails new 和 webpacker 标志创建的,但我不确定。到目前为止,我所做的只是删除了 yarn、browsify、babel 等源文件,然后将我所有的 javascript 和样式表移至 app/assetsapp/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,您应该确保您的 gemfile 中有 sass-rails 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.scssapplication.js 在这些路径上。之后一切就轻松了。非常感谢您抽出宝贵时间。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。