我尝试使用XAMPP在本地安装Magento 2。这工作正常,除了当我改变我的CSS,HTML或JS时,XAMPP将不会获得更新的文件。它只是将我最初使用它的内容创建的文件,而不是更新版本。
我认为这与Apache本身的缓存有关吗?我使用.htaccess(http://httpd.apache.org/docs/2.0/mod/mod_cache.html)阅读了有关禁用缓存的内容,但我无法弄清楚如何实现它。
任何人都知道如何解决这个问题?
刷新缓存不起作用。部署静态内容可能有用,但我不想每次在CSS中进行一次小的更改时都这样做(当我远程工作时,我也不必这样做)
我认为这个问题与Magento不相关,而是与XAMPP(可能是Apache)有关。
我启用了开发者模式。
答案 0 :(得分:0)
按Ctrl-F5硬刷新页面(不使用浏览器的缓存)。
如果你仍然看到以前的页面或更改,那么Apache有 mod_cache缓存它们,或者PHP的操作码缓存设置设置为 不刷新X时间的变化。
取自Xampp and Ampps don't reload files when changed
如果mod_cache导致问题,那么这可能有助于您实施修复How to disable cache of Apache?
答案 1 :(得分:0)
这不是缓存问题,而是您正在使用的部署模式。
您可能处于默认模式,在这种情况下,您每次都必须部署静态内容,但是您可以切换到开发人员模式。
https://devdocs.magento.com/guides/v2.0/config-guide/cli/config-cli-subcommands-mode.html
这将阻止magento需要生成静态内容,因为它是通过使用符号链接等动态完成的。
bin/magento deploy:mode:set developer
或者您也可以在
中手动设置app/etc/env.php
如果开发者模式不能正常运行,那么很可能会取决于权限等
除了htaccess文件之外,删除pub / static中的所有文件,并确保它是可写的
答案 2 :(得分:0)
在开发者模式下,M2不会生成静态文件。它应该从各种模块为它们创建符号链接。但是,如果您运行了setup:static-content:deploy并将这些文件放在适当位置,则不会更新它们。尝试仅删除您工作的pub / static文件夹中的那些文件,并查看Magento是否链接到它们。如果删除pub / static / folder的所有内容,则在浏览器中加载页面将花费很长时间。