@xiaonoodles/meetfun-i18n 1.2.16 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/FIX_WEBPACK_RESOLUTION.md +245 -245
- package/LICENSE +22 -22
- package/MIGRATION_GUIDE.md +253 -253
- package/README.md +482 -482
- package/TROUBLESHOOTING.md +280 -280
- package/VERIFY_FIX.md +272 -272
- package/VUE2_USAGE.md +170 -170
- package/dist/index.esm.js +40 -16
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +40 -16
- package/dist/index.js.map +1 -1
- package/dist/vue2/index.cjs +2589 -17
- package/dist/vue2/index.cjs.map +1 -1
- package/dist/vue2/index.esm.js +2575 -3
- package/dist/vue2/index.esm.js.map +1 -1
- package/package.json +78 -78
- package/vue2/index.d.ts +3 -3
- package/vue2/index.js +3 -3
- package/vue2/index.mjs +4 -4
- package/vue2/package.json +14 -14
- package/vue2.d.ts +3 -3
- package/vue2.mjs +13 -13
package/VERIFY_FIX.md
CHANGED
|
@@ -1,272 +1,272 @@
|
|
|
1
|
-
# 修复验证指南
|
|
2
|
-
|
|
3
|
-
## 📋 问题总结
|
|
4
|
-
|
|
5
|
-
**错误信息:**
|
|
6
|
-
```
|
|
7
|
-
ERROR in ./node_modules/meetfun-i18n/dist/index.esm.js 1029:20-30
|
|
8
|
-
export 'createI18n' (imported as 'createI18n') was not found in 'vue-i18n'
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
**根本原因:**
|
|
12
|
-
Webpack 5 在处理 `import from 'meetfun-i18n/vue2'` 时,没有正确解析到 Vue2 版本的代码,而是加载了 Vue3 版本(`dist/index.esm.js`)。Vue3 版本使用 `createI18n`(vue-i18n@9),但您的项目安装的是 vue-i18n@8(只有 `default` 导出),因此报错。
|
|
13
|
-
|
|
14
|
-
## ✅ 修复方案
|
|
15
|
-
|
|
16
|
-
创建了物理的 `vue2/` 目录,确保 Webpack 能够正确解析子路径导入。
|
|
17
|
-
|
|
18
|
-
## 🔍 验证步骤
|
|
19
|
-
|
|
20
|
-
### 步骤 1: 重新发布包(维护者)
|
|
21
|
-
|
|
22
|
-
```bash
|
|
23
|
-
# 确保已构建
|
|
24
|
-
pnpm build
|
|
25
|
-
|
|
26
|
-
# 发布新版本 1.2.1
|
|
27
|
-
npm publish
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
### 步骤 2: 在您的项目中更新(用户)
|
|
31
|
-
|
|
32
|
-
```bash
|
|
33
|
-
# 方式 1: 更新到最新版本
|
|
34
|
-
pnpm update meetfun-i18n
|
|
35
|
-
|
|
36
|
-
# 方式 2: 指定版本更新
|
|
37
|
-
pnpm add meetfun-i18n@1.2.1
|
|
38
|
-
|
|
39
|
-
# 方式 3: 强制重新安装
|
|
40
|
-
pnpm remove meetfun-i18n
|
|
41
|
-
pnpm add meetfun-i18n@latest
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
### 步骤 3: 验证文件结构
|
|
45
|
-
|
|
46
|
-
更新后,检查 `node_modules/meetfun-i18n/` 是否包含:
|
|
47
|
-
|
|
48
|
-
```bash
|
|
49
|
-
ls node_modules/meetfun-i18n/vue2/
|
|
50
|
-
|
|
51
|
-
# 应该看到以下文件:
|
|
52
|
-
# ✅ package.json
|
|
53
|
-
# ✅ index.js
|
|
54
|
-
# ✅ index.mjs
|
|
55
|
-
# ✅ index.d.ts
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
查看 `vue2/package.json` 内容:
|
|
59
|
-
|
|
60
|
-
```bash
|
|
61
|
-
cat node_modules/meetfun-i18n/vue2/package.json
|
|
62
|
-
|
|
63
|
-
# 应该显示:
|
|
64
|
-
{
|
|
65
|
-
"main": "../dist/vue2/index.js",
|
|
66
|
-
"module": "../dist/vue2/index.esm.js",
|
|
67
|
-
"types": "../dist/vue2/index.d.ts"
|
|
68
|
-
}
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
### 步骤 4: 清除缓存
|
|
72
|
-
|
|
73
|
-
```bash
|
|
74
|
-
# 清除 node_modules(确保干净安装)
|
|
75
|
-
rm -rf node_modules
|
|
76
|
-
rm pnpm-lock.yaml
|
|
77
|
-
|
|
78
|
-
# 重新安装
|
|
79
|
-
pnpm install
|
|
80
|
-
|
|
81
|
-
# 清除构建缓存
|
|
82
|
-
rm -rf unpackage # uni-app 项目
|
|
83
|
-
rm -rf dist # 如果有
|
|
84
|
-
rm -rf .cache # Webpack 缓存
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
### 步骤 5: 验证代码
|
|
88
|
-
|
|
89
|
-
在您的 `src/locales/index.js` 中确认引入语句:
|
|
90
|
-
|
|
91
|
-
```javascript
|
|
92
|
-
// ✅ 正确的引入方式
|
|
93
|
-
import { createMeetFunI18n } from 'meetfun-i18n/vue2'
|
|
94
|
-
|
|
95
|
-
// ❌ 错误 - 这会加载 Vue3 版本
|
|
96
|
-
// import { createMeetFunI18n } from 'meetfun-i18n'
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
### 步骤 6: 添加调试代码
|
|
100
|
-
|
|
101
|
-
临时添加以下代码来验证加载的版本:
|
|
102
|
-
|
|
103
|
-
```javascript
|
|
104
|
-
import { createMeetFunI18n } from 'meetfun-i18n/vue2'
|
|
105
|
-
|
|
106
|
-
console.log('✅ 导入成功')
|
|
107
|
-
console.log('createMeetFunI18n:', typeof createMeetFunI18n)
|
|
108
|
-
|
|
109
|
-
// 创建一个测试实例
|
|
110
|
-
const testInstance = createMeetFunI18n(
|
|
111
|
-
{ 'zh-Hans': {} },
|
|
112
|
-
{
|
|
113
|
-
queryLangDictHotData: async () => ({ data: {} }),
|
|
114
|
-
queryLangDictColdData: async () => ({ data: {} })
|
|
115
|
-
}
|
|
116
|
-
)
|
|
117
|
-
|
|
118
|
-
const i18n = testInstance.getI18n()
|
|
119
|
-
console.log('i18n 实例类型:', i18n.constructor.name)
|
|
120
|
-
console.log('是否有 t 方法:', typeof i18n.t)
|
|
121
|
-
|
|
122
|
-
// 期望输出:
|
|
123
|
-
// ✅ 导入成功
|
|
124
|
-
// createMeetFunI18n: function
|
|
125
|
-
// i18n 实例类型: VueI18n
|
|
126
|
-
// 是否有 t 方法: function
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
### 步骤 7: 重新编译运行
|
|
130
|
-
|
|
131
|
-
```bash
|
|
132
|
-
# 重新运行开发服务器
|
|
133
|
-
npm run dev
|
|
134
|
-
|
|
135
|
-
# 或针对特定平台
|
|
136
|
-
npm run dev:mp-weixin
|
|
137
|
-
npm run dev:h5
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
## 🎯 预期结果
|
|
141
|
-
|
|
142
|
-
### 成功标志
|
|
143
|
-
|
|
144
|
-
1. ✅ 不再出现 `export 'createI18n' was not found` 错误
|
|
145
|
-
2. ✅ 控制台输出显示 `i18n 实例类型: VueI18n`
|
|
146
|
-
3. ✅ 项目正常编译和运行
|
|
147
|
-
4. ✅ 翻译功能正常工作
|
|
148
|
-
|
|
149
|
-
### 如果还是失败
|
|
150
|
-
|
|
151
|
-
请检查以下内容:
|
|
152
|
-
|
|
153
|
-
#### 1. 确认 vue-i18n 版本
|
|
154
|
-
|
|
155
|
-
```bash
|
|
156
|
-
pnpm list vue-i18n
|
|
157
|
-
|
|
158
|
-
# Vue2 项目应该显示:
|
|
159
|
-
# vue-i18n 8.x.x
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
如果不是 8.x.x,重新安装:
|
|
163
|
-
|
|
164
|
-
```bash
|
|
165
|
-
pnpm remove vue-i18n
|
|
166
|
-
pnpm add vue-i18n@^8.0.0
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
#### 2. 检查引入路径
|
|
170
|
-
|
|
171
|
-
确保所有文件都使用 `/vue2`:
|
|
172
|
-
|
|
173
|
-
```bash
|
|
174
|
-
# 搜索项目中的所有引入
|
|
175
|
-
grep -r "from 'meetfun-i18n'" src/
|
|
176
|
-
|
|
177
|
-
# 应该都是:
|
|
178
|
-
# from 'meetfun-i18n/vue2'
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
#### 3. 检查 Webpack 配置
|
|
182
|
-
|
|
183
|
-
如果项目有自定义的 `webpack.config.js` 或 `vue.config.js`,确保没有配置冲突:
|
|
184
|
-
|
|
185
|
-
```javascript
|
|
186
|
-
// vue.config.js
|
|
187
|
-
module.exports = {
|
|
188
|
-
configureWebpack: {
|
|
189
|
-
resolve: {
|
|
190
|
-
// 确保这里没有关于 meetfun-i18n 的别名配置
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
#### 4. 尝试直接路径
|
|
197
|
-
|
|
198
|
-
作为临时测试,可以尝试直接引入:
|
|
199
|
-
|
|
200
|
-
```javascript
|
|
201
|
-
// 测试:直接引入 dist/vue2
|
|
202
|
-
import { createMeetFunI18n } from 'meetfun-i18n/dist/vue2/index.esm.js'
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
如果这样能工作,说明是路径解析问题,请提供您的 Webpack 配置。
|
|
206
|
-
|
|
207
|
-
## 📊 对比表
|
|
208
|
-
|
|
209
|
-
| 检查项 | Vue3 版本(错误) | Vue2 版本(正确) |
|
|
210
|
-
|--------|------------------|-------------------|
|
|
211
|
-
| **引入路径** | `meetfun-i18n` | `meetfun-i18n/vue2` |
|
|
212
|
-
| **加载文件** | `dist/index.esm.js` | `dist/vue2/index.esm.js` |
|
|
213
|
-
| **i18n 创建** | `createI18n()` | `new VueI18n()` |
|
|
214
|
-
| **实例类型** | `Composer` | `VueI18n` |
|
|
215
|
-
| **vue-i18n 版本** | 9.x | 8.x |
|
|
216
|
-
|
|
217
|
-
## 🆘 获取帮助
|
|
218
|
-
|
|
219
|
-
如果以上步骤都完成了还是不行,请提供以下信息:
|
|
220
|
-
|
|
221
|
-
1. **包版本信息:**
|
|
222
|
-
```bash
|
|
223
|
-
pnpm list meetfun-i18n vue vue-i18n
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
2. **文件是否存在:**
|
|
227
|
-
```bash
|
|
228
|
-
ls -la node_modules/meetfun-i18n/vue2/
|
|
229
|
-
```
|
|
230
|
-
|
|
231
|
-
3. **引入代码:**
|
|
232
|
-
```javascript
|
|
233
|
-
// 粘贴您的 src/locales/index.js 的引入部分
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
4. **完整错误信息:**
|
|
237
|
-
```
|
|
238
|
-
// 粘贴完整的错误堆栈
|
|
239
|
-
```
|
|
240
|
-
|
|
241
|
-
5. **项目环境:**
|
|
242
|
-
- uni-app 版本
|
|
243
|
-
- 使用的打包工具(HBuilderX / CLI)
|
|
244
|
-
- Node.js 版本
|
|
245
|
-
|
|
246
|
-
## 📚 相关文档
|
|
247
|
-
|
|
248
|
-
- [FIX_WEBPACK_RESOLUTION.md](./FIX_WEBPACK_RESOLUTION.md) - 技术细节
|
|
249
|
-
- [TROUBLESHOOTING.md](./TROUBLESHOOTING.md) - 故障排除
|
|
250
|
-
- [VUE2_USAGE.md](./VUE2_USAGE.md) - Vue2 使用指南
|
|
251
|
-
|
|
252
|
-
## ✨ 成功案例
|
|
253
|
-
|
|
254
|
-
更新到 1.2.1 后,以下场景都应该正常工作:
|
|
255
|
-
|
|
256
|
-
```javascript
|
|
257
|
-
// ✅ ES Module 导入
|
|
258
|
-
import { createMeetFunI18n } from 'meetfun-i18n/vue2'
|
|
259
|
-
|
|
260
|
-
// ✅ CommonJS 导入
|
|
261
|
-
const { createMeetFunI18n } = require('meetfun-i18n/vue2')
|
|
262
|
-
|
|
263
|
-
// ✅ TypeScript 类型
|
|
264
|
-
import type { I18nConfig, ApiConfig } from 'meetfun-i18n/vue2'
|
|
265
|
-
|
|
266
|
-
// ✅ 动态导入
|
|
267
|
-
const module = await import('meetfun-i18n/vue2')
|
|
268
|
-
|
|
269
|
-
// ✅ 默认导出
|
|
270
|
-
import createMeetFunI18n from 'meetfun-i18n/vue2'
|
|
271
|
-
```
|
|
272
|
-
|
|
1
|
+
# 修复验证指南
|
|
2
|
+
|
|
3
|
+
## 📋 问题总结
|
|
4
|
+
|
|
5
|
+
**错误信息:**
|
|
6
|
+
```
|
|
7
|
+
ERROR in ./node_modules/meetfun-i18n/dist/index.esm.js 1029:20-30
|
|
8
|
+
export 'createI18n' (imported as 'createI18n') was not found in 'vue-i18n'
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
**根本原因:**
|
|
12
|
+
Webpack 5 在处理 `import from 'meetfun-i18n/vue2'` 时,没有正确解析到 Vue2 版本的代码,而是加载了 Vue3 版本(`dist/index.esm.js`)。Vue3 版本使用 `createI18n`(vue-i18n@9),但您的项目安装的是 vue-i18n@8(只有 `default` 导出),因此报错。
|
|
13
|
+
|
|
14
|
+
## ✅ 修复方案
|
|
15
|
+
|
|
16
|
+
创建了物理的 `vue2/` 目录,确保 Webpack 能够正确解析子路径导入。
|
|
17
|
+
|
|
18
|
+
## 🔍 验证步骤
|
|
19
|
+
|
|
20
|
+
### 步骤 1: 重新发布包(维护者)
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# 确保已构建
|
|
24
|
+
pnpm build
|
|
25
|
+
|
|
26
|
+
# 发布新版本 1.2.1
|
|
27
|
+
npm publish
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### 步骤 2: 在您的项目中更新(用户)
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
# 方式 1: 更新到最新版本
|
|
34
|
+
pnpm update meetfun-i18n
|
|
35
|
+
|
|
36
|
+
# 方式 2: 指定版本更新
|
|
37
|
+
pnpm add meetfun-i18n@1.2.1
|
|
38
|
+
|
|
39
|
+
# 方式 3: 强制重新安装
|
|
40
|
+
pnpm remove meetfun-i18n
|
|
41
|
+
pnpm add meetfun-i18n@latest
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### 步骤 3: 验证文件结构
|
|
45
|
+
|
|
46
|
+
更新后,检查 `node_modules/meetfun-i18n/` 是否包含:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
ls node_modules/meetfun-i18n/vue2/
|
|
50
|
+
|
|
51
|
+
# 应该看到以下文件:
|
|
52
|
+
# ✅ package.json
|
|
53
|
+
# ✅ index.js
|
|
54
|
+
# ✅ index.mjs
|
|
55
|
+
# ✅ index.d.ts
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
查看 `vue2/package.json` 内容:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
cat node_modules/meetfun-i18n/vue2/package.json
|
|
62
|
+
|
|
63
|
+
# 应该显示:
|
|
64
|
+
{
|
|
65
|
+
"main": "../dist/vue2/index.js",
|
|
66
|
+
"module": "../dist/vue2/index.esm.js",
|
|
67
|
+
"types": "../dist/vue2/index.d.ts"
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### 步骤 4: 清除缓存
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
# 清除 node_modules(确保干净安装)
|
|
75
|
+
rm -rf node_modules
|
|
76
|
+
rm pnpm-lock.yaml
|
|
77
|
+
|
|
78
|
+
# 重新安装
|
|
79
|
+
pnpm install
|
|
80
|
+
|
|
81
|
+
# 清除构建缓存
|
|
82
|
+
rm -rf unpackage # uni-app 项目
|
|
83
|
+
rm -rf dist # 如果有
|
|
84
|
+
rm -rf .cache # Webpack 缓存
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### 步骤 5: 验证代码
|
|
88
|
+
|
|
89
|
+
在您的 `src/locales/index.js` 中确认引入语句:
|
|
90
|
+
|
|
91
|
+
```javascript
|
|
92
|
+
// ✅ 正确的引入方式
|
|
93
|
+
import { createMeetFunI18n } from 'meetfun-i18n/vue2'
|
|
94
|
+
|
|
95
|
+
// ❌ 错误 - 这会加载 Vue3 版本
|
|
96
|
+
// import { createMeetFunI18n } from 'meetfun-i18n'
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### 步骤 6: 添加调试代码
|
|
100
|
+
|
|
101
|
+
临时添加以下代码来验证加载的版本:
|
|
102
|
+
|
|
103
|
+
```javascript
|
|
104
|
+
import { createMeetFunI18n } from 'meetfun-i18n/vue2'
|
|
105
|
+
|
|
106
|
+
console.log('✅ 导入成功')
|
|
107
|
+
console.log('createMeetFunI18n:', typeof createMeetFunI18n)
|
|
108
|
+
|
|
109
|
+
// 创建一个测试实例
|
|
110
|
+
const testInstance = createMeetFunI18n(
|
|
111
|
+
{ 'zh-Hans': {} },
|
|
112
|
+
{
|
|
113
|
+
queryLangDictHotData: async () => ({ data: {} }),
|
|
114
|
+
queryLangDictColdData: async () => ({ data: {} })
|
|
115
|
+
}
|
|
116
|
+
)
|
|
117
|
+
|
|
118
|
+
const i18n = testInstance.getI18n()
|
|
119
|
+
console.log('i18n 实例类型:', i18n.constructor.name)
|
|
120
|
+
console.log('是否有 t 方法:', typeof i18n.t)
|
|
121
|
+
|
|
122
|
+
// 期望输出:
|
|
123
|
+
// ✅ 导入成功
|
|
124
|
+
// createMeetFunI18n: function
|
|
125
|
+
// i18n 实例类型: VueI18n
|
|
126
|
+
// 是否有 t 方法: function
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### 步骤 7: 重新编译运行
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
# 重新运行开发服务器
|
|
133
|
+
npm run dev
|
|
134
|
+
|
|
135
|
+
# 或针对特定平台
|
|
136
|
+
npm run dev:mp-weixin
|
|
137
|
+
npm run dev:h5
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## 🎯 预期结果
|
|
141
|
+
|
|
142
|
+
### 成功标志
|
|
143
|
+
|
|
144
|
+
1. ✅ 不再出现 `export 'createI18n' was not found` 错误
|
|
145
|
+
2. ✅ 控制台输出显示 `i18n 实例类型: VueI18n`
|
|
146
|
+
3. ✅ 项目正常编译和运行
|
|
147
|
+
4. ✅ 翻译功能正常工作
|
|
148
|
+
|
|
149
|
+
### 如果还是失败
|
|
150
|
+
|
|
151
|
+
请检查以下内容:
|
|
152
|
+
|
|
153
|
+
#### 1. 确认 vue-i18n 版本
|
|
154
|
+
|
|
155
|
+
```bash
|
|
156
|
+
pnpm list vue-i18n
|
|
157
|
+
|
|
158
|
+
# Vue2 项目应该显示:
|
|
159
|
+
# vue-i18n 8.x.x
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
如果不是 8.x.x,重新安装:
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
pnpm remove vue-i18n
|
|
166
|
+
pnpm add vue-i18n@^8.0.0
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
#### 2. 检查引入路径
|
|
170
|
+
|
|
171
|
+
确保所有文件都使用 `/vue2`:
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
# 搜索项目中的所有引入
|
|
175
|
+
grep -r "from 'meetfun-i18n'" src/
|
|
176
|
+
|
|
177
|
+
# 应该都是:
|
|
178
|
+
# from 'meetfun-i18n/vue2'
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
#### 3. 检查 Webpack 配置
|
|
182
|
+
|
|
183
|
+
如果项目有自定义的 `webpack.config.js` 或 `vue.config.js`,确保没有配置冲突:
|
|
184
|
+
|
|
185
|
+
```javascript
|
|
186
|
+
// vue.config.js
|
|
187
|
+
module.exports = {
|
|
188
|
+
configureWebpack: {
|
|
189
|
+
resolve: {
|
|
190
|
+
// 确保这里没有关于 meetfun-i18n 的别名配置
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
#### 4. 尝试直接路径
|
|
197
|
+
|
|
198
|
+
作为临时测试,可以尝试直接引入:
|
|
199
|
+
|
|
200
|
+
```javascript
|
|
201
|
+
// 测试:直接引入 dist/vue2
|
|
202
|
+
import { createMeetFunI18n } from 'meetfun-i18n/dist/vue2/index.esm.js'
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
如果这样能工作,说明是路径解析问题,请提供您的 Webpack 配置。
|
|
206
|
+
|
|
207
|
+
## 📊 对比表
|
|
208
|
+
|
|
209
|
+
| 检查项 | Vue3 版本(错误) | Vue2 版本(正确) |
|
|
210
|
+
|--------|------------------|-------------------|
|
|
211
|
+
| **引入路径** | `meetfun-i18n` | `meetfun-i18n/vue2` |
|
|
212
|
+
| **加载文件** | `dist/index.esm.js` | `dist/vue2/index.esm.js` |
|
|
213
|
+
| **i18n 创建** | `createI18n()` | `new VueI18n()` |
|
|
214
|
+
| **实例类型** | `Composer` | `VueI18n` |
|
|
215
|
+
| **vue-i18n 版本** | 9.x | 8.x |
|
|
216
|
+
|
|
217
|
+
## 🆘 获取帮助
|
|
218
|
+
|
|
219
|
+
如果以上步骤都完成了还是不行,请提供以下信息:
|
|
220
|
+
|
|
221
|
+
1. **包版本信息:**
|
|
222
|
+
```bash
|
|
223
|
+
pnpm list meetfun-i18n vue vue-i18n
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
2. **文件是否存在:**
|
|
227
|
+
```bash
|
|
228
|
+
ls -la node_modules/meetfun-i18n/vue2/
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
3. **引入代码:**
|
|
232
|
+
```javascript
|
|
233
|
+
// 粘贴您的 src/locales/index.js 的引入部分
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
4. **完整错误信息:**
|
|
237
|
+
```
|
|
238
|
+
// 粘贴完整的错误堆栈
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
5. **项目环境:**
|
|
242
|
+
- uni-app 版本
|
|
243
|
+
- 使用的打包工具(HBuilderX / CLI)
|
|
244
|
+
- Node.js 版本
|
|
245
|
+
|
|
246
|
+
## 📚 相关文档
|
|
247
|
+
|
|
248
|
+
- [FIX_WEBPACK_RESOLUTION.md](./FIX_WEBPACK_RESOLUTION.md) - 技术细节
|
|
249
|
+
- [TROUBLESHOOTING.md](./TROUBLESHOOTING.md) - 故障排除
|
|
250
|
+
- [VUE2_USAGE.md](./VUE2_USAGE.md) - Vue2 使用指南
|
|
251
|
+
|
|
252
|
+
## ✨ 成功案例
|
|
253
|
+
|
|
254
|
+
更新到 1.2.1 后,以下场景都应该正常工作:
|
|
255
|
+
|
|
256
|
+
```javascript
|
|
257
|
+
// ✅ ES Module 导入
|
|
258
|
+
import { createMeetFunI18n } from 'meetfun-i18n/vue2'
|
|
259
|
+
|
|
260
|
+
// ✅ CommonJS 导入
|
|
261
|
+
const { createMeetFunI18n } = require('meetfun-i18n/vue2')
|
|
262
|
+
|
|
263
|
+
// ✅ TypeScript 类型
|
|
264
|
+
import type { I18nConfig, ApiConfig } from 'meetfun-i18n/vue2'
|
|
265
|
+
|
|
266
|
+
// ✅ 动态导入
|
|
267
|
+
const module = await import('meetfun-i18n/vue2')
|
|
268
|
+
|
|
269
|
+
// ✅ 默认导出
|
|
270
|
+
import createMeetFunI18n from 'meetfun-i18n/vue2'
|
|
271
|
+
```
|
|
272
|
+
|