Construction conditionnelle basée sur l'environnement à l'aide de Webpack

J'ai quelques choses pour le développement - e.g se moque de qui je tiens à ne pas encombrer mon distribué fichier build avec.

Dans RequireJS vous pouvez passer d'une config dans un fichier de plugin et conditonally besoin de choses dans sur cette base.

Pour webpack il ne semble pas être un moyen de le faire. D'abord afin de créer un moteur d'exécution de config pour un environnement j'ai utilisé résoudre.alias à peretochki un besoin en fonction de l'environnement, de l'e.g:

//All settings.
var all = {
    fish: 'salmon'
};

//`envsettings` is an alias resolved at build time.
module.exports = Object.assign(all, require('envsettings'));

Puis lors de la création de la webpack config je peut attribuer dynamiquement le fichier envsettings points (c'est à dire webpackConfig.resolve.alias.envsettings = './' + env).

Cependant, j'aimerais faire quelque chose comme:

if (settings.mock) {
    //Short-circuit ajax calls.
    //Require in all the mock modules.
}

Mais évidemment, je ne veux pas construire dans ces se moquer de fichiers si l'environnement n'est pas se moquer.

Je pourrais peut-être manuellement peretochki tous ceux qui nécessite un fichier stub à l'aide de résoudre.alias de nouveau - mais est-il une manière qui se sent moins hacky?

Des idées comment je peux faire? Merci.

  • Notez que pour l'instant j'ai utilisé un alias à point à vide (stub) sur les environnements que je ne veux pas (par exemple, require('se moque') pointe vers un fichier vide sur la non-maquette envs. Semble un peu hacky, mais il fonctionne.
InformationsquelleAutor Dominic | 2015-02-17