Добавить опции к существующему правилу в режиме полного контроля в веб-пакете Storybook - PullRequest
0 голосов
/ 24 сентября 2018

Я написал этот .storybook/webpack.config.js файл, используя полный контроль + настройки по умолчанию режим:

module.exports = (baseConfig, env, defaultConfig) => {

  defaultConfig.module.rules.push({
    test: /\.svg$/,
    loader: 'svg-url-loader',
    options: { noquotes: true }
  });

  return defaultConfig;
}

Это сломало мой вывод, потому что уже есть стандартное тестирование для /\.svg$/, поэтому svg-url-loader был применен дважды.

Я закончил тем, что написал это:

module.exports = (baseConfig, env, defaultConfig) => {

  // Find the existing svg rule:
  const svgRuleIndex = defaultConfig.module.rules.findIndex(rule => rule.test.toString() === /\.svg$/.toString());

  // Add the noquotes option to it:
  defaultConfig.module.rules[svgRuleIndex].options = { noquotes: true };

  return defaultConfig;
}

Что-то вроде хака.

Есть лилучший способ добавить options к существующему правилу?

...