我正在寻找从webpack包中排除特定文件夹的正确方法。
我的配置如下:
const path = require('path');
const config = {
entry: [
'./client',
],
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'bundle.js',
},
devtool: 'source-map',
resolve: {
extensions: ['.js', '.jsx'],
},
module: {
rules: [
{
test: /./,
exclude: /src/,
},
],
},
plugins: [],
};
module.exports = config;
根据我的理解,这个配置应该排除/ src /目录,而是webpack继续从这个目录向bundle添加文件,因为测试将匹配 any 并且exclude会影响src中的任何一个目录。或者我错过了什么?
答案 0 :(得分:1)
这就是我解决它的方式(如果其他人有同样的问题)
使用此代码,我从bundle中排除所有位于/ src / server / *
中的文件 externals: [
function excludeDir(context, request, callback) {
if (/.src\/server./.test(path.resolve(context, request))) {
return callback(null, 'commonjs');
}
return callback();
},
],