内置的async模块在微信平台出错

async这个模块是creator里面内置的,我以前没有试过编译到微信,这两天一试就出现这个错误,我开始以为是项目问题,所以我就新建一个helloworld模板的项目先编译运行到微信开发者工具,没有出现任何问题,然后就直接加上上面那句就出问题了,请问这是因为微信不支持async这个模块吗?如果不支持要怎么解决,找什么样的替代工具,再说我认为如果async模块不能支持全平台就不要内置到creator里面,免得用了出现问题又要大改。

这个是 babel 的 runtime 插件没安装导致的,Creator 现在没有这方面的支持。建议直接用 ts,ts 的 async 可以正常工作。

麻烦看清楚,async是一个库,creator里面已经内置了,不是async语法,是一个纯js库,浏览器和native都能用,在creator里面编译没问题,使用也没问题,只是在微信开发者工具里报错找不到模块。再说,如果不支持那就不要内置到引擎里面,而且简单的一句使用ts,哪有那么容易的,几万行代码要改,还有服务器的共用库。

麻烦提供下你的项目工程,async 不是内置的库,应该是你项目导入的,官方文档上也没有提到有内置这个库的。

如果你是调试模式,我这边看了是可以包含到该库,那是因为引擎的工程有导入这个库,但是你的项目导出的时候,应该是没有这个库文件的,你可以在本地项目路径,执行 npm install async ,把库下载下来再构建一次就可以的。

我开始是直接在项目里面直接内置了这个async.js的库,一直都是可以用的,然后我看到在微信平台打包后也有这个js文件,但是不知道为什么就报错,说找不到模块,而在creator里面导入第三方js库,是不需要路径的,就直接require文件名就可以了,所以我也不知道怎么去查这种错误是怎么发生的,工程很简单,你就直接新建一个helloworld的工程,然后加上下面这一句
const async = require(‘async’);
就可以复现这个错误了。
async.js是一个纯粹的js库,按道理应该跟babel 没有任何关系。

是否有标记为插件吗?你使用我的方法吧,这个我验证了,没问题的。

微信小程序没有全局window对象,也不能用导出为插件,如果代码使用window对象或者dom就会报错