QQ扫一扫联系
模块中包含的静态资源文件(如图片、CSS、JS等)该如何处理,保证用户安装主题模块后可以通过链接访问?
模块安装时,静态资源会从 module/Xxx/Asset/
复制到 public/vendor/Xxx/
,因此需要将静态资源文件统一放在主题模块的 Asset
目录中。
在 blade
文件中引用静态资源时需要使用如下的方式
@asset('vendor/Xxx/js/test.js')
在模块中创建文件 module/Xxx/ROOT/aaa/bbb/ccc.txt
, 在安装时会自动复制到 <根目录>/aaa/bbb/ccc.txt
中。
如系统本身包含了 <根目录>aaa/bbb/ccc.txt
文件,会自动将已有的文件 aaa/bbb/ccc.txt
重命名为 aaa/bbb/ccc.txt._delete_.Xxx
并替换为最新的文件。
- 其中
Xxx
是模块名称,表示是被哪个模块删除掉的- 在模块
Xxx
被卸载时,如果发现存在aaa/bbb/ccc.txt._delete_.Xxx
文件,会自动复原为aaa/bbb/ccc.txt
。
提示: 模块开发时,应尽量避免系统文件的复制与覆盖,系统在升级时如果该文件被修改过可能会自动覆盖为最新的文件,会带来不可预知的后果。
系统安装后,静态资源会从 module/Xxx/Asset/
复制到 public/vendor/Xxx/
,开发阶段如何处理这个问题?
开发阶段创建一个从 module/Xxx/Asset/
到 public/vendor/Xxx/
的软连接,这样就可以通过 http://xxx/vendor/Xxx/
访问到模块静态资源文件了。
Linux
:运行命令 ln -s module/Xxx/Asset public/vendor/Xxx
Windows
:手动创建快捷方式