首页 > 解决方案 > Webpack:设置用于加载器的默认选项

问题描述

我想使用 require 语法用某个加载器加载加载依赖项

const some = require('some-loader!./my-module')

这个加载器有选项,但我想在配置中设置它们,而不是在 require 语句中的内联

require('some-loader?option=1&option=2!./my-module') // don't want to do this

我想将 rule 与 empty 一起使用test/include,但它似乎不起作用,它正在尝试使用此规则加载所有内容。所以我需要设置选项,然后每次在 require 语句中使用 loader 时,它都会使用这些选项。

实际任务是为不同的构建配置使用不同的选项。所以代码(要求)应该保持不变,但用于加载的选项不同。

有可能做到吗?

标签: webpack

解决方案


如果代码应该保持不变,你为什么要使用这些加载器内联?

在你的webpack.config.js你可以有:

const loadersConfig1 = require('./webpack.loaders.config1');
const loadersConfig2 = require('./webpack.loaders.config1');
const loadersConfig3 = require('./webpack.loaders.config1');

const generalConfig = require('./webpack.general.config');

module.exports = function () {
    let loadersConfig;

    switch(ENV.buildConfig) {
       case 1:
          loadersConfig = loadersConfig1; 
          break;
       case 2:
          loadersConfig = loadersConfig1; 
          break;
       case 3:
          loadersConfig = loadersConfig1;
          break;
    }
   
    return merge(general, loadersConfig)
}


推荐阅读