Intenté ejecutarlo webpack --watch
y después de editar mis archivos JS, no activa una recompilación automática.
Intenté reinstalar webpack
usando npm uninstall
pero todavía no funciona.
¿Algunas ideas?
fuente
Intenté ejecutarlo webpack --watch
y después de editar mis archivos JS, no activa una recompilación automática.
Intenté reinstalar webpack
usando npm uninstall
pero todavía no funciona.
¿Algunas ideas?
FYI: parece que OS X puede tener una carpeta dañada y ya no enviar fsevents
(que watchpack
/chokidar
/ Finder usa) para sí mismo y las carpetas secundarias. No puedo estar seguro de que esto sea lo que te pasó, pero fue muy frustrante para mí y para un colega.
Pudimos cambiar el nombre de la carpeta principal corrupta y luego ver los eventos que se produjeron inmediatamente como se esperaba. Consulte esta publicación de blog para obtener más información: http://feedback.livereload.com/knowledgebase/articles/86239-os-x-fsevents-bug-may-prevent-monitoring-of-certai
Las correcciones recomendadas del enlace anterior son:
Los dos primeros no funcionaron para nosotros, no probaron la sugerencia de Spotlight y la recreación no resultó necesaria.
Pudimos encontrar la carpeta raíz del problema abriendo Finder y creando archivos en cada carpeta principal sucesiva hasta que apareció una de inmediato (ya que Finder también se verá afectado por este error). La carpeta más raíz que no se actualiza es la culpable. Simplemente lo hicimos mv
y mv
lo devolvimos a su nombre original, y luego el observador trabajó.
No tengo idea de qué causa la corrupción, pero me alegra tener una solución.
watchify
, ninguno de los pasos funcionó conmigo, así que terminé usando poll arg. Mucha gente está pasando el argumento de la encuesta para navegar en lugar de mirar. Mi código se ve así:watchify(browserify(config.src,{}), {poll:100});
npm install
como el cambio de nombre de un directorio son operaciones muy intensivas en la forma en que se implementa el cliente de sincronización.Si su código no se vuelve a compilar, intente aumentar la cantidad de observadores (en Ubuntu):
Fuente: https://webpack.github.io/docs/troubleshooting.html
fuente
sudo sysctl -p
no funciona en Mavericks. ¿Alguna idea nueva?ModuleConcatenationPlugin
. OmitirModuleConcatenationPlugin
permite que la observación continúe./etc/sysctl.conf
directamente? Cambiar resp. establecer ese valor-clave? (Si no puede encontrar el comando para aplicar ad-hoc (sysctl -p
), entonces es un reinicio único, y debería estar bien ...)sudo sysctl -a | grep max_user_watches
Agregar el siguiente código a mi archivo de configuración de paquete web solucionó el problema, espero que esto ayude. No olvide ignorar su carpeta node_modules, ya que eso mataría el rendimiento de HMR (Reemplazo de módulo en caliente):
fuente
watch: true
que también podría funcionar. El sondeo es la verificación continua de otros programas o dispositivos por parte de un programa o dispositivo para ver en qué estado se encuentran, generalmente para ver si todavía están conectados o si quieren comunicarse. Por lo tanto, la configuraciónpoll: true
permite que webpack verifique el estado de su programa para ver si se han realizado cambios, o al menos lo que supongo que está sucediendo.poll
opción está definida por watchpackHe tenido este problema al trabajar con WebStorm.
Desactivar Configuración -> Configuración del sistema -> "escritura segura" lo resolvió por mí.
Encontré la recomendación para hacerlo en: Solución de problemas de WebPack
fuente
Solo para agregar a posibles soluciones: tenía la carpeta de mi proyecto dentro de una carpeta de Dropbox, moverla resolvió el problema por mí. (OS X)
fuente
La distinción entre mayúsculas y minúsculas era mi problema. Mis llamadas de código a require () tenían todos los nombres de ruta en minúsculas, PERO los directorios en realidad tenían una letra mayúscula. Cambié el nombre de todos mis directorios a minúsculas y la visualización de paquetes web funcionó al instante.
fuente
Un problema es que si los nombres de sus rutas no son absolutos, sucederán cosas como esta. Accidentalmente había configurado
resolve.root
a en./
lugar de__dirname
y esto me hizo perder mucho tiempo borrando y recreando archivos como los chicos de arriba.fuente
Si cambiar fs.inotify.max_user_watches como apunta César todavía no funciona, intente usar el sondeo en lugar de los observadores nativos creando su script como se muestra en los documentos o ejecutando el paquete web con
--watch --watch-poll
opciones.fuente
Tenga en cuenta que si ejecuta el paquete web dentro de una máquina virtual (Vagrant / Virtualbox) y cambia sus archivos en la plataforma de host, es posible que las actualizaciones de archivos en la carpeta compartida no activen inotify en Ubuntu. Eso hará que los cambios no sean recogidos por webpack.
ver: Boleto de Virtualbox # 10660
En mi caso, editar y guardar el archivo en el invitado (en vi) activó el paquete web. Editarlo en el host (en PhpStorm, Bloc de notas o cualquier otra aplicación) NO active el paquete web, sea lo que sea que hice.
Lo resolví usando vagrant-fsnotify .
fuente
vagrant-notify-forwarder
para más recargas mágicasvagrant plugin install vagrant-notify-forwarder
hizo una solución permanente para míTrabaja para mí en Laravel Homestead
fuente
Actualizaciones: eliminar todo el directorio y clonar git de nuevo desde el repositorio soluciona mi problema.
fuente
Si está utilizando Vim, debería intentar configurar la copia de seguridad en sí en lugar del automático predeterminado. De lo contrario, Vim a veces cambiará el nombre del archivo original y creará uno nuevo, lo que estropeará el reloj del paquete web:
https://github.com/webpack/webpack/issues/781
Simplemente agregue esto a su configuración de vim si este es el caso:
establecer copia de seguridad = sí
fuente
Estaba teniendo el mismo problema en un archivo .vue. Cuando el servidor se reinició, todo funcionó bien, pero en el siguiente guardado ya no se volvió a compilar. El problema estaba en la ruta del archivo de importación que tenía una letra en mayúscula. Es muy difícil resolver este problema porque todo funciona en un reinicio del servidor. Compruebe el caso de sus caminos.
fuente
No se estaba recompilando para mí, pero luego me di cuenta / recordé que el paquete web observa el gráfico de dependencia y no solo una carpeta (o archivos). Efectivamente, los archivos que estaba cambiando aún no formaban parte de ese gráfico.
fuente
Para mí, el problema fue crear carpetas y archivos en VS Code. Para solucionarlo, volví a clonar mi repositorio y, esta vez, creé nuevas carpetas y archivos a través de la línea de comandos en lugar de Code. Creo que Code estaba corrompiendo los archivos por alguna razón. Vi la aplicación recién actualizada, así que tal vez sea un error nuevo.
fuente
Tuve un problema similar, ni el paquete web ni el paquete acumulativo en modo reloj detectaron los cambios que hice. Descubrí que era básicamente mi culpa porque estaba cambiando el módulo (archivo .tsx) que aún no se había importado en ninguna parte de la aplicación (por ejemplo, App.ts, que es el punto de entrada) y esperaba que las herramientas de compilación informaran errores. hecho allí.
fuente
La forma en que resolví el problema fue encontrar un error de capitalización en una ruta de importación. La carpeta en el sistema de archivos tenía la primera letra en minúscula, la ruta de importación estaba en mayúsculas. Todo se compiló bien, por lo que esto fue solo un problema de inclusión de reloj de paquete web.
fuente
También tuve este problema dentro de una VM VirtualBox (5.2.18) Ubuntu (18.04) usando Vagrant (2.1.15) con sincronización rsync. De repente, la primera compilación funciona muy bien, pero Webpack no tiene en cuenta los cambios posteriores, incluso con
fs.inotify.max_user_watches=524288
set. Añadiendopoll: true
configuración de Webpack tampoco ayudó.Solamente
vagrant-notify-forwarder
funcionó (vagrant-fsnotify no lo hizo, por alguna razón), pero luego la reconstrucción ocurrió demasiado rápido después de guardar el archivo en el host y supongo que rsync no tuvo suficiente tiempo para terminar su tarea (tal vez debido a la cantidad de directorios sincronizados dentro de mi Vagrantfile?).Finalmente hice que el reloj funcionara nuevamente aumentando también
aggregateTimeout
en mi configuración de Webpack:Si esta solución funciona para usted, intente reducir este valor nuevamente; de lo contrario, tendrá que esperar 10 segundos hasta que la compilación se reinicie cada vez que presione guardar. El valor predeterminado es 300 ms .
fuente
Tengo el mismo problema. Y noto que no se está compilando porque mi carpeta contiene algún carácter (*). Y el uso del antiguo complemento de observador parece resolver el problema. Agregue esta línea a su archivo de configuración de paquete web.
fuente
Para mí, eliminar
node_modules
y hacer npm install o yarn nuevamente para instalar todos los paquetes resolvió el problemafuente
¿Cuál fue la causa en mi caso?
Parece que el valor de:
max_user_watches
en el/proc/sys/fs/inotify/max_user_watches
webpack está afectandoPara comprobar su valor real
16384 estaba en mi caso y todavía no era suficiente.
Probé diferentes tipos de soluciones como:
Pero parece que incluso si cambiara el valor, cuando reinicié mi PC, volvería al 16384 predeterminado.
SOLUCIÓN si tiene sistema operativo Linux (mi caso, tengo Manjaro):
Crea el archivo:
sudo nano /etc/sysctl.d/90-override.conf
Y poblarlo con:
fs.inotify.max_user_watches=200000
Parece que 200000 es suficiente para mí.
Después de crear el archivo y agregar el valor, simplemente reinicie la PC y debería estar bien.
fuente
Una solución sencilla en MacOS es la siguiente:
Abra dos ventanas de terminal en el mismo directorio donde reside su proyecto.
En la primera ventana de terminal, ejecute: webpack --watch
En la segunda terminal, ejecute Windows: webpack-dev-server
He probado muchas soluciones posibles y esta parece ser la más confiable.
fuente
webpack --watch
compila el proyecto y guarda los archivos en el disco, equivalente a ejecutarsewebpack
después de cada guardado.webpack-dev-server
es una herramienta de desarrollo que se compila en la memoria y sirve el contenido como un servicio a través de http. En cualquier caso, su sugerencia no es una solución, ya que los archivos compilados no se escribirán en el disco mientraswebpack --watch
no funcione como se anuncia ..Posible solución: cambiar el contexto al directorio de la aplicación.
Tenía todos los archivos de configuración de mi paquete web en una subcarpeta:
En
webpack/development.js
, setcontext: path.join(__dirname, '../')
resolvió mi problema.fuente
Después de probar un puñado de estrategias para solucionar este problema, terminé simplemente rindiéndome, pero luego, mientras resolvía otro problema, lo intenté de nuevo y de repente el
--watch
bandera finalmente estaba funcionando.Para ser honesto, no sé qué lo hizo funcionar específicamente, pero después de realizar los siguientes pasos, simplemente comenzó a funcionar:
Pudo haber sucedido que al instalar estos paquetes alguna dependencia simplemente agregó la pieza faltante del rompecabezas, quién sabe ...
Espero que esto ayude a cualquiera que esté luchando para que funcione.
fuente
Estoy agregando otra respuesta porque creo que esta es la mejor solución hasta ahora. ¡Lo estoy usando todos los días y es genial! Simplemente instale esta biblioteca:
https://github.com/gajus/write-file-webpack-plugin
Descripción: Obliga al programa webpack-dev-server a escribir archivos de paquete en el sistema de archivos.
Cómo instalar :
fuente
Intenta cambiarte
--watch
a-d --watch
trabajó para mi
fuente
Si esto sucedió de repente en su proyecto, entonces podría solucionar el problema.
Tal vez de alguna manera los archivos que estaban rastreando los cambios de su proyecto que busca el paquete web se corrompieron. Puede volver a crearlos con solo seguir unos sencillos pasos.
fuente
Me encontré con esta pregunta cuando tenía un problema similar: parecía que el paquete web no se reagrupaba, incluso cuando se ejecutaba el paquete web --config.
Incluso eliminé bundle.js y la página web todavía se mostraba como antes de mis ediciones.
Para aquellos de ustedes que tienen este mismo problema, finalmente hice la opción 'vaciar caché y recargar duro' en Chrome (haga clic derecho en el botón de recarga con las herramientas de desarrollo abiertas) y eso hizo ese truco
fuente
Encontré el mismo problema, intenté muchas cosas, finalmente Chrome Clear Browsing Data en Mac funcionó para mí.
Se han instalado estos módulos:
"browser-sync": "^ 2.26.7",
"browser-sync-webpack-plugin": "^ 2.2.2",
"paquete web": "^ 4.41.2",
"webpack-cli": "^ 3.3.9"
fuente
El problema estaba en la diferenciación entre archivos .js y .ts. Por qué ?
En la construcción del proyecto, Visual Studio compila archivos mecanografiados en .js y .js.map. Esto es totalmente innecesario, porque webpack también maneja archivos mecanografiados (con awesome-typescript-loader). Al editar archivos componet .tsx en Visual Studio Code o con compileOnSave deshabilitado opción en tsconfig.json, el archivo ts editado no se vuelve a compilar y mi paquete web estaba procesando un archivo .js no actual.
La solución fue deshabilitar la compilación de archivos mecanografiados en Visual Studio en la construcción del proyecto. Añadir
en PropertyGroup de su .csproj.
fuente