【问题标题】:Module parse failed error for css loadercss 加载器的模块解析失败错误
【发布时间】:2018-06-24 06:23:54
【问题描述】:

我正在尝试在我的组件 .js 文件中加载一个 css 文件,但这样做时我收到此错误:

./stories/styles.css 中的错误 模块解析失败:意外令牌 (1:0) 您可能需要适当的加载程序来处理此文件类型。

我在 webpack.config.js 文件中添加了以下规则来处理加载程序,但仍然出现错误。

rules: [
      {
        test: /\.s?css$/,
        use: ['style-loader', 'raw-loader', 'sass-loader', 'css-loader'],
        include: [
          path.resolve(__dirname, '../css/'),
        ],
      },

我的 styles.css 文件如下所示:

.row {
    display: flex;
    flex-direction: row;
    width: 100%;
}

.row.dark {
    background: #303030;
}

.col {
    width: calc(100% - 400px);
    padding: 15px;
}

.row > .col:first-child {
    border-right: 1px solid #ccc;
    max-width: 400px;
}

我需要添加任何其他加载器吗? 我什至尝试使用 import 而不是 require 来获取 styles.css 文件,但没有任何区别。

【问题讨论】:

    标签: css reactjs webpack


    【解决方案1】:

    Webpack 加载器从右到左处理,您需要将配置更改为:

    rules: [
          {
            test: /\.scss$/,
            use: ['style-loader', 'raw-loader', 'css-loader', 'sass-loader'],
            include: [
              path.resolve(__dirname, '../css/'),
            ],
          },
    
    • 我也不确定raw-loader 的用途在这里,因为它用于将文件作为字符串加载 - 你可能不需要它

    【讨论】:

    • 我确实尝试了您建议的更改,但没有奏效。我仍然遇到同样的错误。
    • 我还将测试更改为 /\.scss$/,您需要将文件重命名为具有 .scss 扩展名,但任何 css 都应该是有效的 sass。你也试过删除raw-loader吗?
    • 所以问题出在我为 css 文件提供的路径中。因此,在按照您的建议重新安排装载机并更改其工作路径之后。谢谢:)
    • 好的,很高兴你把它整理好了……;)
    猜你喜欢
    • 2020-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 2021-09-02
    • 2019-11-04
    • 2018-05-15
    相关资源
    最近更新 更多