skyline模式下发布正式版小程序 uni-app worklet代码不支持
skyline模式下发布正式版小程序 uni-app worklet代码不支持
操作步骤:
- 运行附件,点击按钮
预期结果:
- 正常页面跳转
实际结果:
- 黑屏
bug描述:
- skyline模式下,发布到正式版,worklet编译中被删除了(直接运行到小程序没问题),下面有示例代码
bug文件
| 项目信息 | 详情 |
|---|---|
| 产品分类 | uniapp/小程序/微信 |
| PC开发环境操作系统 | Windows |
| PC开发环境操作系统版本号 | win10 LSTC 2021 |
| HBuilderX类型 | 正式 |
| HBuilderX版本号 | 4.75 |
| 第三方开发者工具版本号 | 1.06.2504010 |
| 基础库版本号 | 3.8.10 |
| 项目创建方式 | HBuilderX |
更多关于skyline模式下发布正式版小程序 uni-app worklet代码不支持的实战教程也可以访问 https://www.itying.com/category-93-b0.html
试试这样配置 vite.config.js 文件
import { defineConfig } from ‘vite’
import uni from ‘@dcloudio/vite-plugin-uni’
// https://vitejs.dev/config/
export default defineConfig({
build: {
// minify: ‘esbuild’,
// esbuild: {
// // 保留worklet关键字
// keepNames: true
// }
minify: ‘terser’,
terserOptions: {
compress: {
directives: false,
},
},
},
plugins: [
uni()
],
})
更多关于skyline模式下发布正式版小程序 uni-app worklet代码不支持的实战教程也可以访问 https://www.itying.com/category-93-b0.html
你发行模式下有这个警告吗?
处理好了吗
没发现这个警告
你开启 编译 worklet 代码 这个选项了吗?我开启了之后就是正常的
要发行模式,勾选过了worklet了,我的确实没有编译到,具体的编译代码是 “use strict”; const e = require("./vendor.js"); exports.registerFade = () => { e.wx$1.router.addRouteBuilder(“fade”, (e => { const { primaryAnimation: a, secondaryAnimation: i } = e; return { handlePrimaryAnimation: () => ({ opacity: a.value }), handlePreviousPageAnimation: () => ({ opacity: 1 - a.value }), opaque: !0, transitionDuration: 500 } })) }; 缺了 “worklet”标识的
回复 李漂泊: 我就是发行模式
我也遇到这个问题,在发布正式版本后’worklet’标识被删除
你开启了 编译 worklet 代码 吗?
回复 DCloud_UNI_JBB: 是HbuilderX在点击发布之后,代码中的’worklet’标识被删除。和微信小程序开发者工具的编译worklet代码选项无关。
回复 3***@qq.com: 发个demo
同样的问题,改了一下terser压缩的配置
// vue.config.js
configureWebpack: config => {
if (process.env.NODE_ENV === ‘production’) {
config.optimization.minimizer[0].options.terserOptions.compress.directives = false
}
}

