简介

热重载是一种可以自动刷新页面的功能,可以提高开发效率。在开发者工具开启「热重载」后,修改页面 ttml/ttss/js/sjs 代码文件,模拟器可以在不刷新的情况下生效代码变更,极大地提升了开发体验。

版本支持

开发者工具从 4.1.4 起支持该功能;至少使用 2.98.0.0 及以上的基础库版本。

使用限制

    1.目前仅支持小程序,不支持小游戏和小玩法。
    2.三方框架 taro 或 uniapp,由于使用 webpack 打包,产物存在模块加载缓存,当前并不支持热重载。后续会逐步支持。
    3.目前不支持 component2 开启时使用。
    4.仅支持 ttml, ttss 以及部分 js 方法。

开启热重载

    1.通过详情页工程配置模块「开启热重载」设置开启和关闭。
    2.也可以直接在 project.config.json中修改 compileHotReload 改为 truefalse 设置开闭。
⚠️:开启热重载必须同时开启「修改文件的时候自动编译」,否则无法生效。
当开启「热重载」模式,修改页面中的 ttml/ttss/js/sjs 文件后,将会自动触发编译热重载能力,模拟器可实时看到修改后的小程序效果:

热重载执行逻辑

当开启「热重载」模式时,编译会根据不同代码修改情况进行不同程度模拟器更新:
修改文件类型
效果
.ttml
热重载
.sjs
热重载
.ttss
热重载
.json
模拟器整体刷新
.js
    app.js:模拟器整体刷新
    页面 js 或者页面依赖的 js:页面重新创建、渲染,生命周期重新执行
    其他 js:模拟器整体刷新
其他文件
模拟器整体刷新
⚠️注意:如遇到热重载效果不符合预期,可点击编译按钮进行重新编译。