Laravel Mix - 自动加载名称中带有特殊字符的模块(例如 tippy.js 或 slick-carousel)

Laravel Mix - Autoload modules with special characters in their name (eg. tippy.js or slick-carousel)

有什么方法可以自动加载其中包含特殊字符的包吗?

我想使用 laravel mix 提取 npm 包,并为模块设置一个全局变量。当我使用其中包含特殊字符的模块时,mix.autoload() 失败。我在下面发布了示例代码以供参考。

mix.autoload({
        jquery: ['$', 'window.jQuery', 'jQuery'],        
        'tippy.js': ['tippy', 'window.tippy'],
        'slick-carousel': ['slick', 'window.slick'],
        'bootstrap-select': ['bootstrap-select'],
    }) 
   .extract(['jquery', 'slick-carousel', 'bootstrap-select', 'tippy.js']);

我能够使用 Laravel Mix 的别名功能解决问题。

mix.webpackConfig({
    resolve: {
        modules: [
            'node_modules'
        ],
        alias: {
            slick: 'slick-carousel/slick/slick.js',
            tippy: 'tippy.js/dist/tippy.cjs.js',                
        }
    }
});

mix.autoload({
        jquery: ['$', 'window.jQuery', 'jQuery'],
        clipboard: ['ClipboardJS', 'window.ClipboardJS'],
        tippy: ['tippy', 'window.tippy'],
        slick: ['slick', 'window.slick'],        
    });