moodle:用于离线开发的自动插件更新

moodle: Automatic plugin updates for developing offline

我正在为 moodle 开发一个插件。每次想要查看我在代码中所做更改的结果时,都需要更新所有插件。这意味着我必须打开通知页面并单击更新。我这样做浪费了很多时间。此外,它需要互联网连接才能在线检查更新。

有没有办法自动更新正在开发的插件?

更新 特别是对 AMD 文件的更改不会更新。我尝试了以下步骤:

第一次尝试:

  1. 更改 AMD 文件夹中的 js 文件
  2. [可选] 删除 js 文件的缩小版本
  3. 运行 g运行t(丑化)
  4. 在 Firefox 或 chrome 中重新加载页面 => 在 firefox 中重新加载页面后没有可见的变化

第二次尝试:

  1. 更改 AMD 文件夹中的 js 文件
  2. 运行 g运行t(丑化)
  3. 在 version.php
  4. 处更改版本号
  5. moodle/administration/site administration/notifications 的更新插件
  6. 在 Firefox 或 chrome 中重新加载页面 => 可见变化

缓存在浏览器和 moodle 内部被禁用

如果您刚刚对代码进行了更改,则无需进行任何形式的更新 - 进行更改、保存并刷新页面。

如果您更改了任何语言字符串或 CSS 或创建了任何新的自动加载 类,然后 Purge the site caches 查看新版本。

如果打开调试,您不需要为 javascript 更改清除任何缓存(但您也可以在 config.php 中设置 $CFG->jsrev = -1;有时会有帮助)。

唯一一次(在开发过程中)您真正需要修改版本号然后访问通知页面(不需要互联网连接)的情况是,如果您 adding/removing 有能力,改变以某种方式更改数据库表或更改 'db/' 子文件夹中的其他文件之一(例如 caches.php、messages.php)。

我更改了moodle根文件夹中的config.php并添加了以下行:

$CFG->cachejs = false;
$CFG->debug = DEBUG_DEVELOPER;

最后,我直接在页面上看到了对存储在 mod/my-plugin/amd/src 中的 Javascript 文件所做的所有更改,而没有 运行 grunt。 在管理/站点管理/开发/调试下设置调试选项是不够的。