Javascript Rails Webpacker不再发出CSS

Javascript Rails Webpacker不再发出CSS,javascript,ruby-on-rails,webpack,css-loader,webpacker,Javascript,Ruby On Rails,Webpack,Css Loader,Webpacker,我将webpacker从4.0.0.pre.3升级到4.0.2,它似乎不再发出我的CSS。屏幕截图显示了右侧带有4.0.0.pre.3和4.0.2的emit日志 My App.jsx是我的入口点,它正在导入App.scss。我的babel.rc中有以下内容 config/webpack/environment.js: 我注释掉了minimize选项,因为它导致了新版本的崩溃,但我不认为这会导致我的CSS不能完全发出 config/webpack/development.js: 不确定这是否是一个

我将webpacker从4.0.0.pre.3升级到4.0.2,它似乎不再发出我的CSS。屏幕截图显示了右侧带有4.0.0.pre.3和4.0.2的emit日志

My App.jsx是我的入口点,它正在导入App.scss。我的babel.rc中有以下内容

config/webpack/environment.js:

我注释掉了minimize选项,因为它导致了新版本的崩溃,但我不认为这会导致我的CSS不能完全发出

config/webpack/development.js:


不确定这是否是一个确切的问题,但根据您的计划,除了其他更改之外,您还打算用babel.config.js替换.babelrc文件

然而,我也在升级到4.x,即使在完成了该指南中描述的所有步骤之后,仍然没有得到CSS发射。如果你设法解决了这个问题,请返回分享如何解决

编辑:

我的同事刚刚告诉我,我们的Rails+Webpacker代码库中的CSS文件,至少现在需要是filename.module.CSS,当然需要更新导入语句以匹配


希望这能帮助别人

不确定这是否是一个确切的问题,但根据您的计划,除了其他更改之外,您还打算用babel.config.js替换.babelrc文件

然而,我也在升级到4.x,即使在完成了该指南中描述的所有步骤之后,仍然没有得到CSS发射。如果你设法解决了这个问题,请返回分享如何解决

编辑:

我的同事刚刚告诉我,我们的Rails+Webpacker代码库中的CSS文件,至少现在需要是filename.module.CSS,当然需要更新导入语句以匹配


希望这能帮助别人

不确定为什么Webpacker 4+不发出CSS文件,但您可以通过更新config/Webpacker.yml设置extract_CSS为true中的第20行来发出CSS文件


不确定为什么Webpacker 4+不发出CSS文件,但您可以通过将config/Webpacker.yml设置extract_CSS中的第20行更新为true来发出它们


将extract_css设置为true似乎不再起任何作用,或者至少在导出中看不到任何效果。所有CSS文件都保持相同的哈希值,即使在对其进行更改之后也是如此。将extract_CSS设置为true似乎不再起任何作用,或者至少在导出中看不到任何效果。所有CSS文件都保持相同的哈希值,即使在对其进行更改之后也是如此。
{
  presets: [
    '@babel/preset-react',
    ['@babel/preset-env', {
      targets: "last 2 versions"
    }]
  ],
  plugins: [
    '@babel/plugin-proposal-class-properties',
    '@babel/plugin-proposal-export-default-from',
    ['react-css-modules', {
      'filetypes': {
        '.scss': {
          'syntax': 'postcss-scss'
        }
      },
      'generateScopedName': '[name]__[local]--[hash:base64:5]'
    }]
  ]
}
const { environment } = require('@rails/webpacker')
const merge = require('webpack-merge')

const customCssLoaderOptions = {
  localIdentName: '[name]__[local]--[hash:base64:5]',
  // minimize: environment.NODE_ENV === 'production',
  modules: true
}

const CSSLoader = environment.loaders.get('sass').use.find(el => el.loader === 'css-loader')

CSSLoader.options = merge(CSSLoader.options, customCssLoaderOptions)

environment.config.set('entry.App', './app/javascript/packs/App.jsx')

module.exports = environment
const environment = require('./environment')

module.exports = environment.toWebpackConfig()
 19 # Extract and emit a css file
 20 extract_css: true