webpack --watch n'est pas de compiler les fichiers modifiés
J'ai essayé de courir webpack --watch
et après le montage de mes fichiers JS, il ne donne pas lieu à une auto-recompilation.
J'ai essayé de réinstaller webpack
à l'aide de npm uninstall
mais ça ne marche toujours pas.
Des idées?
Vous devez vous connecter pour publier un commentaire.
Pour info: il semble OS X peut avoir un dossier corrompue et ne plus envoyer de
fsevents
(quiwatchpack
/chokidar
/Finder utilise) pour lui-même et de tous les dossiers enfants. Je ne peux pas être sûr que c'est ce qui vous est arrivé, mais c'était très frustrant pour moi et un collègue.Nous avons été en mesure de renommer la corruption de dossier parent, puis de regarder les événements immédiatement venu à travers comme prévu. Consultez cet article de blog pour plus d'info: http://feedback.livereload.com/knowledgebase/articles/86239-os-x-fsevents-bug-may-prevent-monitoring-of-certai
Les correctifs recommandés à partir du lien ci-dessus sont:
Deux premiers n'ont pas de travail pour nous, n'est-ce pas essayer le feu des Projecteurs de la suggestion, et de la re-création n'est pas nécessaire.
Nous avons été en mesure de trouver le problème à la racine du dossier par l'ouverture du Finder et de la création de fichiers dans chaque dossier parent jusqu'à ce que l'on a montré immédiatement (depuis le Finder obtiendrez arrosé par ce bug aussi). La racine du dossier qui n'a pas de mise à jour est le coupable. Nous venons de
mv
'd etmv
'd il à son nom d'origine, puis le guetteur travaillé.Aucune idée de quelles sont les causes de la corruption, mais je suis juste content d'avoir un correctif.
watchify
, aucune des étapes travaillé avec moi, donc j'ai utilisé le sondage arg. Beaucoup de gens passent le sondage arg à browserify au lieu de watchify. Mon code ressemble à ceci:watchify(browserify(config.src,{}), {poll:100});
npm install
ainsi que les noms de répertoire sont très intensifs opérations de la façon dont le client de synchronisation est mis en œuvre.webpack-dev-server
's watcher a unpoll
option qui devrait atténuer le problème, si c'est récurrent. Mon équipe a souvent la question à plusieurs reprises des cultures. Toujours pas sûr de ce qui en est la cause.touch
ing fichiers jusqu'à ce que j'en ai trouvé un qui fonctionne. Ensuite, j'ai su que c'était le dossier ci-dessous que l'on.mv
ing et puismv
ing retour travaillé. JE VOUS REMERCIE.Si votre code n'est pas d'être recompilé, essayez d'augmenter le nombre d'observateurs (sous Ubuntu):
Source: https://webpack.github.io/docs/troubleshooting.html
sudo sysctl -p
ne fonctionne pas sur Mavericks. Toutes les nouvelles idées?ModuleConcatenationPlugin
. En omettantModuleConcatenationPlugin
permet regarder pour continuer./etc/sysctl.conf
directement? Changer resp. settting que la clé-valeur? (Si vous ne pouvez pas trouver la commande pour appliquer ad-hoc (sysctl -p
), eh bien c'est un seul redémarrage de l'ordinateur, et vous devriez être bon...)sudo sysctl -a | grep max_user_watches
Ajoutant le code suivant à mon webpack fichier de configuration fixe le problème pour moi, espérons que cette aide.
N'oubliez pas de les ignorer votre dossier node_modules, comme ce serait tuer la performance pour l'HMR (Remplacement de Module à Chaud):
watch: true
pourrait fonctionner ainsi. L'interrogation est le contrôle continu de d'autres programmes ou dispositifs par un programme ou un périphérique de voir dans quel état ils sont, généralement pour voir si ils sont toujours connectés ou souhaitez communiquer. Le choix depoll: true
permet webpack de vérifier l'état de votre programme afin de voir si des changements ont été effectués, ou au moins que ce que je suppose qui se passe.poll
option est définie par watchpackJ'ai eu ce problème lorsque l'on travaille avec WebStorm.
Désactivation Paramètres -> Paramètres Système -> "sûr écrire" résolu pour moi.
La recommandation de le faire dans: WebPack Dépannage
Juste pour ajouter à des solutions possibles:
J'ai eu mon dossier de projet à l'intérieur d'un dossier Dropbox, sortir résolu le problème pour moi. (OS X)
Un problème est que si vos noms de chemin d'accès ne sont pas absolues alors des choses comme cela sera le cas. J'avais accidentellement mis
resolve.root
à./
au lieu de__dirname
et cela m'a fait perdre beaucoup de temps, de supprimer et de re-création de fichiers comme le gars au dessus de moi.Si l'évolution des fs.inotify.max_user_watches comme pointend par César ne fonctionne toujours pas, essayez d'utiliser d'interrogation à la place des autochtones par les observateurs de la création de votre script comme indiqué dans le docs ou de l'exécution webpack avec
--watch --watch-poll
options.Travail pour moi dans Laravel Homestead
Dossier de la casse a été mon problème. Mon code appelle à exiger() avait toutes les minuscules des noms de chemin d'accès, MAIS le fait répertoires avait une lettre majuscule en eux. J'ai renommé tous mes répertoires en minuscules et webpack regarder a travaillé instantanément.
Mises à jour: suppression de l'ensemble du répertoire et git clonage de nouveau de pensions résout mon problème.
Si vous utilisez Vim, vous devriez essayer de réglage backupcopy à oui, plutôt que la valeur par défaut auto. Sinon Vim va parfois renommer le fichier d'origine et en créer un nouveau, qui mess avec webpack montre:
https://github.com/webpack/webpack/issues/781
Juste ajouter ceci à votre vim paramètres si c'est le cas:
ensemble backupcopy=oui
Notez que si vous exécutez webpack à l'intérieur d'une machine virtuelle (Vagrant /Virtualbox) et que vous modifiez vos fichiers sur la plate-forme hôte, mises à jour de fichiers dans le dossier partagé peut ne pas déclencher inotify sur Ubuntu. Que va provoquer des changements pour ne pas être repris par webpack.
voir: Virtualbox ticket #10660
Dans mon cas, de modifier et d'enregistrer le fichier sur de l'invité (vi) ne déclenchent webpack. Montage sur l'ordinateur hôte (dans PhpStorm, le bloc-notes ou tout autre application) dit de ne PAS déclencher webpack ce que j'ai fait.
Je l'ai résolu en utilisant vagrant-fsnotify.
vagrant-notify-forwarder
pour plus de magie rechargerJ'ai eu le même problème sur un .vue de fichier.
Lorsque le serveur redémarré tout a bien fonctionné, mais sur le prochain enregistrement, il n'a pas recompilé plus.
La question a été sur le fichier d'importation chemin qui avait une lettre en majuscule. Il est très difficile de comprendre cette question, parce que tout fonctionne sur un redémarrage du serveur. Cochez la case de votre chemins.
Il n'était pas recompiler pour moi, mais ensuite j'ai réalisé que /rappeler que webpack regarde le graphe de dépendance et non pas seulement un dossier (ou les fichiers). Bien sûr que les fichiers que j'étais en train de changer, ne faisaient pas partie de ce graphe encore.
Pour moi, la création de dossiers et de fichiers dans VS Code a été la question. Pour corriger, j'ai re-cloné mon repo et cette fois, créé de nouveaux dossiers et fichiers par le biais de la ligne de commande au lieu de Code. Je pense que le Code était en train de corrompre les fichiers pour une raison quelconque. J'ai vu l'application juste mis à jour, donc c'est peut-être un nouveau bug.
La façon dont j'ai résolu le problème était de trouver une erreur de casse dans un chemin d'importation. Dossier sur le système de fichiers était plus faible de cas première lettre, chemin d'importation a été majuscules. Tout compilé amende, si ce n'était qu'un webpack de la montre incluent question.
J'ai le même problème. Et je remarque qu'il n'est pas de la compilation, car mon dossier contient certains caractères(*). Et l'aide de l'ancien observateur plugin semble résoudre le problème.
Ajoutez cette ligne à votre webpack fichier de config.
J'ai eu le même problème, ni webpack ou cumulatif dans la montre de mode de la vaisselle attraper les modifications que j'ai apportées. J'ai trouvé que c'était de ma faute, j'étais en train de changer de module (.tsx), ce qui n'était pas encore importé n'importe où dans l'application (par exemple Application.ts qui est le point d'entrée) et je m'attendais à construire des outils de rapport d'erreurs que j'ai faites là-bas.
Pour moi la suppression de
node_modules
et de faire npm install ou de la laine de nouveau pour installer tous les paquets résolu le problèmeÉgalement eu ce problème à l'intérieur d'une VirtualBox (5.2.18) Ubuntu (18.04) VM à l'aide de l'Errance (2.1.15) avec rsync de synchronisation. Soudain, premier build fonctionne très bien mais Webpack ne pas prendre les modifications en compte par la suite, même avec
fs.inotify.max_user_watches=524288
ensemble. L'ajout depoll: true
dans Webpack config n'a pas aider non plus.Seulement
vagrant-notify-forwarder
travaillé (vagrant-fsnotify n'a pas, pour une raison quelconque), mais alors la reconstruction qui s'est passé trop rapidement après l'enregistrement du fichier sur l'hôte, et je pense que rsync ne pas avoir assez de temps pour terminer sa tâche (peut-être en raison de la quantité de répertoires synchronisés à l'intérieur de mon Vagrantfile?).Finalement, j'ai pris la montre de travailler à nouveau en augmentant la proportion de la
aggregateTimeout
dans mon Webpack config:Si cette solution fonctionne pour vous, essayez de baisser cette valeur à nouveau, sinon vous devrez attendre 10 secondes jusqu'à ce que la construction redémarre à chaque fois que vous cliquez sur enregistrer. La valeur par défaut est 300 ms.
Une solution facile sur MacOS est le suivant :
Ouvrir deux fenêtres du terminal dans le répertoire de votre projet réside.
Dans la première fenêtre de terminal, exécutez : webpack --watch
Dans le deuxième terminal windows s'exécute : webpack-dev-serveur
J'ai essayé beaucoup de solutions possibles et de ce qui semble être la plus fiable
webpack --watch
compile le projet et enregistre les fichiers sur le disque, équivalent à l'exécution dewebpack
après chaque sauvegarde.webpack-dev-server
est un outil de développement qui compile à la mémoire et sert le contenu en tant que service sur http. En tout cas, votre suggestion n'est pas une solution, car les fichiers compilés ne sera pas écrit sur le disque tant quewebpack --watch
ne fonctionne pas comme annoncé..Solution Possible: changer contexte pour le répertoire app.
J'ai eu tous mes webpack fichiers de configuration dans un sous-dossier:
Dans
webpack/development.js
, ensemblecontext: path.join(__dirname, '../')
résolu mon problème.Après avoir essayé une poignée de stratégies pour la résolution de ce problème j'ai fini juste à renoncer, mais ensuite, pendant la résolution d'un autre problème, j'ai essayé de nouveau et tout d'un coup la
--watch
drapeau a été finalement de travail.Pour être honnête, je ne sais pas précisément ce qui fait le travail, mais après avoir effectué les étapes suivantes, il a juste commencé à travailler:
Il peut arriver que, lors de l'installation de ces paquets de certains dépendance viens d'ajouter la pièce manquante du puzzle, qui sait ...
Espère que cela aide quelqu'un en difficulté pour le faire fonctionner.
Je suis ajoutant une autre réponse car je crois que c'est la meilleure solution à ce jour.
Je l'utilise tous les jours et ça déchire!
Il suffit d'installer cette bibliothèque :
https://github.com/gajus/write-file-webpack-plugin
Description :
Les Forces de webpack-dev-programme serveur pour écrire bundle dans le système de fichiers.
Comment faire pour installer :
Essayez de changer
--watch
à-d --watch
a fonctionné pour moi
Si ce qui s'est passé tout à coup dans votre projet, alors que cela pourrait résoudre le problème.
Peut-être en quelque sorte les fichiers qui ont été suivi de votre projet de modifications qui webpack recherche est corrompue.
Vous pouvez les créer à nouveau simplement en suivant quelques étapes simples.
Cela a fonctionné pour moi............
Je suis tombé sur cette question quand j'ai eu un problème similaire-- il est apparu que webpack n'était pas rebundling, même lors de l'exécution de webpack --config.
J'ai même supprimé bundle.js et la page web affichant encore comme avant mes modifications.
Pour ceux d'entre vous qui obtiennent ce même problème, je l'ai enfin fait le "vider le cache et dur reload" option dans google chrome (à droite cliquez sur le bouton recharger avec les devtools ouvert) et qui n'a que le truc de
J'ai rencontré le même problème, essayé beaucoup de choses, enfin Chrome Effacer les Données de Navigation sur Mac a fonctionné pour moi.
Ces modules ont été installés:
"navigateur-sync": "^2.26.7",
"navigateur-sync-webpack-plugin": "^2.2.2",
"webpack": "^4.41.2",
"webpack-cli": "^3.3.9"
La chose est: webpack charges script à partir d'un étrange url: webpack:///qui est mis en cache.
Vous devez ajouter une version à la fin de votre script pour empêcher la mise en cache:
main-compiled.js?v=<?php echo time()?>"