b***@163.com
b***@163.com
  • 发布:2022-11-09 19:34
  • 更新:2022-11-17 14:50
  • 阅读:385

【报Bug】vue3+vite,最新版uni-cli-shared,微信小程序打包异常

分类:uni-app

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

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Deepin Linux 20.7.1

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

基础库版本号: 2.27.2

项目创建方式: CLI

CLI版本号: 3.0.0-alpha-3060820221027004

操作步骤:

@dcloudio/uni-cli-shared/dist/mp/plugin.js文件中manifestJson.themeLocation = 'theme.json' 改为manifestJson.themeLocation == 'theme.json' 打包正常

预期结果:

项目无drakmode不需要自定义主题时,打包产物app.json文件中不应有themeLocation属性。

实际结果:

修改@dcloudio/uni-cli-shared/dist/mp/plugin.js代码后可正常打包

bug描述:

微信小程序打包提示,找不到theme.json,微信开发者工具无法正常编译。

经检查,打包产物中app.json文件存在themeLocation:"theme.json"属性,但产物中无theme.json文件。

项目无drakmode不需要自定义主题,因此,打包产物app.json文件中不应有themeLocation属性。

经测试检查@dcloudio/uni-cli-shared包,3.0.0-alpha-3060820221027003、3.0.0-alpha-3060820221027004两个版本有问题,3.0.0-alpha-3060820221027002版本正常。

检查发现文件@dcloudio/uni-cli-shared/dist/mp/plugin.js有如下代码:
其中,语句 manifestJson.themeLocation = 'theme.json' 应为 “==” 判断而不是“=”赋值
@dcloudio/uni-cli-shared/dist/mp/plugin.js

const copyMiniProgramThemeJson = () => {  
    if (!process.env.UNI_INPUT_DIR)  
        return [];  
    const manifestJson = (0, manifest_1.parseManifestJsonOnce)(process.env.UNI_INPUT_DIR)[process.env.UNI_PLATFORM] || {};  
    return (manifestJson.darkmode && manifestJson.themeLocation) ||  
    // 此处不应为赋值,而是判断是否等于'theme.json'  
     (manifestJson.themeLocation = 'theme.json') ? [  
        {  
            src: [manifestJson.themeLocation],  
            get dest() {  
                return process.env.UNI_OUTPUT_DIR;  
            },  
            transform(source) {  
                return JSON.stringify((0, json_1.parseJson)(source.toString(), true), null, 2);  
            },  
        },  
    ]  
        : [];  
};
2022-11-09 19:34 负责人:DCloud_UNI_LXH 分享
已邀请:
DCloud_UNI_LXH

DCloud_UNI_LXH

alpha 3.6.9 已修复

j***@163.com

j***@163.com

有效

b***@163.com

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

最新版已修复

该问题目前已经被锁定, 无法添加新回复