Webpack not excluding node_modules
我正在将webpack用于要构建的Node框架(不过,坦白地说,我可能应该使用gulp)。 当我包含EJS模块时,即使我明确告诉它要排除node_modules目录,Webpack也会将其包含在已编译的源代码中。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | 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。 为什么忽略我的排除?
从您的配置文件中,似乎您只是将
为了从绑定中排除
因此,您的结果配置文件应如下所示:
1 2 3 4 5 6 7 8 | var nodeExternals = require('webpack-node-externals'); ... module.exports = { ... target: 'node', // in order to ignore built-in modules like path, fs, etc. externals: [nodeExternals()], // in order to ignore all modules in node_modules folder ... }; |
如果在使用TypeScript时遇到此问题,则可能需要在
尝试使用绝对路径:
1 | exclude:path.resolve(__dirname,"node_modules") |
请尝试以下解决方案:
1 | exclude:path.resolve(__dirname,"node_modules") |
这对我有用:
排除:[/ bower_components /,/ node_modules /]
模块加载器
一系列自动应用的加载程序。
每个项目都可以具有以下属性:
测试:必须满足的条件
排除:不得满足的条件
包括:必须满足的条件
loader:字符串"!"分开的装载机
装载程序:字符串形式的装载程序数组
条件可以是RegExp,绝对路径开始或其中之一与" and"组合的数组。
参见http://webpack.github.io/docs/configuration.html#module-loaders