css - Webpack css 模块只随机化解构导入中的类名

标签 css webpack css-modules

我正在使用 css modules + scss 和这样的 webpack 配置(只添加了加载程序部分,其余部分非常标准):

module.exports = {
  module: {
    loaders: [
      {
        test: /\.(scss|css)$/,
        loader: ExtractTextPlugin.extract({
          fallback: 'style-loader',
          use: 'css-loader?modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]!postcss-loader!sass-loader',
        }),
      }
    ]
  }
}

所以当我从 style.scss 导入类时:

.someClass {
  color: red;
}

像这样:

import { someClass } from './style.scss'

我最终会得到这样的类名:

<div class="style__someClass___2njNO">...</div>

这对于本地样式非常有用,但不适用于依赖于确切类名的内容。

有没有办法以某种方式区分解构的导入(如上)和这样的导入:

import 'somemodule/somestyle.css'

这样后面的类名就不会被修改了?

我对任何解决方法感兴趣!

最佳答案

听起来加载器中的 exclude 可以解决问题。

module.exports = {
  module: {
    loaders: [
      {
        test: /\.(scss|css)$/,
        loader: ExtractTextPlugin.extract({
          fallback: 'style-loader',
          use: 'css-loader?modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]!postcss-loader!sass-loader',
        }),
        exclude: /your-package-name/
      }
    ]
  }
}

关于css - Webpack css 模块只随机化解构导入中的类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46448933/

相关文章:

html - div 内的 h1 标签影响所有

javascript - 将 jQuery 与 Webpack 结合使用

sass - Webpack 别名不适用于 sass "composes"导入

css - 如何使用 js css-modules 引用多个选择器(本地和全局的混合)?

reactjs - css-loader 在导入 css 文件时返回未定义

python - Jupyter Lab 中的自定义样式

php - 使用 PHP 如何找到 CSS 标签/id/类并替换大括号内的样式?

php - 使用 PHP 获取浏览器窗口大小/分辨率

vue.js - 使用 Vue Web 组件访问 Webpack 外部库

angular - angular2 项目中的类型是什么?