微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 有没有办法迫使Yii2在每个请求上重新加载模块资产?

我的网站分为单独的模块.每个模块都有自己特定的css或js文件.
当我第一次打开使用我的资产的页面时,Yii的assetManager会创建一个文件夹.

不幸的是,如果我在我的文件中更改了某些内容,Yii 1.x不会重新加载我的css或js文件.

我必须手动删除web / assets文件夹.在开发应用程序时,这真的很烦人.

这在我将模块添加到后端文件夹时有效,但在我使用自己的命名空间在vendor文件夹中创建模块时却不行.

解决方法:

关于Yii1.x使用assetManager,您可以通过在配置文件中将’forceCopy’属性设置为true来完成此操作

… copy the asset files and directories even if they already published
before. This property is used only during development stage

有关详细信息,请参阅forceCopy文档here.

或者,您可以使用linkAssets,它不会复制文件,但会在资产文件和您的资产目录之间创建一个软链接.你当然不能同时使用它们.

对于问题的第二部分,我假设这是在Yii 2.x中,你应该使用AssetBundles,你可以从任何地方注册任何命名空间包,你只需在视图中注册一些像这样的

use vendor\myVendorName\myPackageName\assets\AppAsset;
AppAsset::register($this);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