Webpack 3从捆绑包中排除目录的正确方法

Webpack 3从捆绑包中排除目录的正确方法,webpack,Webpack,我正在寻找从webpack捆绑包中排除特定文件夹的正确方法 我的配置如下所示: const path = require('path'); const config = { entry: [ './client', ], output: { path: path.resolve(__dirname, 'dist'), filename: 'bundle.js', }, devtool: 'source-map', resolve: { e

我正在寻找从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一直在从该目录向捆绑包添加文件,因为测试将匹配any,排除将影响src目录中的any。还是我遗漏了什么?

这就是我解决问题的方法(如果其他人也有同样的问题)

通过这段代码,我从包中排除了位于/src/server中的所有文件/*

  externals: [
    function excludeDir(context, request, callback) {
      if (/.src\/server./.test(path.resolve(context, request))) {
        return callback(null, 'commonjs');
      }
      return callback();
    },
  ],