У меня есть кое-что для разработки - например, моки, которыми я не хотел бы загромождать свой файл распределенной сборки.
В RequireJS вы можете передать конфигурацию в файле плагина и условно потребовать что-то в зависимости от этого.
Для webpack, похоже, нет способа сделать это. Во-первых, чтобы создать конфигурацию времени выполнения для среды, я использовал resolve.alias, чтобы повторно указать требование в зависимости от среды, например:
// All settings.
var all = {
fish: 'salmon'
};
// `envsettings` is an alias resolved at build time.
module.exports = Object.assign(all, require('envsettings'));
Затем при создании конфигурации веб-пакета я могу динамически назначать, на какой файл envsettings
указывает (т.е. webpackConfig.resolve.alias.envsettings = './' + env
).
Однако я бы хотел сделать что-то вроде:
if (settings.mock) {
// Short-circuit ajax calls.
// Require in all the mock modules.
}
Но, очевидно, я не хочу встраивать эти фиктивные файлы, если среда не является фиктивной.
Я мог бы вручную перенаправить все эти требования в файл-заглушку, снова используя resolve.alias, но есть ли способ, который кажется менее хакерским?
Есть идеи, как я могу это сделать? Спасибо.