如何从Webpack捆绑目录中排除目录?

New*_*sts 7 javascript npm webpack

预期:

当我使用webpack进行构建时,根据我的Webpack.config.js设置,除了./src/Portfolio目录中的文件之外,所有我的JS文件都被捆绑了。

实际:

Webpack捆绑了所有文件,包括目录中的文件,尽管我在webpack.config.js中提供了设置和其他变体。

码:

Webpack.config.js

const path = require('path');

module.exports = {
  entry: './src/index.js',
  devtool: 'source-map',
  mode: 'development',
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: [
          path.resolve(__dirname, './src/Portfolio/')
        ]
      }
    ]
  },
  output: {
    filename: 'main.js',
    path: path.resolve(__dirname, 'dist')
  }
};
Run Code Online (Sandbox Code Playgroud)

输出:

在此处输入图片说明

我如何成功排除./src/Portfolio目录及其内容?

Chr*_*kes 20

根据您的文件夹结构,看起来您没有为其提供正确的目录位置以排除。我认为这样的事情应该可行,但如果不行,请分享您的文件夹结构。

const path = require('path');

module.exports = {
  entry: './src/index.js',
  devtool: 'source-map',
  mode: 'development',
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: [
          './src/Portfolio/'
        ]
      }
    ]
  },
  output: {
    filename: 'main.js',
    path: path.resolve(__dirname, 'dist')
  }
};
Run Code Online (Sandbox Code Playgroud)

  • 奇怪的是它起作用了!谢谢老兄!我们也是你的忠实粉丝克里斯,多年来一直在观看,请随时过来加入我们的 Youtube 开发者社区 https://discord.gg/gE5kZx 你会立即成为 VIP 干杯 (2认同)
  • @Anupam Maurya,我认为您必须使用 RegEx 而不是字符串数组。这是有效的排除:[/node_modules/, /images/, /content/] (2认同)

Pet*_*man 11

我知道操作正在使用 javascript,仅供参考,使用带有 webpack 的 typescript 可能会出现类似的问题。

在这种情况下,可以将排除的目录添加到tsconfig.json而不是webpack.config.js,

//tsconfig.json

{
    "compilerOptions": {
        ...
    },
    "exclude": [
        "./src/Portfolio/",
    ]
}
Run Code Online (Sandbox Code Playgroud)