CSS / HTML / JS 不更新 XAMPP(本地开发)

Posted

技术标签:

【中文标题】CSS / HTML / JS 不更新 XAMPP(本地开发)【英文标题】:CSS / HTML / JS not updating XAMPP (local development) 【发布时间】:2018-11-10 12:24:02 【问题描述】:

我尝试使用 XAMPP 在本地安装 Magento 2。这很好用,除了当我改变我的 CSS、html 或 JS 时,XAMPP 不会得到更新的文件。它只获取我最初创建的文件及其内容,而不是更新版本。

我认为这与 Apache 本身的缓存有关吗?我阅读了一些关于使用 .htaccess (http://httpd.apache.org/docs/2.0/mod/mod_cache.html) 禁用缓存的内容,但我不知道如何实现这一点。

有人知道我该如何解决这个问题吗?

刷新缓存不起作用。部署静态内容可能可行,但我不想每次对 CSS 进行一点小改动时都这样做(当我远程工作时,我也不必这样做)

我认为这个问题与 Magento 无关,而是与 XAMPP(可能是 Apache)有关。

我已启用开发者模式。

【问题讨论】:

【参考方案1】:

在开发者模式下,M2 不会生成静态文件。它应该从各个模块创建指向它们的符号链接。但是,如果您已运行 setup:static-content:deploy 并准备好这些文件,则不会更新它们。尝试仅删除您工作过的 pub/static 文件夹中的那些文件,并查看 Magento 是否链接到它们。如果您删除 pub/static/ 文件夹的所有内容,页面将需要很长时间才能在浏览器中加载。

【讨论】:

如何检查 Magento 是否链接到正确的文件? 它将在 pub/static/ 文件夹中显示 Windows 快捷方式图标代替实际文件。【参考方案2】:

这不是缓存问题,而是您使用的部署模式。

您可能处于默认模式,在这种情况下,您每次都必须部署静态内容,但是您可以切换到开发人员模式。

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

如果开发者模式不起作用,很可能是权限等原因

删除 pub/static 中除 htaccess 文件之外的所有文件,并确保它是可写的

【讨论】:

我已经启用了开发者模式,bin/magento deploy:mode:show 返回我处于开发者模式。在我遇到前端产生大量 js 错误的问题之前,bin/magento setup:static-content:deploy -f 修复了这个问题。但是使用这个命令会不会导致我的网站上没有看到变化?因为它部署了静态内容(这可能不适用于开发者模式?) 您需要确保 pub/static 除了 htaccess 之外是空的并且它是可写的。如果你运行了静态部署就不会了 好的,所以我大概又回到了我的老问题:css / js / html 没有加载,我需要以另一种方式修复。可能有一些权限,所以需要了解如何在 Windows 上像在 Mac / Linux 上一样做到这一点 如果 magento 无法动态创建符号链接,这可能是由于权限问题。确保 pub/static 中存在 htaccess,并且在 apache 中启用了重写。 如果你使用 setup:static-content:deploy -f 那么你每次对你的 css 等进行更改时都必须这样做,如果你不这样做并使用开发者模式它在哪里自动更新。【参考方案3】:

按 Ctrl-F5 硬刷新页面(不使用浏览器的缓存)。

如果您仍然看到以前的页面或更改,那么 Apache 有 mod_cache 缓存它们,或者 PHP 将其操作码缓存设置设置为 在 X 时间内不刷新更改。

取自Xampp and Ampps don't reload files when changed

如果是导致问题的 mod_cache,那么这可能会帮助您实施修复 How to disable cache of Apache?

【讨论】:

不幸的是,在 Magento 2 根目录的 .htaccess 中插入上述内容不起作用。硬刷新也不行。 非常抱歉,我没有使用 Magento 的经验,所以我没有建议。 没问题的朋友

以上是关于CSS / HTML / JS 不更新 XAMPP(本地开发)的主要内容,如果未能解决你的问题,请参考以下文章

是否可以在不重新部署的情况下更新 PhoneGap 应用程序中的 HTML/CSS/JS 文件?

XAMPP 不加载 CSS 文件

XAMPP:无法从智能手机(iPhone)加载访问 url 的资源

本地主机中的 XAMPP 延迟

Xampp over Lan - CSS/JS 在重定向到本地主机时无法正常工作

网站的技术层面介绍