You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Webpack内联加载器语法:如何传递布尔类型选项?

问题解析与解决方案

你的推测完全正确:webpack对inline loader的URL风格参数不会做类型转换,所有通过key=value形式传递的参数都会被解析为字符串类型。

比如你写的esModule=true,实际传递给style-loader的是字符串"true",而不是布尔值true,这就触发了style-loader的schema校验错误——它要求esModule必须是布尔类型,哪怕你传1或"yes",最终都是字符串,自然不满足要求。

解决办法

  • 继续使用对象语法传递参数(即你已验证可行的写法):
    import styles from '!style-loader?{"esModule":true}!css-loader!./style.css';
    
  • 或者在webpack配置文件中全局配置style-loader的esModule选项,避免在inline中重复编写参数:
    module.exports = {
      module: {
        rules: [
          {
            test: /\.css$/,
            use: [
              {
                loader: 'style-loader',
                options: {
                  esModule: true
                }
              },
              'css-loader'
            ]
          }
        ]
      }
    };
    

内容的提问来源于stack exchange,提问作者gremo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 23:40:19