Webpack不排除node_modules

JavaScript Webpack

达蒙

2020-03-23

我正在将webpack用于要构建的Node框架(尽管我应该应该使用gulp)。当我包含EJS模块时,即使我明确告诉它要排除node_modules目录,webpack也会将其包含在已编译的源代码中。

module.exports = {
    context: __dirname,
    target: 'node',
    // ...
    output: {
        libraryTarget: 'commonjs'
        // ...
    },
    module: {
        loaders: [
            {
                test: /\.js$/,
                exclude: /node_modules/,
                loader: 'babel-loader?{ "stage": 0, "optional": ["runtime"] }'
            }
        ]
    }
};

如您所见,我对JS文件进行了测试,并告诉它排除了node_modules。为什么忽略我的排除?

第2845篇《Webpack不排除node_modules》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

3个回答
JinJin神奇 2020.03.23

如果您在使用时 TypeScript跑进这个问题,你可能需要添加skipLibCheck: true在你的tsconfig.json文件中。

A樱 2020.03.23

尝试使用绝对路径:

exclude:path.resolve(__dirname, "node_modules")
番长 2020.03.23

这为我工作:

排除:[/ bower_components /,/ node_modules /]

模块加载器

一系列自动应用的加载程序。

每个项目都可以具有以下属性:

测试:必须满足的条件

排除:不得满足的条件

包括:必须满足的条件

loader:字符串“!” 分开的装载机

装载程序:字符串形式的装载程序数组

条件可以是RegExp,绝对路径开始或其中之一与“ and”组合的数组。

参见http://webpack.github.io/docs/configuration.html#module-loaders

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android