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
.htaccess
archivo en lapub/static
carpeta para que sepa cómo vincular archivos, si eliminó la carpeta pub / estática que.htaccess
falta 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/cache
var/composer_home
var/generation
var/page_cache
var/view_preprocessed
php bin/magento setup:static-content:deploy
fuente
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/static
carpeta y ejecuto el comando:Regenerará el mismo archivo con los últimos cambios.
fuente
Como la pregunta es para
js and css
actualizar 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.js
Clone 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:theme
por primera vez después de implementar el temaEntonces
grunt less:theme
cada vez que hagamos algún cambio en menosSi está haciendo cambios frecuentes en menos uso,
grunt watch
por lo tanto, golpeará automáticamentegrunt less:theme
fuente
Manera simple 1
En el administrador de Magento. Vaya
System > Tools > Cache Management
y 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/static
y, 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:deploy
yphp 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:theme
dondetheme
está el tema que declaró en elthemes.js
archivo 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,Magento2
funciona conSymlinks
fuente
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/static
carpeta es que no está eliminando el contenido delvar/view_preprocessed
director. Dentro de este directorio hay una versión en caché de su CSS que está ingresando a lapub/static
carpeta cuando ejecuta elphp bin/magento setup:static-content:deploy
comando.Entonces, cuando recompila, Magento primero buscará en la
var/view_preprocessed
carpeta 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/static
carpeta:rm -rf pub/static/*
Eliminar los archivos de la
var/view_preprocessed
carpeta:rm -rf var/view_preprocessed/*
Vuelva a compilar la carpeta estática de pub:
php bin/magento setup:static-content:deploy
Borrar caché está encendido:
php bin/magento cache:clean
Actualiza el navegador.
fuente
app/etc/di.xml
archivo 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/static
permiso 777php bin/magento setup:static-content:deploy
Verá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
-f
o--force
al comando de configuración.Ejemplo:
fuente
Voy a dejar caer mi gota de sabiduría aquí.
Yo uso un
cache_fly.sh
script 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
./magento
hay una secuencia de comandos para hacerphp bin/magento
o 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/magento
pero si está leyendo esto, debe saber de qué estoy hablando, si no, ejecute la pregunta por ayudafuente
Poca adaptación para mi caso
fuente