仅将webpack加载程序应用于特定条目包

问题描述 投票:2回答:1

是否可能仅将特定的加载程序应用于特定条目束中的模块

我的webpack.config.js

module.exports = {
  entry: {
    bundle: path.resolve(cwd, 'src', 'index.ts'),
    tests =[...glob.sync('**/*.spec.ts')],
    polyfills: ['polyfill1', 'polyfill2'],
  },
  output: {
    library: pkg.name,
    libraryTarget: 'umd',
    filename: '[name].js',
    umdNamedDefine: true,
    path: path.resolve(cwd, 'build'),
  },
  resolve: {
    extensions: ['.ts', '.tsx', '.js', 'mjs']
  },
  module: {
    rules: [{
      test: /\.(t|j)s/, // this loader should only be used for every file that is bundled in entrypoint 'tests'
      loader: 'babel-loader',
      options: {
        ...options
      }
    },
    {
      test: /\.(t|j)s/, // this loader should only be used for every file that is bundled in entrypoint 'bundle'
      loader: 'babel-loader',
      options: {
        ...options
      }
    }
    ]
  }
}

我只想为特定条目捆绑包中的文件运行特定的加载器,在webpack文档中,我没有找到有关如何查询使用文件的捆绑包名称的任何线索,我只能访问文件名文件。

webpack bundle config code-splitting
1个回答
0
投票

看来您可以在入口点中使用内联加载器语法来完成这项工作(在Webpack 4.42.1中进行了测试)

以下webpack.config.js将对raw-loader入口点将script.js应用于script_raw,但不适用于script_plain入口点。

var path = require('path');

module.exports = {
  mode: 'development',
  entry: {
      'script_raw': 'raw-loader!./script.js',
      'script_plain': './script.js',
  },
  output: {
    path: '/app/out',
    filename: '[name].js'
  }
};

您可以使用查询字符串(?name=value)语法传递不同的选项

© www.soinside.com 2019 - 2024. All rights reserved.