从node_modules中排除软件包

时间:2019-11-25 09:35:33

标签: javascript reactjs webpack node-modules

我想从节点模块中排除3个软件包。目前我正在这样做

const jsRules = {
  test: /\.js$/,
  exclude: /node_modules\/(?!(some-package|engine.io-client|socket.io-client)\/).*/,
  use: {
    loader: 'babel-loader'
  }
};

但是它们并没有被排除在外。

如果我排除了整个node_modules,然后包括所需的node_modules(如下面的代码所示),则说明它正常工作。

const jsRules = {
  test: /\.js$/,
  exclude: /node_modules/,
  use: {
    loader: 'babel-loader'
  }
};

const jsRulesNodeModules = {
  test: /\.js$/,
  include: [
    /node_modules\/some-package/,
    /node_modules\/engine.io-client/,
    /node_modules\/socket.io-client/
  ],
  use: {
    loader: 'babel-loader'
  }
};

有人可以帮助将这三个软件包排除在node_modules中作为第一种情况本身(不使用第二种情况下的两个规则)

1 个答案:

答案 0 :(得分:0)

尝试排除webpack docs中所述的类似内容

 exclude: [path.resolve(__dirname, "node_modules/lib1"),...other excluded libraries]