解决微信小程序“app.json: [“workers“] 字段需为 目录“错误及worker的使用

这篇具有很好参考价值的文章主要介绍了解决微信小程序“app.json: [“workers“] 字段需为 目录“错误及worker的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

我们如果遇到[ miniprogram/app.json 文件内容错误] miniprogram/app.json: [“workers”] 字段需为 目录(env: Windows,mp,1.06.2209190; lib: 2.21.4)这样的错误,那么一定是我们在app.json中定义了这个字段。

一、解决错误

1.方法一:

找到这个字段直接删除即可。

2.方法二:

在你的项目目录中补充一个对应的workers目录即可。

上面两种方法只不过是令小程序调试的时候不报错,但实际我们要正利用好worker那就要复杂一些。继续看下面的介绍。

二、关于worker及使用

workers究竟是来干什么的,其实微信的文档中已经说明了,这就是我们在其他编程语言中遇到的线程。
参考这里
要真正使用worker必须满足下面的两步:

1、为worker目录下添加js文件

在其目录下添加完成js文件并编写一个可供调用的函数,提供给worker调用。这里我们命名为index.js(名称无所谓,关键在后面的页面js文件中要如实的按照路径和名称填写在createworker构造函数中)

// index.js
//这里的onMessage函数是供声明了worker实例的页面js调用的
worker.onMessage(function(res){
  console.log('worker inner thread is running')
  console.log(res)
  let sum = times(res.x,res.y);  //这里调用了下面的times函数
  worker.postMessage({
    sum : sum
  })
});

//声明被调用的函数
function times(x,y){
  return x*y;
}

2、从页面js中调用

在需要调用worker线程的页面的函数中添加worker实例,并调用worker目录下已有的js文件的函数
这里就是某个页面的js的调用,我们首先在onLoad里面实例化一个woker,并在createWorker构造函数中给予worker文件夹的绝对路径,一定是绝对路径,建议放在minprogram目录下好。

onLoad: function (options) {

    const worker = wx.createWorker('/workers/index.js');
    worker.postMessage({     //与前面worker目录下index.js下声明的函数名对应
      x : 10,
      y : 2
    });

    worker.onMessage(function(res){ //与前面worker目录下index.js下声明的函数名对应
      console.log('print from worker thread result.')
      console.log(res)
    });
    
  },

输出结果为:
文章来源地址https://www.toymoban.com/news/detail-520402.html

到了这里,关于解决微信小程序“app.json: [“workers“] 字段需为 目录“错误及worker的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包