代码热重载

收藏
我的收藏

简介​

热重载是一种可以自动刷新页面的功能,可以提高开发效率。在开发者工具开启「热重载」后,修改页面 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:模拟器整体刷新​
其他文件​
模拟器整体刷新​
⚠️注意:如遇到热重载效果不符合预期,可点击编译按钮进行重新编译。​