当前位置:首页>鸿蒙APP>【鸿蒙开发】Worker线程开发-路径配置

【鸿蒙开发】Worker线程开发-路径配置

  • 2026-11-05 18:43:32
【鸿蒙开发】Worker线程开发-路径配置

鸿蒙中worker开发相对于taskpool要繁琐一些:其中有两个路径需要配置:

1. build-profile.json5 中 workers 字段的路径

如果是手动创建 worker 文件,需要在:

entry/build-profile.json5
里面增加:
"buildOption": {    "sourceOption": {      "workers": [        "./src/main/ets/workers/SumWorker.ets"      ]    }  },

否则:能编译,但运行时可能找不到 worker,或者不会被打包

2、new worker.ThreadWorker(...) 运行时构造参数的路径

假设:entry/src/main/ets/workers/FileWorker.ets

那么:

import { worker } from '@kit.ArkTS'const fileWorker = new worker.ThreadWorker(  'entry/ets/workers/FileWorker.ets')

注意:这里不是:

./workers/FileWorker.ets
也不是:
src/main/ets/workers
而是:

模块名/ets/相对路径

entry/ets/workers/FileWorker.ets

3、路径规则本质

规则其实是:

{moduleName}/ets/{relativePath}

其中:

moduleName = entry

relativePath = workers/FileWorker.ets

所以:

entry/ets/workers/FileWorker.ets

4、HAR / HSP 的特殊写法

HSP

new worker.ThreadWorker(  'hsp/ets/workers/TestWorker.ets')

HAR

有两种:

  1. @方式

new worker.ThreadWorker(  '@har/ets/workers/TestWorker.ets')

2. 相对路径方式

new worker.ThreadWorker(  '../../workers/TestWorker.ets')

5、最容易踩坑的问题

1、路径写成相对路径

new ThreadWorker('./workers/TestWorker.ets')

2、worker 不在 ets 下

必须在:

src/main/ets/

下面。

6、官方推荐方式(最省事)

直接创建worker

DevEco 会自动:

  • 创建目录
  • 配置 build-profile.json5
  • 生成模板代码

这是最稳的。

最新文章

随机文章