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

如何在imports-loader配置的test规则中添加多个模块并正常生效?

问题解决方法

错误原因

你当前配置的malihu-custom-scrollbar-plugin匹配规则没有限定文件类型,会命中该插件目录下的所有文件(包括你引入的.css样式文件),imports-loader仅用于处理JS模块,直接处理CSS文件就会抛出语法错误。

修正方案

1. 调整loader匹配规则,同时合并两个模块的配置

直接修改module.rules中的对应配置,通过正则同时匹配两个模块,且仅命中JS文件:

{
    test: /(jquery-mousewheel|malihu-custom-scrollbar-plugin).*\.js$/,
    use: [{
        loader: "imports-loader",
        options: {
            imports: {
                moduleName: "jquery",
                name: "$"
            },
            wrapper: "window",
            additionalCode: "var define = false;"
        }
    }]
}

2. 修正vendor.js中的变量赋值错误

你当前代码中window.jQuery = jQuery;直接引用了未定义的jQuery变量,需要修改为:

import $ from "jquery";
window.$ = $;
window.jQuery = $; // 修正这里,用已定义的$变量赋值

import "malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.css";

require("jquery-mousewheel")($);
require("malihu-custom-scrollbar-plugin")($);

改完之后重新启动webpack编译即可解决报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 18:39:02