无法在Magento 2 js和css中看到更改

yzckvree  于 2022-11-12  发布在  其他
关注(0)|答案(6)|浏览(167)

我是新的magento 2,我正在为它创建扩展。
但我无法看到任何js和css的变化。
当我检查我的源代码时,我的js文件custom.js和css文件custom.css加载正确,但我无法看到我的任何更改。
我尝试清除缓存,但没有得到任何结果。
我也从备份和手动清除了缓存,并禁用了所有缓存。

33qvvth1

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
上面的步骤对我很有效,我希望它对你也有效。

xvw2m8pv

xvw2m8pv2#

步骤1.删除pub/static/frontend下的所有文件夹
步骤2.删除var/cache下缓存文件夹
现在打开你的命令提示符,并转到你的根安装的magento 2和激发以下命令
步骤3. php bin/magento setup:static-content:deploy
步骤4. php bin/magento indexer:reindex
上面的步骤对我很有效,我希望它对你也有效。
如果你还有什么问题,请告诉我。

f3temu5u

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;
lsmepo6l

lsmepo6l4#

即使Magento是在开发模式,Nginx可以设置缓存头的Javascript和CSS文件:

$ bin/magento deploy:mode:show
Current application mode: developer. (Note: Environment variables may override this value.)

看到那个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来完成。

sr4lhrrt

sr4lhrrt5#

这可能是因为对于同一个DOM元素,核心CSS规则比css规则优先。你应该用浏览器开发工具来检查它。

zwghvu4y

zwghvu4y6#

Require JS将缓存对javascript文件的更改(即使在开发者模式下)。要禁用缓存,请将以下内容添加到MyNamespace/MyModule/view/frontend/requirejs-config.js

var config = {
    urlArgs: "bust=" + (new Date()).getTime()
};

相关问题