收藏
评论

微信开发者工具 1.02.1905081 更新说明官方

下载地址

https://developers.weixin.qq.com/miniprogram/dev/devtools/rc.html

增强编译

新版工具增加了增强编译的选项来增强ES6转ES5的能力,启用后会使用新的编译逻辑以及提供额外的选项供开发者使用。

启用增强编译后的编译能力的对比:

特性原有逻辑增强编译
Babel版本babel6babel7
Presetses2015、stage0env {chrome:53, ios:8}
Helpers单文件内联跨文件共享
Async/Await不支持支持
严格模式开关不支持支持
忽略文件目录不支持支持
代码压缩uglify-jsterser
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)

开启增强编译

项目详情页中,勾选增强编译选项
Alt text

打开后,即可在项目中使用最新的js语法

Alt text

工具运行时,会按需注入一些辅助函数和regeneratorRuntime, 注入的目录路径可通过配置修改,上传代码时(包括预览时)这些文件会作为代码包的一部分

Alt text

其他选项

其他可选项详情请参考项目配置文档

任务通知中心

任务完成后的消息通知会自动进入通知中心,通知中心入口在右下角的任务状态栏

任务状态栏也进行了优化,以图标形式显示正在进行中的任务、失败任务数、及通知中心入口。

控制台命令 cleanAppCache

在新版中,我们升级了 nw 内核,如果回退到旧版本,会在启动旧版本时出现提示 nw 版本不匹配的弹框,如需回退且避免这种情况,可在回退前在小程序调试器输入命令 cleanAppCache,然后再安装旧版本。

上传时版本号推荐

上传的对话框现在会显示版本号推荐

控制台显示当前页面是否被索引

代码保护现在默认打开

开启代码保护之后可以增加编译后的代码包的破解难度,在详情页中可以设置是否开启。

设置中增加通用设置

Network 面板显示图片

渲染层的图片请求现在也会展示在 Network 面板。


Nightly 快速更新机制

Nightly 版本是包含我们最新能力和 bugfix 的版本。现在 Nightly 版本支持快速更新和快速回退。安装了 Nightly 版本开发者工具后,如果再进行了升级,此时可以在菜单的检查更新下会有快速回退的选项,可以快速回退到上一个版本。


25711浏览
最后一次编辑于  2019-05-08
收藏

