下载地址
https://developers.weixin.qq.com/miniprogram/dev/devtools/rc.html
增强编译
新版工具增加了增强编译
的选项来增强ES6转ES5
的能力,启用后会使用新的编译逻辑以及提供额外的选项供开发者使用。
启用增强编译
后的编译能力的对比:
特性 | 原有逻辑 | 增强编译 |
---|---|---|
Babel版本 | babel6 | babel7 |
Presets | es2015、stage0 | env {chrome:53, ios:8} |
Helpers | 单文件内联 | 跨文件共享 |
Async/Await | 不支持 | 支持 |
严格模式开关 | 不支持 | 支持 |
忽略文件目录 | 不支持 | 支持 |
代码压缩 | uglify-js | terser |
Babel插件 | - | 一系列proposal* |
polyfill | 大部分es6 | 新增三个polyfill* |
使用
preset-env
,支持最新的ECMAScript
语法共享helpers函数,默认放在项目
@babel/runtime
目录,可通过项目配置文件
配置支持async/await语法,按需注入
regeneratorRuntime
,目录位置与helpers函数一致文件首行是
// use strict disable;
时,即可禁用文件严格模式可通过
项目配置文件
指定任意文件、目录不经过编译(如:miniprogram_npm)原有逻辑是支持
stage0
语法的,为了向前兼容,引入了一系列proposal插件关于polyfill,基础库中已经引入了大量的
es6
相关的polyfill 可参考文档,增强编译下,新增:Array.prototype.includes(es7)
、Object.entries(es8)
、Object.values(es8)
开启增强编译
项目详情页中,勾选增强编译
选项
打开后,即可在项目中使用最新的js语法
工具运行时,会按需注入一些辅助函数和regeneratorRuntime, 注入的目录路径可通过配置修改,上传代码时(包括预览时)这些文件会作为代码包的一部分
其他选项
其他可选项详情请参考项目配置文档
任务通知中心
任务完成后的消息通知会自动进入通知中心,通知中心入口在右下角的任务状态栏
任务状态栏也进行了优化,以图标形式显示正在进行中的任务、失败任务数、及通知中心入口。
控制台命令 cleanAppCache
在新版中,我们升级了 nw 内核,如果回退到旧版本,会在启动旧版本时出现提示 nw 版本不匹配的弹框,如需回退且避免这种情况,可在回退前在小程序调试器输入命令 cleanAppCache,然后再安装旧版本。
上传时版本号推荐
上传的对话框现在会显示版本号推荐
控制台显示当前页面是否被索引
代码保护现在默认打开
开启代码保护之后可以增加编译后的代码包的破解难度,在详情页中可以设置是否开启。
设置中增加通用设置
Network 面板显示图片
渲染层的图片请求现在也会展示在 Network 面板。
Nightly 快速更新机制
Nightly 版本是包含我们最新能力和 bugfix 的版本。现在 Nightly 版本支持快速更新和快速回退。安装了 Nightly 版本开发者工具后,如果再进行了升级,此时可以在菜单的检查更新下会有快速回退的选项,可以快速回退到上一个版本。
新手对一些场景不太了解,大家有没有使用场景和我说一下
共享helpers函数,默认放在项目
@babel/runtime
目录,可通过项目配置文件
配置为什么要修改@babel/runtime目录?
可通过
项目配置文件
指定任意文件、目录不经过编译(如:miniprogram_npm)miniprogram_npm不是会自动编译一次?
关于polyfill,基础库中已经引入了大量的
es6
相关的polyfill 可参考文档,增强编译下,新增:Array.prototype.includes(es7)
、Object.entries(es8)
、Object.values(es8)
includes 好像之前就用上了,会有什么影响不
大部分情况下,保持默认即可
miniprogram_npm目录是通过工具的 构建npm 功能从node_modules构建出小程序使用到的模块。这个目录同样会经过js编译和压缩,某些情况下可能会有问题,所以新编译提供配置过滤某些目录、文件的编译
之前不会引入includes这个polyfill,部分机型会不支持
明白了,感谢回复
插件开发模式 预览md文件后 没有看到预览效果并且编辑器区域空白 而且无法恢复 重启工具依然空白 无法解决
已复现
这个666
新增 createUDPSocket bindUDPSocket 改为同步接口
能告诉我这个是什么吗?
你好,这个是微信开发者工具的内部改造,开发者照常使用即可,这条文档我们稍后删除。
啊啊啊啊啊啊。优秀啦
终于能Async/Await了。。。
那我终于可以把 regeneratorRuntime 丢掉了
是的
是啊,终于不用蛋疼的每次引入了
我能说我昨天刚刚引入,然后他今天就给我更新了吗
为什么开发者工具不能在线更新呢???每次版本更新了以后,不是这里出BUG就是别的地方出BUG
开发工具启动后过段时间内存就全部占满,搞的很卡,为什么啊,什么BUG
索引提示能不能不要用console.warn,控制台一堆的警告