Exclure un module de webpack bundle
J'aimerais la même fonctionnalité comme RequireJS empty:
http://requirejs.org/docs/optimization.html#empty
Mon cas d'utilisation, c'est que je comprennent jquery-migrate
dans le développement, mais je tiens à exclure lors de la construction pour la production.
À l'aide de IgnorePlugin
il fait juste pas inclus, et quand require
ing dans le code, il jette alors un message d'erreur (Uncaught Error: Cannot find module "jquery-migrate"
).
Ce que j'aimerais arriver, c'est de simplement retourner indéfini, ou quelque chose du genre (comme empty:
dans RequireJS). Id tiens à ne pas toucher à l'importation dans le code, il suffit de le configurer pour revenir undefined
.
EDIT: à l'Aide de NormalModuleReplacementPlugin
fonctionne, si je le remplacement d'un fichier vide. Mais en gardant un fichier vide autour juste pour ce me semble inutile.
OriginalL'auteur SimenB | 2015-04-22
Vous devez vous connecter pour publier un commentaire.
- Je utiliser le null-chargeur pour masquage des modules.
Le noop-chargeur peut être utilisé pour un moins difficile si-sinon dans le fichier config.
Essayer:
import foo fro 'excluded-module'
en haut de mon code avec pas drôleif (DEV)
wrapper. Imaginezrequire('excluded-module')
fonctionne tout aussi bien.Note à d'autres débutants, ces chargeurs ne sont pas inclus dans webpack:
npm install --save-dev null-loader && npm install --save-dev noop-loader
Note2 - ajout de
-loader
à la fin du nom de chargeuse. par exemple,null-loader
...Est-il un moyen sans les modules? J'ai juste essayé de
loader: () => {}
et je reçois toujours un ne peut pas résoudre l'erreur.OriginalL'auteur igl
Vous pouvez essayer de faire un résoudre.alias dans webpack.config:
NormalModuleReplacementPlugin
, bien 🙂i-D-vide-module
OriginalL'auteur Peter Kese
Utilisation Webpack est
DefinePlugin
en combinaison avec la production normale des plugins (suppression des doublons et Uglify).Ensuite dans votre code, vous pouvez écrire:
Et quand il est intégré dans la production, la
DEBUG
sera remplacé par un littéralif(false) { ... }
qui sera complètement supprimé par le uglify plug-in, donctest
ne sera nécessaire que dans une version de débogage.Voici un exemple de tâche Grunt config pour
grunt-webpack
qui adevelopment
etproduction
objectifs de la tâche:Vrai. Cela ne fonctionne pas proprement pour AMD mais, au moins, répertoriés dans l'original
define
appel. À l'aide d'un alias est exactement commeempty:
, sauf que j'ai créer leempty
module de moi-même.OriginalL'auteur Jonathan Dumaine