魔众题库系统静态资源文件

魔众题库系统 / 文档中心
文档中心
开发教程
安装常见问题

静态资源路径

模块中包含的静态资源文件(如图片、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:手动创建快捷方式
QQ
微信
公众号
客服