neko-ui 2.6.7 → 2.7.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/CHANGELOG.md +24 -6
- package/es/@moneko/routes/index.d.ts +1 -1
- package/es/back-top/style.js +1 -3
- package/es/back-top/style.js.map +1 -1
- package/es/button/style.js.map +1 -1
- package/es/capture-screen/index.js +1 -1
- package/es/capture-screen/index.js.map +1 -1
- package/es/cron/begin-interval.d.ts +1 -0
- package/es/cron/index.js +1 -1
- package/es/cron/index.js.map +1 -1
- package/es/cron/item.d.ts +1 -0
- package/es/cron/period.d.ts +1 -0
- package/es/cron/some.d.ts +1 -0
- package/es/date-picker/index.js +1 -1
- package/es/date-picker/index.js.map +1 -1
- package/es/img/style.js +0 -2
- package/es/img/style.js.map +1 -1
- package/es/index.d.ts +1 -0
- package/es/index.js +1 -1
- package/es/index.js.map +1 -1
- package/es/md-style/index.js +6 -8
- package/es/md-style/index.js.map +1 -1
- package/es/modal/hooks.d.ts +5 -0
- package/es/modal/hooks.js +2 -0
- package/es/modal/hooks.js.map +1 -0
- package/es/modal/style.js +3 -4
- package/es/modal/style.js.map +1 -1
- package/es/notification/index.d.ts +59 -0
- package/es/notification/index.js +2 -0
- package/es/notification/index.js.map +1 -0
- package/es/notification/notification.d.ts +3 -0
- package/es/notification/notification.js +2 -0
- package/es/notification/notification.js.map +1 -0
- package/es/notification/queque.d.ts +46 -0
- package/es/notification/queque.js +2 -0
- package/es/notification/queque.js.map +1 -0
- package/es/notification/styles.d.ts +1 -0
- package/es/notification/styles.js +97 -0
- package/es/notification/styles.js.map +1 -0
- package/es/popover/index.js +1 -1
- package/es/popover/index.js.map +1 -1
- package/es/popover/style.js +1 -3
- package/es/popover/style.js.map +1 -1
- package/es/prism/css.js +1 -3
- package/es/prism/css.js.map +1 -1
- package/es/select/index.js +1 -1
- package/es/select/index.js.map +1 -1
- package/es/theme/index.js +10 -8
- package/es/theme/index.js.map +1 -1
- package/es/tree/index.d.ts +3 -99
- package/es/tree/index.js +1 -1
- package/es/tree/index.js.map +1 -1
- package/es/tree/register.d.ts +1 -0
- package/es/tree/register.js +2 -0
- package/es/tree/register.js.map +1 -0
- package/es/tree/type.d.ts +104 -0
- package/es/tree/type.js +2 -0
- package/es/tree/type.js.map +1 -0
- package/lib/@moneko/routes/index.d.ts +1 -1
- package/lib/back-top/style.js +1 -3
- package/lib/back-top/style.js.map +1 -1
- package/lib/button/style.js.map +1 -1
- package/lib/capture-screen/index.js +1 -1
- package/lib/capture-screen/index.js.map +1 -1
- package/lib/cron/begin-interval.d.ts +1 -0
- package/lib/cron/index.js +1 -1
- package/lib/cron/index.js.map +1 -1
- package/lib/cron/item.d.ts +1 -0
- package/lib/cron/period.d.ts +1 -0
- package/lib/cron/some.d.ts +1 -0
- package/lib/img/style.js +0 -2
- package/lib/img/style.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/md-style/index.js +6 -8
- package/lib/md-style/index.js.map +1 -1
- package/lib/modal/hooks.d.ts +5 -0
- package/lib/modal/hooks.js +2 -0
- package/lib/modal/hooks.js.map +1 -0
- package/lib/modal/style.js +3 -4
- package/lib/modal/style.js.map +1 -1
- package/lib/notification/index.d.ts +59 -0
- package/lib/notification/index.js +2 -0
- package/lib/notification/index.js.map +1 -0
- package/lib/notification/notification.d.ts +3 -0
- package/lib/notification/notification.js +2 -0
- package/lib/notification/notification.js.map +1 -0
- package/lib/notification/queque.d.ts +46 -0
- package/lib/notification/queque.js +2 -0
- package/lib/notification/queque.js.map +1 -0
- package/lib/notification/styles.d.ts +1 -0
- package/lib/notification/styles.js +97 -0
- package/lib/notification/styles.js.map +1 -0
- package/lib/popover/index.js +1 -1
- package/lib/popover/index.js.map +1 -1
- package/lib/popover/style.js +1 -3
- package/lib/popover/style.js.map +1 -1
- package/lib/prism/css.js +1 -3
- package/lib/prism/css.js.map +1 -1
- package/lib/theme/index.js +8 -6
- package/lib/theme/index.js.map +1 -1
- package/lib/tree/index.d.ts +3 -99
- package/lib/tree/index.js +1 -1
- package/lib/tree/index.js.map +1 -1
- package/lib/tree/register.d.ts +1 -0
- package/lib/tree/register.js +2 -0
- package/lib/tree/register.js.map +1 -0
- package/lib/tree/type.d.ts +104 -0
- package/lib/tree/type.js +2 -0
- package/lib/tree/type.js.map +1 -0
- package/package.json +23 -21
- package/umd/index.js +1 -1
- package/es/@introduce/api.md +0 -158
- package/es/@introduce/getting-started/api.md +0 -34
- package/es/@introduce/html/doc.md +0 -45
- package/es/@introduce/react/doc.md +0 -49
- package/es/@introduce/solid/doc.md +0 -39
- package/es/@introduce/vue/doc.md +0 -54
- package/es/@moneko/cli/doc.md +0 -211
- package/es/@moneko/config/api.md +0 -213
- package/es/@moneko/locales/doc.md +0 -130
- package/es/@moneko/mock/api.md +0 -177
- package/es/@moneko/request/api.md +0 -31
- package/es/@moneko/routes/doc.md +0 -81
- package/es/@moneko/sso/api.md +0 -158
- package/lib/@introduce/api.md +0 -158
- package/lib/@introduce/getting-started/api.md +0 -34
- package/lib/@introduce/html/doc.md +0 -45
- package/lib/@introduce/react/doc.md +0 -49
- package/lib/@introduce/solid/doc.md +0 -39
- package/lib/@introduce/vue/doc.md +0 -54
- package/lib/@moneko/cli/doc.md +0 -211
- package/lib/@moneko/config/api.md +0 -213
- package/lib/@moneko/locales/doc.md +0 -130
- package/lib/@moneko/mock/api.md +0 -177
- package/lib/@moneko/request/api.md +0 -31
- package/lib/@moneko/routes/doc.md +0 -81
- package/lib/@moneko/sso/api.md +0 -158
package/lib/@moneko/cli/doc.md
DELETED
|
@@ -1,211 +0,0 @@
|
|
|
1
|
-
[TOC]
|
|
2
|
-
|
|
3
|
-
# @moneko/cli
|
|
4
|
-
|
|
5
|
-
> 这是一个脚手架工具, 可以快速进行一个组件库、单页面、微前端(乾坤)、后台管理、模块联邦应用的开发, 目前支持React18、Solid.js
|
|
6
|
-
|
|
7
|
-
## 快速开始
|
|
8
|
-
|
|
9
|
-
```shell
|
|
10
|
-
# 安装脚手架工具
|
|
11
|
-
npm i @moneko/cli -g
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
## 创建一个新项目
|
|
15
|
-
|
|
16
|
-
```shell
|
|
17
|
-
mo create my-project
|
|
18
|
-
# 按提示步骤完成创建, my-project 为项目名
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## 进入项目目录
|
|
22
|
-
|
|
23
|
-
```shell
|
|
24
|
-
cd my-project
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
## 使用 npm
|
|
28
|
-
|
|
29
|
-
### 安装依赖
|
|
30
|
-
|
|
31
|
-
```shell
|
|
32
|
-
npm install
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
### 启动开发服务器
|
|
36
|
-
|
|
37
|
-
```shell
|
|
38
|
-
npm start
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
### 补充配置启动
|
|
42
|
-
|
|
43
|
-
例如额外加载 `/config/prod.ts` 中的启动参数
|
|
44
|
-
|
|
45
|
-
```shell
|
|
46
|
-
npm start --config=prod
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
### 构建项目
|
|
50
|
-
|
|
51
|
-
```shell
|
|
52
|
-
npm run build
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
### 补充配置构建
|
|
56
|
-
|
|
57
|
-
例如额外加载 `/config/prod.ts` 中的启动参数
|
|
58
|
-
|
|
59
|
-
```shell
|
|
60
|
-
npm run build --config=prod
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
## 使用 Yarn
|
|
64
|
-
|
|
65
|
-
### 安装
|
|
66
|
-
|
|
67
|
-
```shell
|
|
68
|
-
yarn
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
### 启动
|
|
72
|
-
|
|
73
|
-
```shell
|
|
74
|
-
yarn start
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
### 使用补充配置启动
|
|
78
|
-
|
|
79
|
-
例如额外加载 `/config/prod.ts` 中的启动参数
|
|
80
|
-
|
|
81
|
-
```shell
|
|
82
|
-
yarn start config=prod
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
### 构建
|
|
86
|
-
|
|
87
|
-
```shell
|
|
88
|
-
yarn build
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
### 使用补充配置构建
|
|
92
|
-
|
|
93
|
-
例如额外加载 `/config/prod.ts` 中的启动参数
|
|
94
|
-
|
|
95
|
-
```shell
|
|
96
|
-
yarn build config=prod
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
## 编译 app
|
|
100
|
-
|
|
101
|
-
> 使用 flutter 3.0
|
|
102
|
-
> 应用类型为 mobile 的项目中执行打包步骤`npm run build`,确保正确生产出的资产在 `dist` 文件夹中,然后执行 `mo buildApp`,按控制台提示操作
|
|
103
|
-
|
|
104
|
-
```shell
|
|
105
|
-
mo buildApp
|
|
106
|
-
? 请输入软件包名称? com.moneko.bid ## 默认值
|
|
107
|
-
? 请选择需要打包的类型 打包为apk (release)
|
|
108
|
-
❯◉ 打包为apk (release) # 方向上下键选择条目,按空格键选中,回车键确认
|
|
109
|
-
◯ 打包为apk (debug)
|
|
110
|
-
◯ 打包为ipa (release)[未签名,需要 OSX 及 Xcode]
|
|
111
|
-
◯ 打包为ipa (debug)[未签名,需要 OSX 及 Xcode]
|
|
112
|
-
|
|
113
|
-
# ...
|
|
114
|
-
Running Gradle task 'assembleRelease'... 27.7s
|
|
115
|
-
✓ Built build/app/outputs/flutter-apk/app-release.apk (15.8MB).
|
|
116
|
-
Done
|
|
117
|
-
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
## Commands
|
|
121
|
-
|
|
122
|
-
### eslint
|
|
123
|
-
|
|
124
|
-
**使用:**
|
|
125
|
-
|
|
126
|
-
```shell
|
|
127
|
-
mo eslint [options] <source>
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
描述:js代码规范检查。
|
|
131
|
-
|
|
132
|
-
### stylelint
|
|
133
|
-
|
|
134
|
-
**使用:**
|
|
135
|
-
|
|
136
|
-
```shell
|
|
137
|
-
mo stylelint [options] <source>
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
描述:css代码规范检查。
|
|
141
|
-
|
|
142
|
-
### build
|
|
143
|
-
|
|
144
|
-
**使用:**
|
|
145
|
-
|
|
146
|
-
```shell
|
|
147
|
-
mo build <type> <framework>
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
描述:编译项目。
|
|
151
|
-
|
|
152
|
-
### start
|
|
153
|
-
|
|
154
|
-
**使用:**
|
|
155
|
-
|
|
156
|
-
```shell
|
|
157
|
-
mo start <type> <framework>
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
描述:运行项目。
|
|
161
|
-
|
|
162
|
-
### create
|
|
163
|
-
|
|
164
|
-
**使用:**
|
|
165
|
-
|
|
166
|
-
```shell
|
|
167
|
-
mo create <name> [destination]
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
描述:创建一个新项目。
|
|
171
|
-
|
|
172
|
-
### buildApp
|
|
173
|
-
|
|
174
|
-
**使用:**
|
|
175
|
-
|
|
176
|
-
```shell
|
|
177
|
-
mo buildApp
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
描述:编译将 h5 应用打包成移动客户端,使用 Flutter。
|
|
181
|
-
|
|
182
|
-
### githooks
|
|
183
|
-
|
|
184
|
-
**使用:**
|
|
185
|
-
|
|
186
|
-
```shell
|
|
187
|
-
mo githooks pre-commit=\"yarn precommit\"
|
|
188
|
-
```
|
|
189
|
-
|
|
190
|
-
描述:git hooks工具。
|
|
191
|
-
|
|
192
|
-
### changelog
|
|
193
|
-
|
|
194
|
-
**使用:**
|
|
195
|
-
|
|
196
|
-
```shell
|
|
197
|
-
mo changelog <filename>
|
|
198
|
-
# mo changelog CHANGELOG.md
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
描述:生成 `CHANGELOG.md`。
|
|
202
|
-
|
|
203
|
-
### help
|
|
204
|
-
|
|
205
|
-
**使用:**
|
|
206
|
-
|
|
207
|
-
```shell
|
|
208
|
-
mo help
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
描述:展示命令的帮助。
|
|
@@ -1,213 +0,0 @@
|
|
|
1
|
-
[TOC]
|
|
2
|
-
|
|
3
|
-
# 配置项
|
|
4
|
-
|
|
5
|
-
!> 适用于使用 `@moneko/cli` 创建的项目
|
|
6
|
-
!> 可以在项目根目录下的 `config/` 文件夹中进行以下配置
|
|
7
|
-
|
|
8
|
-
[1]: https://swc.rs/docs/configuration/minification#jscminifycompress 'SwcOptions'
|
|
9
|
-
[2]: https://terser.org/docs/api-reference#compress-options 'TerserOptions'
|
|
10
|
-
|
|
11
|
-
## ConfigType
|
|
12
|
-
|
|
13
|
-
| 属性 | 说明 | 类型 | 默认值 |
|
|
14
|
-
| ----------------- | ------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ------------------ |
|
|
15
|
-
| clean | 清除过时的打包文件 | boolean | true |
|
|
16
|
-
| compiler | 编译方式 | swc\|tsc | swc |
|
|
17
|
-
| swcrc | swc 配置项 | SwcConfig \| ((isDev: boolean) => SwcConfig) | - |
|
|
18
|
-
| entry | 额外的 entry, 比如兼容 es10 的 object.fromentries | Record<string, string> | - |
|
|
19
|
-
| minifier | js、css 压缩配置 | { type?: swc\|tsc; options?: [SwcOptions][1] \| [TerserOptions][2]; css?: cssnano \| parcelCss} | - |
|
|
20
|
-
| env | 环境变量, 可通过 process.env 获取 | Record<string, any> | - |
|
|
21
|
-
| sourceMap | sourceMap 配置 | SourceMapDevToolPluginOptions \| false | - |
|
|
22
|
-
| devtool | devtool 配置 | Configuration['devtool'] | - |
|
|
23
|
-
| alias | 路径别名映射 | Record<string, string> | - |
|
|
24
|
-
| basename | 根路由 | string | / |
|
|
25
|
-
| publicPath | 资源根路径 | string | auto |
|
|
26
|
-
| rem | 设置与设计图相匹配的rem | {designSize: number} | {designSize: 1680} |
|
|
27
|
-
| fallbackCompPath | 自定义容错组件路径 | string | - |
|
|
28
|
-
| modifyVars | less 全局变量 | Record<string, string> | - |
|
|
29
|
-
| prefixCls | 类名前缀 | string | n |
|
|
30
|
-
| moduleRules | 自定义 webpack module rules | | - |
|
|
31
|
-
| cssModules | node_modules 中, 需要开启 cssModules 的模块 | string[] | - |
|
|
32
|
-
| importOnDemand | 按需引入 | SwcImportOnDemandTransform \| TsImportPlugin.Options | - |
|
|
33
|
-
| proxy | 服务器代理 | Record<string, string> | - |
|
|
34
|
-
| cacheDirectory | 自定义缓存目录,为 false 时,不使用缓存 | string \| false | - |
|
|
35
|
-
| devServer | 开发服务器设置 | Record<string, string> | - |
|
|
36
|
-
| assetHtml | 自定义插入 html 的 js 和 css | AssetHtmlOptions[] | - |
|
|
37
|
-
| htmlPluginOption | HtmlWebpackPlugin Option | HtmlWebpackPluginOptions | - |
|
|
38
|
-
| routerMode | 路由模式 | hash \| browser \| memory | browser |
|
|
39
|
-
| plugins | webpack 插件 | | - |
|
|
40
|
-
| splitChunk | 对生产 chunk 进行拆分 | false \| OptimizationSplitChunksOptions | - |
|
|
41
|
-
| output | 编译输出路径 | string | - |
|
|
42
|
-
| runtimeChunk | 拆分 runtime | boolean\|single \| multiple\| { name?: string \| Function }; | - |
|
|
43
|
-
| moduleFederation | 模块联邦 | ModuleFederationOption[] | - |
|
|
44
|
-
| externals | 跳过编译的模块 | string[] | - |
|
|
45
|
-
| rulesInclude | 需要进入到规则的模块或者位置 | { less?: string[]; css?: string[]; js?: string[]; media?: string[]; fonts?: string[]; } | - |
|
|
46
|
-
| bundleAnalyzer | js打包体积分析 | { analyzerMode: string; reportFilename: string; openAnalyzer: false } | - |
|
|
47
|
-
| prefixJsLoader | 解析js/ts的前置loader | - | - |
|
|
48
|
-
| bar | 是否打包显示进度条 | - | true |
|
|
49
|
-
| theme | 设置主题, 可以在 `@app/info` 中获取值 | - | - |
|
|
50
|
-
| seo | 配置seo优化 | {domain: string; nojekyll?: boolean; path?: string;} | true |
|
|
51
|
-
| done | 打包完成执行的回调 | () => void | - |
|
|
52
|
-
| mdx | mdx loader的配置项 | MDXOptions | - |
|
|
53
|
-
| jsxDomExpressions | 使用solidjs时jsx-dom-expressions的配置项 | JsxDomExpressions | - |
|
|
54
|
-
| virtualModule | 自定义虚拟模块 | Record<string, string \| object> | - |
|
|
55
|
-
| normalizeCss | 是否使用 normalize css | boolean | true |
|
|
56
|
-
|
|
57
|
-
### SwcOptions
|
|
58
|
-
|
|
59
|
-
!> [SwcOptions][1]
|
|
60
|
-
|
|
61
|
-
### TerserOptions
|
|
62
|
-
|
|
63
|
-
!> [TerserOptions][2]
|
|
64
|
-
|
|
65
|
-
## 按需导入 `swc`
|
|
66
|
-
|
|
67
|
-
!> 使用 swc 时的按需导入配置 importOnDemand: { '库名': {...配置项} }
|
|
68
|
-
|
|
69
|
-
### SwcImportOnDemandTransform
|
|
70
|
-
|
|
71
|
-
| 属性 | 说明 | 类型 | 默认值 |
|
|
72
|
-
| --------------------- | ------------------------------------------------------------------------------- | --------------------- | ------- |
|
|
73
|
-
| transform | 要使用的库名称,而不是导入语句中指定的库名称。`${member}` 是替换的成员 | string | - |
|
|
74
|
-
| style | 设置转换时需要单独导入的样式,`${member}` 是替换的成员 | `string` \|`boolean` | `false` |
|
|
75
|
-
| skipDefaultConversion | 当设置为 true 时,将保留 `import { Button }` 语法,而不是转换为 `import Button` | boolean | `false` |
|
|
76
|
-
| preventFullImport | 当遇到会导致导入整个模块时,是否抛出 | boolean | `true` |
|
|
77
|
-
| memberTransformers | 成员转换规则 | `MemberTransformer`[] | [] |
|
|
78
|
-
|
|
79
|
-
### MemberTransformer
|
|
80
|
-
|
|
81
|
-
| 属性 | 说明 |
|
|
82
|
-
| ----------- | ---------------------------------------------------------------------------------------------------------- |
|
|
83
|
-
| pascal_case | 帕斯卡拼写法(大驼峰): 所有单词的首字母大写,然后直接连接起来,单词之间没有连接符 |
|
|
84
|
-
| camel_case | 骆驼拼写法(小驼峰): 第一个单词的首字母小写, 后续所有单词的首字母大写,然后直接连接起来,单词之间没有连接符 |
|
|
85
|
-
| kebab_case | 连字符拼写法: 各个单词或缩写之间以`-`做间隔 |
|
|
86
|
-
| dashed_case | 破折号式: 每个单词全小写或全大写,多单词使用`-`隔开 |
|
|
87
|
-
| snake_case | 蛇形命名: 每个单词全小写或全大写,多单词使用`_`隔开 |
|
|
88
|
-
|
|
89
|
-
### 配置案例 MemberTransformer
|
|
90
|
-
|
|
91
|
-
```javascript
|
|
92
|
-
const conf = {
|
|
93
|
-
importOnDemand: {
|
|
94
|
-
/** 库名 */
|
|
95
|
-
lodash: {
|
|
96
|
-
transform: '${member}',
|
|
97
|
-
},
|
|
98
|
-
/** 库名 */
|
|
99
|
-
antd: {
|
|
100
|
-
transform: 'es/${member}',
|
|
101
|
-
style: 'es/${member}/style',
|
|
102
|
-
memberTransformers: ['dashed_case'],
|
|
103
|
-
},
|
|
104
|
-
},
|
|
105
|
-
};
|
|
106
|
-
// 以下代码将会按照预期进行转换
|
|
107
|
-
import { BackTop } from 'antd';
|
|
108
|
-
import { isFunction } from 'lodash';
|
|
109
|
-
// to
|
|
110
|
-
import BackTop from 'antd/es/back-top';
|
|
111
|
-
import 'antd/es/back-top/style';
|
|
112
|
-
import isFunction from 'lodash/isFunction';
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
## 模块联邦
|
|
116
|
-
|
|
117
|
-
!> Webpack5 Module Federation
|
|
118
|
-
|
|
119
|
-
### ModuleFederationOption
|
|
120
|
-
|
|
121
|
-
| 属性 | 说明 | 类型 | 默认值 |
|
|
122
|
-
| -------- | ---------------------------------------------- | ---------------------------------------------------- | ----------------- |
|
|
123
|
-
| name | 模块名称,唯一性,不能重名 | string | - |
|
|
124
|
-
| filename | 打包的模块文件名 | string | `remote_entry.js` |
|
|
125
|
-
| name | 模块名称,唯一性,不能重名 | string | - |
|
|
126
|
-
| remotes | 表示作为 Host 时, 去消费哪些 Remote | `ModuleFederationRemotes`[] | - |
|
|
127
|
-
| exposes | 当前模块具体导出去的内容 | `string` \| { name: `string`; path: `string`; } | - |
|
|
128
|
-
| shared | 优先用 Host 的依赖, 如果 Host 没有, 再用自己的 | `Record<string, SharedConfig \| string>`\|`string`[] | - |
|
|
129
|
-
| library | library | { type: `var` \| `string`; name: `string`; } | - |
|
|
130
|
-
| runtime | runtime | string | - |
|
|
131
|
-
|
|
132
|
-
### ModuleFederationRemotes
|
|
133
|
-
|
|
134
|
-
| 属性 | 说明 | 类型 | 默认值 |
|
|
135
|
-
| -------- | ---------------------- | ---------- | ----------------- |
|
|
136
|
-
| name | 远程模块名称 | string | - |
|
|
137
|
-
| filename | 远程模块文件名 | string | `remote_entry.js` |
|
|
138
|
-
| host | 远程模块访问地址 | string | - |
|
|
139
|
-
| alias | 远程模块别名 | string | - |
|
|
140
|
-
| library | 从此模块加载的 library | `string`[] | - |
|
|
141
|
-
|
|
142
|
-
### SharedConfig
|
|
143
|
-
|
|
144
|
-
| 属性 | 说明 | 类型 | 默认值 |
|
|
145
|
-
| --------------- | ---------------------------------------------------------------------------------------------------------------------- | ------- | ------ |
|
|
146
|
-
| eager | 直接在异步请求后面包含提供的和后备模块,这也允许在初始加载中使用此共享模块,所有可能的共享模块也都需要急切 | boolean | - |
|
|
147
|
-
| import | 应提供共享范围的提供的模块,如果在共享作用域中找不到共享模块或版本无效,则还充当回退模块,默认为属性名称 | number | - |
|
|
148
|
-
| packageName | 软件包名称,用于从描述文件中确定所需的版本,仅当无法根据请求自动确定包名称时才需要 | string | - |
|
|
149
|
-
| requiredVersion | 共享范围中来自模块的版本要求 | number | - |
|
|
150
|
-
| shareKey | 在共享范围内的此键下查找模块 | string | - |
|
|
151
|
-
| shareScope | 共享范围名称 | string | - |
|
|
152
|
-
| singleton | 在共享范围内仅允许共享模块的单个版本(默认情况下处于禁用状态) | boolean | - |
|
|
153
|
-
| strictVersion | 如果版本无效,则不接受共享模块(默认为是,如果本地后备模块可用并且共享模块不是单例,否则为 no,如果未指定所需的版本,则无效) | boolean | - |
|
|
154
|
-
| version | 所提供模块的版本,将替换较低的匹配版本,但不会替换较高的版本 | number | - |
|
|
155
|
-
|
|
156
|
-
### 配置案例 moduleFederation
|
|
157
|
-
|
|
158
|
-
```javascript
|
|
159
|
-
import type { ConfigType } from '@moneko/core';
|
|
160
|
-
|
|
161
|
-
const PACKAGENAME = process.env.npm_package_name; // 当前package.json中的name
|
|
162
|
-
const config: Partial<ConfigType> = {
|
|
163
|
-
htmlPluginOption: {
|
|
164
|
-
tags: [
|
|
165
|
-
{
|
|
166
|
-
textContent: `window.__RemoteEntry__={
|
|
167
|
-
// 比如你已经构建了一个 sharedLibrary 作为模块联邦的共享库
|
|
168
|
-
sharedLibrary: '//可以访问 sharedLibrary 的链接'
|
|
169
|
-
};`,
|
|
170
|
-
},
|
|
171
|
-
],
|
|
172
|
-
},
|
|
173
|
-
moduleFederation: [
|
|
174
|
-
{
|
|
175
|
-
name: PACKAGENAME.replace(/-/g, '_'),
|
|
176
|
-
remotes: [
|
|
177
|
-
{
|
|
178
|
-
name: 'sharedLibrary',
|
|
179
|
-
host: '[window.__RemoteEntry__.sharedLibrary]',
|
|
180
|
-
// 下面的这些模块在将通过网络使用sharedLibrary中的资源,而不是本地
|
|
181
|
-
library: ['react', 'react-dom', 'react-router', 'react-router-dom', 'antd'],
|
|
182
|
-
},
|
|
183
|
-
],
|
|
184
|
-
},
|
|
185
|
-
],
|
|
186
|
-
};
|
|
187
|
-
|
|
188
|
-
export default config;
|
|
189
|
-
```
|
|
190
|
-
|
|
191
|
-
## 自定义模块解析规则
|
|
192
|
-
|
|
193
|
-
```javascript
|
|
194
|
-
// config/index.ts
|
|
195
|
-
export default {
|
|
196
|
-
moduleRules: [
|
|
197
|
-
{
|
|
198
|
-
test: /\.aaa$/,
|
|
199
|
-
type: 'assets',
|
|
200
|
-
exclude: [/node_modules/],
|
|
201
|
-
},
|
|
202
|
-
],
|
|
203
|
-
};
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
## 自定义 ts-loader 配置
|
|
207
|
-
|
|
208
|
-
!> 在项目根目录下创建一个 tsloader.config.ts
|
|
209
|
-
|
|
210
|
-
```javascript
|
|
211
|
-
// tsloader.config.ts
|
|
212
|
-
export default {};
|
|
213
|
-
```
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
[TOC]
|
|
2
|
-
|
|
3
|
-
# 文本国际化
|
|
4
|
-
|
|
5
|
-
> 通过内置的虚拟模块 @app/locales 进行文本国际化;
|
|
6
|
-
> 国际化内容依赖项目目录下的 `src/locales` 文件夹内容自动生成
|
|
7
|
-
> 一个文件对应一种语言, 默认语言名称为文件名
|
|
8
|
-
|
|
9
|
-
<div style="display:flex;gap: 16px;">
|
|
10
|
-
|
|
11
|
-
<div>
|
|
12
|
-
|
|
13
|
-
```treeview
|
|
14
|
-
项目根目录
|
|
15
|
-
`-- src
|
|
16
|
-
`-- locales
|
|
17
|
-
|-- zh-CN.ts
|
|
18
|
-
`-- en.ts
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
</div>
|
|
22
|
-
|
|
23
|
-
```ts
|
|
24
|
-
// zh-CN.ts
|
|
25
|
-
import type { LocaleConfig } from '@app/locales';
|
|
26
|
-
|
|
27
|
-
const en: LocaleConfig = {
|
|
28
|
-
title: '中文',
|
|
29
|
-
translation: {
|
|
30
|
-
home: '首页',
|
|
31
|
-
},
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
export default en;
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
```ts
|
|
38
|
-
// en.ts
|
|
39
|
-
import type { LocaleConfig } from '@app/locales';
|
|
40
|
-
|
|
41
|
-
const en: LocaleConfig = {
|
|
42
|
-
language: 'en_US', // 自定义语言名称
|
|
43
|
-
title: '英文',
|
|
44
|
-
translation: {
|
|
45
|
-
home: 'Home',
|
|
46
|
-
},
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
export default en;
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
</div>
|
|
53
|
-
|
|
54
|
-
## 使用
|
|
55
|
-
|
|
56
|
-
> 或参考 [demo](https://github.com/monako97/demo-micro-app-solid)
|
|
57
|
-
|
|
58
|
-
```ts
|
|
59
|
-
import { setLang, t } from '@app/locales';
|
|
60
|
-
|
|
61
|
-
console.log(t.home); // 首页
|
|
62
|
-
setLang('en_US');
|
|
63
|
-
console.log(t.home); // Home
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
## 语言列表
|
|
67
|
-
|
|
68
|
-
!> 通过 `locales` 获取当前项目的语言列表
|
|
69
|
-
|
|
70
|
-
```ts
|
|
71
|
-
import { locales } from '@app/locales';
|
|
72
|
-
|
|
73
|
-
console.log(locales);
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
## 插值字符串
|
|
77
|
-
|
|
78
|
-
!> 通过 `interpolateString` 方法进行插值字符串转换; 替换字符串中的占位符 `${}` 为对应的值
|
|
79
|
-
|
|
80
|
-
```ts
|
|
81
|
-
import { interpolateString } from '@app/locales';
|
|
82
|
-
|
|
83
|
-
interpolateString('`The length is ${val} characters!`', { val: 62 });
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
## 修改语言
|
|
87
|
-
|
|
88
|
-
!> 使用 `setLang` 方法修改语言
|
|
89
|
-
|
|
90
|
-
```ts
|
|
91
|
-
import { setLang } from '@app/locales';
|
|
92
|
-
|
|
93
|
-
setLang('zh_CN');
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
## 使用的语言
|
|
97
|
-
|
|
98
|
-
!> 使用 `lang` 获取当前使用的语言
|
|
99
|
-
|
|
100
|
-
```ts
|
|
101
|
-
import { lang } from '@app/locales';
|
|
102
|
-
|
|
103
|
-
console.log(lang);
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
## 映射
|
|
107
|
-
|
|
108
|
-
!> 使用 `t` 获取对应字典的当前语言文本
|
|
109
|
-
|
|
110
|
-
```ts
|
|
111
|
-
import { t } from '@app/locales';
|
|
112
|
-
|
|
113
|
-
console.log(t['password-fap']);
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
## 设置语种
|
|
117
|
-
|
|
118
|
-
!> 通过 `setLocalizable` 设置或修改一个新的语种(滞后/更新), 可用于线上紧急更新文案
|
|
119
|
-
|
|
120
|
-
```ts
|
|
121
|
-
import { setLocalizable } from '@app/locales';
|
|
122
|
-
|
|
123
|
-
setLocalizable('lang', {
|
|
124
|
-
language: 'zh-HK',
|
|
125
|
-
title: '繁体中文',
|
|
126
|
-
});
|
|
127
|
-
setLocalizable('t', {
|
|
128
|
-
'password-fap': '这是更新后的文本',
|
|
129
|
-
});
|
|
130
|
-
```
|