我的网站分为单独的模块.每个模块都有自己特定的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);