我是新的magento 2,我正在为它创建扩展。但我无法看到任何js和css的变化。当我检查我的源代码时,我的js文件custom.js和css文件custom.css加载正确,但我无法看到我的任何更改。我尝试清除缓存,但没有得到任何结果。我也从备份和手动清除了缓存,并禁用了所有缓存。
33qvvth11#
第1步。rm -rf pub/static/frontend/*第2步。rm -rf var/cache/*个第3步。php bin/magento s:s:d -f第4步。php bin/magento indexer:reindex上面的步骤对我很有效,我希望它对你也有效。
rm -rf pub/static/frontend/*
rm -rf var/cache/*
php bin/magento s:s:d -f
php bin/magento indexer:reindex
xvw2m8pv2#
步骤1.删除pub/static/frontend下的所有文件夹步骤2.删除var/cache下缓存文件夹现在打开你的命令提示符,并转到你的根安装的magento 2和激发以下命令步骤3. php bin/magento setup:static-content:deploy步骤4. php bin/magento indexer:reindex上面的步骤对我很有效,我希望它对你也有效。如果你还有什么问题,请告诉我。
php bin/magento setup:static-content:deploy
f3temu5u3#
为了提高工作效率,可以使用以下命令同时执行所有任务:
rm -rf var/view_preprocessed; rm -rf pub/static/frontend/*; rm -rf var/cache/*; php bin/magento setup:static-content:deploy -f de_DE;
lsmepo6l4#
即使Magento是在开发模式,Nginx可以设置缓存头的Javascript和CSS文件:
$ bin/magento deploy:mode:show Current application mode: developer. (Note: Environment variables may override this value.)
看到那个Note了吗?果然:
Note
$ curl -v 'https://foo.local/static/version51/adminhtml/Magento/backend/en_US/Dc_Foo/js/foo.js' < HTTP/1.1 200 OK < Server: nginx/1.21.6 < Date: Tue, 12 Jul 2022 12:00:07 GMT < Content-Type: application/javascript; charset=utf-8 < Content-Length: 1082 < Last-Modified: Tue, 12 Jul 2022 05:57:18 GMT < Connection: keep-alive < ETag: "62cd0d3e-43a" < Expires: Wed, 12 Jul 2023 12:00:07 GMT < Cache-Control: max-age=31536000 < Cache-Control: public < X-Frame-Options: SAMEORIGIN < Accept-Ranges: bytes
注意Expires标头,设置为未来一年(答案写于2022年7月)。你可以配置Nginx或Apache或任何其他服务器不提供这些头文件,但我首选的方法是配置我的浏览器在使用开发工具时忽略缓存。在Chrome中,这可以通过打开DevTools(F12),然后单击齿轮图标(⚙),然后选中Preferences -> Network -> Disable cache while DevTools is open来完成。
Expires
F12
⚙
Preferences -> Network -> Disable cache while DevTools is open
sr4lhrrt5#
这可能是因为对于同一个DOM元素,核心CSS规则比css规则优先。你应该用浏览器开发工具来检查它。
zwghvu4y6#
Require JS将缓存对javascript文件的更改(即使在开发者模式下)。要禁用缓存,请将以下内容添加到MyNamespace/MyModule/view/frontend/requirejs-config.js
var config = { urlArgs: "bust=" + (new Date()).getTime() };
6条答案
按热度按时间33qvvth11#
第1步。
rm -rf pub/static/frontend/*
第2步。
rm -rf var/cache/*
个第3步。
php bin/magento s:s:d -f
第4步。
php bin/magento indexer:reindex
上面的步骤对我很有效,我希望它对你也有效。
xvw2m8pv2#
步骤1.删除pub/static/frontend下的所有文件夹
步骤2.删除var/cache下缓存文件夹
现在打开你的命令提示符,并转到你的根安装的magento 2和激发以下命令
步骤3.
php bin/magento setup:static-content:deploy
步骤4.
php bin/magento indexer:reindex
上面的步骤对我很有效,我希望它对你也有效。
如果你还有什么问题,请告诉我。
f3temu5u3#
为了提高工作效率,可以使用以下命令同时执行所有任务:
lsmepo6l4#
即使Magento是在开发模式,Nginx可以设置缓存头的Javascript和CSS文件:
看到那个
Note
了吗?果然:注意
Expires
标头,设置为未来一年(答案写于2022年7月)。你可以配置Nginx或Apache或任何其他服务器不提供这些头文件,但我首选的方法是配置我的浏览器在使用开发工具时忽略缓存。在Chrome中,这可以通过打开DevTools(
F12
),然后单击齿轮图标(⚙
),然后选中Preferences -> Network -> Disable cache while DevTools is open
来完成。sr4lhrrt5#
这可能是因为对于同一个DOM元素,核心CSS规则比css规则优先。你应该用浏览器开发工具来检查它。
zwghvu4y6#
Require JS将缓存对javascript文件的更改(即使在开发者模式下)。要禁用缓存,请将以下内容添加到MyNamespace/MyModule/view/frontend/requirejs-config.js