【问题标题】:Webpack 3 Correct way of excluding a directory from bundleWebpack 3 从包中排除目录的正确方法
【发布时间】:2017-06-28 17:02:15
【问题描述】:

我正在寻找从 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 中的任何目录。还是我错过了什么?

【问题讨论】:

    标签: webpack


    【解决方案1】:

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

    使用此代码,我从位于 /src/server/* 的捆绑包中排除所有文件

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

    【讨论】:

      猜你喜欢
      • 2021-11-22
      • 1970-01-01
      • 2016-01-14
      • 2017-04-14
      • 2018-12-22
      • 1970-01-01
      • 1970-01-01
      • 2019-10-02
      • 2014-09-29
      相关资源
      最近更新 更多