37 个评论

  • 小宋
    小宋
    2019-05-09

    之前版本老是告诉我"小程序重启耗时过久,请确认业务逻辑中是否有复杂运算,或者死循环"或者直接黑屏,我都不知道我干了啥,有时候项目刚起来就来个这玩意,是你们自己的代码有死循环吧


    2019-05-09
    赞同 8
    回复 15
    • 小宋
      小宋
      2019-05-09

      新版本刚打开就报这个

      2019-05-09
      1
      回复
    • 来一间
      来一间
      2019-05-09回复小宋

      我也是,怎么解决

      2019-05-09
      1
      回复
    • 陈式坚
      陈式坚
      2019-05-09

      最搞笑的是,我打开官方示例代码也提示这个

      2019-05-09
      5
      回复
    • 工号 9527
      工号 9527
      2019-05-09

      如果使用了多开项目,现在的机制多开的项目中小程序的运行时是使用了同一个进程,所以其中一个项目断点,或者运行缓慢,会影响到另外一个项目的小程序运行。

      后续我们会让不同项目的小程序运行时使用不同的进程,就能解决这个问题


      2019-05-09
      3
      回复
    • 小宋
      小宋
      2019-05-09

      但是我没有多开,就一个项目一个开发工具窗口,也是这样的,而且没有断点,我的截图是项目刚打开就这样的

      2019-05-09
      回复
    查看更多(10)
  • 杨
    2019-05-09

    问题太多,已退回稳定版了。建议不要更新安装

    2019-05-09
    赞同 2
    回复
  • love_飞影
    love_飞影
    2019-05-09

    getMenuButtonBoundingClientRect方法返回的信息错误,直接导致自定义菜单高度不对

    bottom: 609
    height: 32
    left: 278
    right: 10
    top: 26
    width: 87

    bottom都到600了。。

    2019-05-09
    赞同 2
    回复
  • 2019-05-08

    弱弱问句,bug多吗?

    2019-05-08
    赞同 2
    回复 2
    • !krong
      !krong
      2019-05-09

      在BUG方面。这个工具是专业的。

      2019-05-09
      20
      回复
    • 2019-05-13回复!krong

      被你逗笑了。

      2019-05-13
      2
      回复
  • 朝酒晚舞
    朝酒晚舞
    2019-05-08

    提个bug 开发者工具 webview 图片未适配 :



    真机正常:


    2019-05-08
    赞同 2
    回复
  • 今天天气很好
    今天天气很好
    2019-05-14

    我觉得小程序开发者工具还是挺好的,除了有时候Ctrl+F搜索框打不了字,打开页面打不了代码,或者不能在开发者工具用复制粘贴,还有有时候莫名其妙会卡死(也许是我电脑问题)等以外,还是挺好的....(/滑稽护体)

    2019-05-14
    赞同 1
    回复
  • 陈式坚
    陈式坚
    2019-05-09

    这个Nework面板,加载一会就变这样了



    2019-05-09
    赞同 1
    回复 1
    • 陈式坚
      陈式坚
      2019-05-09


      2019-05-09
      1
      回复
  • 陈式坚
    陈式坚
    2019-05-09

    编译预览的时候,直接卡在某个文件


    文件内容:

    const getLocalStoreVal = async key => {
      let _res = null;
      try {
        _res = wx.getStorageSync(key);
      } catch (err) {
        return Promise.reject(err);
      }
      return Promise.resolve(_res);
    };
     
    const setLocalStoreVal = async (key, value) => {
      try {
        wx.setStorageSync(key, value);
      } catch (err) {
        return Promise.reject(err);
      }
      return Promise.resolve();
    };
     
    export { getLocalStoreVal, setLocalStoreVal };



    大概编译5分钟后成功

    2019-05-09
    赞同 1
    回复 4
    • 燚
      2019-05-09

      这个是开启增强编译才有问题?

      2019-05-09
      回复
    • 陈式坚
      陈式坚
      2019-05-09回复

      我试了一下不打开的话

      也会在这个文件稍微卡一会,但是不会很久



      2019-05-09
      回复
    • 2019-05-10

      同样的情况,请求都发出了,状态都是200,但是过了几分钟才返回,期间提示运行时间过长,怀疑复杂运算和死循环

      2019-05-10
      回复
    • Mystic
      Mystic
      2019-06-10

      微信开发者工具是最垃圾的,问题太多,太卡了,动不动内存全部占满,而且编译很慢,是否增强编译都很慢,电脑配置也还可以,I5 16G内存,在调试栏要选中定位标签位置很慢,在调试栏直接修改调试样式根本就不用想

      2019-06-10
      回复
  • 陈式坚
    陈式坚
    2019-05-09

    打开增强编译后,对于文件数量比较多的项目,编译一次要1分钟



    描述:

    保存文件 =》 编译器大概2秒 =》 开始白屏(估计再编译) =》 38秒有console了 =》 40秒后出现页面


    视频地址https://pig-imgs.inairdrop.top/QQ20190509-112007-HD.mp4

    console输出




    没开的情况:

    正常是3 ~ 5秒,虽然很慢了,不过习惯了





    2019-05-09
    赞同 1
    回复 4
    • 燚
      2019-05-09

      打开、关闭增强编译,都会触发一次全量文件重新编译。前者使用新编译方式,后者使用原有逻辑,你是说这里一个1分钟,一个3-5秒?

      在某个模式下,点击编译按钮,是增量编译,只编译变更文件。

      2019-05-09
      回复
    • 陈式坚
      陈式坚
      2019-05-09回复

      这里不是第一次,是之后,编译特别的慢


      而且会一直触发[Violation] 'setTimeout' handler took <N>ms


      然后看文件调试是正常


      这个是调试微信开发者工具



      2019-05-09
      回复
    • 燚
      2019-05-09回复陈式坚

      项目文件数量大概是多少?

      2019-05-09
      回复
    • 陈式坚
      陈式坚
      2019-05-09回复

      只是猜测和项目文件数量有关哈


      文件个数:1289 包含npm

      页面路由数: 40

      组件数量:37

      js文件数量:500 包含npm


      就是没开时候的体验变化太明显了


      2019-05-09
      回复
  • 再见小时候
    再见小时候
    2019-05-09

    插件模式下



    点击确定后 无反应 开发工具内所有区域都无法继续点击 应该是被弹窗遮罩了 但又看不见这个弹窗 啊啊啊啊啊啊啊啊啊啊啊啊啊

    2019-05-09
    赞同 1
    回复 1
    • 工号 9527
      工号 9527
      2019-05-09

      你好,问题已复现,我们将尽快修复

      2019-05-09
      回复

正在加载...

登录 后发表内容