dcloudio/uni-app

Cli biuld 后 方法中 worklet 关键字被移除

Closed this issue · 3 comments

发行方式

小程序

具体平台

微信小程序

开发环境

macOS

项目创建方式

CLI命令行

依赖版本

{
  "dependencies": {
    "@dcloudio/uni-app": "3.0.0-4070620250821001",
    "@dcloudio/uni-app-harmony": "3.0.0-4070620250821001",
    "@dcloudio/uni-app-plus": "3.0.0-4070620250821001",
    "@dcloudio/uni-components": "3.0.0-4070620250821001",
    "@dcloudio/uni-h5": "3.0.0-4070620250821001",
    "@dcloudio/uni-mp-alipay": "3.0.0-4070620250821001",
    "@dcloudio/uni-mp-baidu": "3.0.0-4070620250821001",
    "@dcloudio/uni-mp-harmony": "3.0.0-4070620250821001",
    "@dcloudio/uni-mp-jd": "3.0.0-4070620250821001",
    "@dcloudio/uni-mp-kuaishou": "3.0.0-4070620250821001",
    "@dcloudio/uni-mp-lark": "3.0.0-4070620250821001",
    "@dcloudio/uni-mp-qq": "3.0.0-4070620250821001",
    "@dcloudio/uni-mp-toutiao": "3.0.0-4070620250821001",
    "@dcloudio/uni-mp-weixin": "3.0.0-4070620250821001",
    "@dcloudio/uni-mp-xhs": "3.0.0-4070620250821001",
    "@dcloudio/uni-quickapp-webview": "3.0.0-4070620250821001",
    "lodash": "^4.17.21",
    "vue": "3.4.21",
    "vue-i18n": "9.14.5"
  },
  "devDependencies": {
    "@dcloudio/types": "3.4.22",
    "@dcloudio/uni-automator": "3.0.0-4070620250821001",
    "@dcloudio/uni-cli-shared": "3.0.0-4070620250821001",
    "@dcloudio/uni-stacktracey": "3.0.0-4070620250821001",
    "@dcloudio/vite-plugin-uni": "3.0.0-4070620250821001",
    "@vitejs/plugin-vue": "^6.0.1",
    "@vue/eslint-config-prettier": "^10.2.0",
    "@vue/runtime-core": "3.5.22",
    "eslint": "^9.36.0",
    "eslint-plugin-vue": "^10.5.0",
    "sass": "^1.93.1",
    "vite": "5.2.8",
    "vite-plugin-mock": "^3.0.2"
  }}

问题描述

npm run dev:mp-weixin 的时候, 代码未压缩,正常运行

Image

npm run build:mp-weixin 后, 压缩, worklet 关键字被移除

Image

重现步骤

npm run build:mp-weixin

期望行为

保留 'worklet' 关键字

实际行为

方法中 'worklet' 关键字被移除

截图或录屏

No response

package.json

{
  "scripts": {
    "build:mp-weixin": "uni build -p mp-weixin --minify=esbuild"
  }
}

试试这样配置 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
    }
  },
  plugins: [
    uni()
  ],
})

试试这样配置 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
}
},
plugins: [
uni()
],
})

经过测试:

  • 指定 --minify 参数为 esbuild
  • vite.config.js 设置 build.minifyesbuild
    两种方式都可以, keepNames 配置 true or false 都没有影响