Egret社区
本帖最后由 lity 于 2018-7-25 14:00 编辑

一般调试时都是点“开始调试”或者按F5,接下来等egret构建项目,之后等浏览器启动,最后再观察效果。要是代码稍微修改一下调试,又要重复这个过程,等待N秒,效率低下非常不爽。

今天研究typescript,发现typescript编译器可以监控源码、实时更新编译出来的js文件。这样我们就可以在修改项目的.ts文件后,刷新浏览器立刻使修改生效,不必构建整个项目再等浏览器重启。另外,经测试,修改.ts源码后重新打断点也没问题。

下面是具体做方法:

egret wing启动后,打开终端,敲命令:"tsc -w"回车

OK。

202031swh8wc0uuouv83ab.png
分享到 :
0 人收藏

14 个回复

倒序浏览
wuhaishengxxx  圆转纯熟 | 2018-7-25 09:29:27
如果不是发布UI,配置tsconfig.json  "watch": true,  ,然后终端tsc出编译吧,复杂点的去优化egret命令
lity  登堂入室 | 2018-7-25 10:16:23
wuhaishengxxx 发表于 2018-7-25 09:29
如果不是发布UI,配置tsconfig.json  "watch": true,  ,然后终端tsc出编译吧,复杂点的去优化egret命令 ...

我用试过 "watch": true,没起作用啊

待我再试试
lity  登堂入室 | 2018-7-25 10:26:22
wuhaishengxxx 发表于 2018-7-25 09:29
如果不是发布UI,配置tsconfig.json  "watch": true,  ,然后终端tsc出编译吧,复杂点的去优化egret命令 ...

刚才又试了一次,确实不行,必须在命令行里运行tsc才能实时监控源码变化。
xiechen1990  登堂入室 | 2018-8-30 11:19:24
我在终端运行这个指令,提示不是外部或内部命令,也不是可运行的程序。这是为什么呢
zhaozhaopeng  圆转纯熟 | 2018-8-30 11:26:02
xiechen1990 发表于 2018-8-30 11:19
我在终端运行这个指令,提示不是外部或内部命令,也不是可运行的程序。这是为什么呢 ...

我也是
lity  登堂入室 | 2018-8-30 11:27:11

要单独安装typescript
box_  官方团队 | 2018-8-30 19:42:31
egret run -a ?
pelephone  登堂入室 | 2018-9-20 17:59:27
这方法好,比 egret run -a 高效。
run -a只是监听而已,文件变化还是整个项目重编ts。tsc -w才是真正的谁变化编译谁
直接换掉wing,用sublime开发了,也就没有连词属性功能,调试可以用chrome断点。搜索什么的各种爽快


还有一个方法需要改引擎。改完之后可以在wing里面直接高效编译。
引擎目录在 C:\Users\XXX\AppData\Roaming\Egret\engine\5.Xx\tools\commands 修改build命名
思路如下:
1,整个项目生成d.ts到缓存目录
2,对比md5,复制变化的文件到缓存待编译目录
3,编译的时候会提示重名Class,用过滤 文件名.d.ts再编译
4,编译出文件最新.d.ts 复盖旧的.d.ts
5,编译出来的.js复制回项目bin文件夹

点评

前端转 egret wing贼痛苦~,一直等待 转回sublime  发表于 2019-5-9 09:10
落幕夜未央  圆转纯熟 | 2018-9-21 10:34:17
还要处理manifest.json中js的前后顺序关系,不然会报错的。而这个处理依赖关系的时间也是占很大比例的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号 )

Powered by Discuz! X3.4 © 2001-2019 Comsenz Inc.

返回顶部