Pārlūkot izejas kodu

🐛 fix(mini): 解决小程序构建中 globalThis 未定义问题
- 在 webpack 配置中添加 DefinePlugin 定义 globalThis 全局变量
- 修复 npm 包中缺少 typeof globalThis === 'undefined' 判断的问题

🔧 chore(ci): 添加小程序构建命令到 Claude 配置
- 在 .claude/settings.local.json 中添加 "Bash(pnpm run build:weapp:*)" 命令白名单

yourname 3 mēneši atpakaļ
vecāks
revīzija
95741ca308
2 mainītis faili ar 9 papildinājumiem un 2 dzēšanām
  1. 2 1
      .claude/settings.local.json
  2. 7 1
      mini/config/index.ts

+ 2 - 1
.claude/settings.local.json

@@ -38,7 +38,8 @@
       "Bash(git diff:*)",
       "Bash(pnpm build)",
       "Bash(pnpm run typecheck:*)",
-      "Bash(curl:*)"
+      "Bash(curl:*)",
+      "Bash(pnpm run build:weapp:*)"
     ],
     "deny": [],
     "ask": []

+ 7 - 1
mini/config/index.ts

@@ -67,6 +67,12 @@ export default defineConfig<'webpack5'>(async (merge) => {
       },
       webpackChain(chain) {
         chain.resolve.plugin('tsconfig-paths').use(TsconfigPathsPlugin)
+
+        // 定义 globalThis 全局变量,解决 npm 包中缺少 typeof globalThis === 'undefined' 判断的问题
+        chain.plugin('define-globalThis').use(require('webpack').DefinePlugin, [{
+          'globalThis': '(typeof globalThis !== "undefined" ? globalThis : {})'
+        }])
+
         chain.merge({
           plugin: {
             install: {
@@ -76,7 +82,7 @@ export default defineConfig<'webpack5'>(async (merge) => {
                 cssSelectorReplacement:{
                   universal: ['view','text','button', 'input']
                 },
-                cssChildCombinatorReplaceValue: ['view', 'text', 'button', 'input']  
+                cssChildCombinatorReplaceValue: ['view', 'text', 'button', 'input']
               }]
             }
           }