a***@163.com
a***@163.com
  • 发布:2022-09-28 10:41
  • 更新:2025-08-06 17:03
  • 阅读:470

【报Bug】vue3 添加workers目录和workers/index.js文件,manifest.json配置了,workers目录没有编译到微信开发工具

分类:uni-app

产品分类: uniapp/小程序/微信

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10

第三方开发者工具版本号: stable 1.06.2209070

基础库版本号: 2.25.3

项目创建方式: CLI

CLI版本号: 3.0.0-alpha-3060320220919001

示例代码:
// manifest.json  
"mp-weixin" : {  
        ...,  
        "workers": "workers"  
    },
// src/workers/index.js  

worker.onMessage((res) => {  
  console.log('messge', res)  
})  
// 页面中  
const worker = uni.createWorker('workers/index.js')  
// const worker = uni.createWorker('@/workers/index.js')

操作步骤:
// manifest.json  
"mp-weixin" : {  
        ...,  
        "workers": "workers"  
    },
// src/workers/index.js  

worker.onMessage((res) => {  
  console.log('messge', res)  
})  
// 页面中  
const worker = uni.createWorker('workers/index.js')  
// const worker = uni.createWorker('@/workers/index.js')

预期结果:

workers目录编译到小程序代码中

实际结果:

workers目录没有编译到小程序代码中

bug描述:

vue3 添加workers目录和workers/index.js文件,manifest.json配置了,workers目录没有编译到微信开发工具。

2022-09-28 10:41 负责人:无 分享
已邀请:

最佳回复

DCloud_UNI_JBB

DCloud_UNI_JBB

workers字段可以声明在 manifest.json 的指定小程序平台下面

"mp-weixin": {  
    "workers": "workers"  
  }

此外,框架不会拷贝workers对应的目录以及目录下面的文件,可以参考下面的代码的逻辑自行实现拷贝目标目录

import path from 'path';  
import fs from 'fs-extra';  
import { defineConfig } from 'vite';  
import uni from '@dcloudio/vite-plugin-uni';  

function copyFile() {  
    return {  
        enforce: 'post',  
        async writeBundle() {  
            await fs.copy(  
                path.resolve(__dirname, 'images'),  
                path.join(  
                    __dirname,  
                    'unpackage/dist',  
                    process.env.NODE_ENV === 'production' ? 'build' : 'dev',  
                    process.env.UNI_PLATFORM,  
                    'images'  
                )  
            );  
        },  
    };  
}  

export default defineConfig({  
    plugins: [uni(), copyFile()],  
});
z***@outlook.com

z***@outlook.com

需要在pages.json里面添加"workers": "workers",
manifest.json里面添加 "workers": "workers",

配置好之后把dist删除,多打包几次

"mp-weixin" : {
"appid" : "",
"setting" : {
"urlCheck" : true,
"es6" : true,
"minified" : true,
"postcss" : true
},
"optimization" : {
"subPackages" : true
},
"usingComponents" : true,
"permission" : {
"scope.userLocation" : {
"desc" : "您的位置将用于获取当前城市的商品"
}
},
"requiredPrivateInfos" : [ "chooseAddress", "chooseLocation", "choosePoi", "getLocation" ],
// "lazyCodeLoading": "requiredComponents"
"workers": "workers"
},

最终图

a***@163.com

a***@163.com (作者)

为啥没人回复

1***@qq.com

1***@qq.com

2024了,我也遇到这个问题了,不知道怎么搞啊

瓜瓜123

瓜瓜123

2025了,还是遇到了

要回复问题请先登录注册