Webpacker 在 *Rails 6* 应用程序的 manifest.json 中找不到 application.css

Siv*_*esh 5 ruby-on-rails webpacker ruby-on-rails-6

目前,我们的应用程序使用 Rails 6。它在生产中运行良好,但在开发模式下会引发一些错误。请帮助我。

这就是我的 application.js 和 application.css 的样子

包/application.js

require("@rails/ujs").start()
require("turbolinks").start()
require("@rails/activestorage").start()
require("channels")
require("jquery")

import '../stylesheets/application'
import './bootstrap_custom.js'
import './side_menu.js.erb'
//import './sweetalert.js'
import './business_hours.js'
import './admin.js'
import './services.js'
import './user_service.js' 
Run Code Online (Sandbox Code Playgroud)

包/样式表/application.scss

@import './bootstrap_custom.scss';

$fa-font-path: '~@fortawesome/fontawesome-free/webfonts'; 
@import '~@fortawesome/fontawesome-free/scss/fontawesome';
@import '~@fortawesome/fontawesome-free/scss/solid';
@import './admin_dashboard.scss';
@import './side_menu.css';
@import './fonts.scss'; 
@import './login.css';
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

Siv*_*esh 5

经过长时间的斗争,我找到了解决方案。谢谢@ahmed kamal。

多个名称相同但扩展名不同的包。

即: application.scss 和 application.js 只有最后一个才会进入 webpack 入口路径配置。

解决方案:

 1. Rename stylesheets/application.scss into stylesheets/style.scss
 2. Import style.scss in application.js like this import '../stylesheets/style'
 3. config/webpacker.yml make below changes
      compile: true
      cache_manifest: true
      extract_css: true
Run Code Online (Sandbox Code Playgroud)

如果此解决方案不适合您,请尝试

rake assets:precompile
Run Code Online (Sandbox Code Playgroud)

这就是所有它开始对我工作正常

  • application.js 和 application.css 不是名称冲突,并且 `cache_manifest: true` 不是修复的一部分。 (2认同)