Instalé Magento 2 y configuré el modo desarrollador, luego instalé un módulo que contiene archivos css y js. El módulo funciona bien y los archivos css y js se procesan desde la carpeta pub / static. Ahora he realizado cambios en CSS en el directorio de módulos del archivo CSS y ejecuto el comando
php bin/magento setup:static-content:deploy
pero Magento no está haciendo mis nuevos cambios en los archivos pub / static css, así que obtengo el contenido del archivo css antiguo. ¿Alguien sabe cómo regenerar todo el archivo css en la carpeta pub / static?
magento2
css
deploy
static-content-deploy
Chirag Dodia
fuente
fuente

.htaccessarchivo en lapub/staticcarpeta para que sepa cómo vincular archivos, si eliminó la carpeta pub / estática que.htaccessfalta ahoraRespuestas:
Antes de eliminar pub / static haga una copia de seguridad de pub / static / .htaccess y restaure nuevamente. de lo contrario, todos sus css y js mostrarán un error 404.
pub/static[Mantenga copia de seguridad del .htaccess y cópielo de nuevo]var/cachevar/composer_homevar/generationvar/page_cachevar/view_preprocessedphp bin/magento setup:static-content:deployfuente
Las respuestas aquí no mencionan que no debe eliminar .htaccess en la carpeta pub / static.
para eliminar todos los archivos excepto los .htacces ingrese al directorio pub / static y ejecute
entonces puedes correr
fuente
Acabo de eliminar los archivos CSS de la
pub/staticcarpeta y ejecuto el comando:Regenerará el mismo archivo con los últimos cambios.
fuente
Como la pregunta es para
js and cssactualizar en Magento 2 en modo desarrollador .pub/static/frontend/namespace/theme/ ... module/js/...eliminará, por lo que después de actualizar la página, se generará un nuevo archivo JS en la carpeta pub.Configurar tema en magento
...\dev\tools\grunt\configs\themes.jsClone cualquier tema de ejemplo, tema de luma a su tema y asigne un nombre, suponga xyz
En la carpeta raíz, cambie el nombre del archivo: Gruntfile.js.sample a Gruntfile.js
En la carpeta raíz, cambie el nombre del archivo: package.json.sample a package.json
Necesita tener gruñido en la carpeta de su sitio o instalar a través de npm
Abrir símbolo del sistema con permiso de administrador
Vaya a la carpeta del sitio en CMD y presione el comando
grunt exec:themepor primera vez después de implementar el temaEntonces
grunt less:themecada vez que hagamos algún cambio en menosSi está haciendo cambios frecuentes en menos uso,
grunt watchpor lo tanto, golpeará automáticamentegrunt less:themefuente
Manera simple 1
En el administrador de Magento. Vaya
System > Tools > Cache Managementy haga clic en Vaciar caché de archivos estáticos .Manera simple 2
Si acaba de cambiar el archivo CSS que ya existente , lo que hay que hacer es simplemente borrar el archivo correspondiente
pub/staticy, a continuación, al actualizar la página, que va a generar la nueva versión del archivo CSS. Funciona en modo desarrollador .Aviso
Al crear nuevo archivo, en lugar de modificar un archivo existente, es posible que tenga que borrar la caché,
php bin/magento cache:flush.El modo predeterminado y el modo desarrollador no necesitan implementar archivos de vista estáticos , debido a que los archivos estáticos se generan dinámicamente en lugar de materializarse. (Referencia: sobre los modos Magento )
En el modo de producción , es posible que también necesite
php bin/magento setup:static-content:deployyphp bin/magento cache:flush, aún no pruebo el modo de producción .fuente
De acuerdo con lo que he leído en otras publicaciones y mi experiencia personal aquí es el proceso para regenerar el CSS o cualquier contenido estático:
Esto eliminará todos los archivos de caché / generación / etc. necesarios sin eliminar todo lo que realmente necesita.
Esto volverá a compilar los archivos. Finalmente:
Después del último comando, todo debería ser nuevo y fresco, simplemente actualice su página.
----- Notas ------
1) Asegúrese de que sus permisos de archivo y propietario: el grupo de usuarios esté configurado correctamente antes de hacer esto, es posible que deba hablar sobre esto con su administrador de sistemas.
2) Si su configuración: el comando de actualización falla, podría eliminar los archivos y no poder escribir los nuevos, como fue mi caso debido a los permisos de archivo. Esto puede romper su sitio, simplemente elimine los permisos y luego vuelva a ejecutar el comando.
3) No he encontrado (hasta ahora) una forma de volver a compilar solo un tema o archivo específico (sería muy útil si alguien encuentra una manera) sin escribir un script completamente personalizado
Si alguien sabe de algo mejor, hágamelo saber, porque 12 minutos de compilación de archivos porque tuve que hacer algunos cambios de CSS es un diseño extremadamente pobre en mis ojos.
--- Editar ---
Magento 2 tiene a Grunt vinculado y esto hace que la actualización de archivos CSS / LESS sea infinitamente más fácil si se toma el tiempo para configurarlo. La mayoría de los archivos están allí como archivos .sample simplemente elimine la extensión de archivo .sample, configure el archivo themes.js en la carpeta / dev / tools / grunt / configs. Luego, cuando necesite actualizar sus MENOS archivos, simplemente ejecute gruñido menos: - tema-- desde la línea de comandos.
Recurso: http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/css-topics/css_debug.html
fuente
no olvide ejecutar los comandos
grunt exec:theme,grunt less:themedondethemeestá el tema que declaró en elthemes.jsarchivo desde la carpeta de configuración de grunt (todo esto está en la guía del desarrollador) y cuando tiene magento en modo desarrollador no debe ejecutar el comando de implementación estática,Magento2funciona conSymlinksfuente
Ejecute estos comandos en su carpeta raíz de Magento :
fuente
Hay una nota importante que hacer sobre esta pregunta que la mayoría de las respuestas no señalan específicamente. En su caso (con la configuración que está utilizando), la razón por la que sus cambios de CSS no se recogen cuando regenera el CSS en la
pub/staticcarpeta es que no está eliminando el contenido delvar/view_preprocesseddirector. Dentro de este directorio hay una versión en caché de su CSS que está ingresando a lapub/staticcarpeta cuando ejecuta elphp bin/magento setup:static-content:deploycomando.Entonces, cuando recompila, Magento primero buscará en la
var/view_preprocessedcarpeta el CSS en caché. Si esta carpeta está vacía, buscará los archivos de tema y extraerá ese CSS para su compilación.Estos ajustes son configurables, por lo que hay muchas maneras de llegar a su destino que cambiarán el camino que debe seguir. Pero para la solución a su configuración específica:
Eliminar los archivos de la
pub/staticcarpeta:rm -rf pub/static/*Eliminar los archivos de la
var/view_preprocessedcarpeta:rm -rf var/view_preprocessed/*Vuelva a compilar la carpeta estática de pub:
php bin/magento setup:static-content:deployBorrar caché está encendido:
php bin/magento cache:cleanActualiza el navegador.
fuente
app/etc/di.xmlarchivo di.xml ( ). Pero he tenido resultados mixtos durante las pruebas. Hay un poco más aquí en la segunda respuesta: magento.stackexchange.com/questions/116605/…Elimine la carpeta que contiene su tema en el
caché claro pub / static / frontend
Puede usar gruñido para ver aplicar hojas de estilo. Leer aquí
fuente
pub/staticpermiso 777php bin/magento setup:static-content:deployVerás nuevo CSS.
NOTA:
Dé la carpeta y el permiso de archivo adecuados.
Espero que esto ayude.
fuente
¿No podría simplemente vaciar la caché estática en el panel de administración y luego
fuente
Asegúrate de estar usando el modo desarrollador.
Luego ejecute el siguiente código:
Actualice la página frontend. Estos pasos resolvieron mi problema.
fuente
Sin embargo, puede agregar el indicador
-fo--forceal comando de configuración.Ejemplo:
fuente
Voy a dejar caer mi gota de sabiduría aquí.
Yo uso un
cache_fly.shscript bash que básicamente hace:NOTA: He agregado un eco para mostrarme cuántas veces de mi vida he perdido esperando que se ejecute. También
./magentohay una secuencia de comandos para hacerphp bin/magentoo llamar a la misma cosa dentro del contenedor de la ventana acoplable, si se usa la ventana acoplable, puede hacer la suya o señalarla,php bin/magentopero si está leyendo esto, debe saber de qué estoy hablando, si no, ejecute la pregunta por ayudafuente
Poca adaptación para mi caso
fuente