@modern-js/main-doc 2.32.0 → 2.32.2-alpha.1
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +16 -0
- package/docs/en/apis/app/runtime/app/define-config.mdx +2 -2
- package/docs/en/apis/app/runtime/model/auto-actions.mdx +2 -2
- package/docs/en/apis/app/runtime/model/model_.mdx +0 -1
- package/docs/en/apis/app/runtime/model/use-static-model.mdx +1 -1
- package/docs/en/components/enable-bff-caution.mdx +1 -1
- package/docs/en/configure/app/auto-load-plugin.mdx +2 -2
- package/docs/en/configure/app/bff/_category_.json +1 -1
- package/docs/en/configure/app/builder-plugins.mdx +2 -2
- package/docs/en/configure/app/dev/_category_.json +1 -1
- package/docs/en/configure/app/experiments/_category_.json +1 -1
- package/docs/en/configure/app/html/_category_.json +1 -1
- package/docs/en/configure/app/output/_category_.json +1 -1
- package/docs/en/configure/app/output/ssg.mdx +1 -1
- package/docs/en/configure/app/plugins.mdx +0 -1
- package/docs/en/configure/app/runtime/_category_.json +1 -1
- package/docs/en/configure/app/security/_category_.json +1 -1
- package/docs/en/configure/app/server/_category_.json +1 -1
- package/docs/en/configure/app/source/_category_.json +1 -1
- package/docs/en/configure/app/source/enable-async-entry.mdx +1 -1
- package/docs/en/configure/app/source/mainEntryName.mdx +1 -1
- package/docs/en/configure/app/testing/_category_.json +1 -1
- package/docs/en/configure/app/tools/_category_.json +1 -1
- package/docs/en/configure/app/tools/tailwindcss.mdx +45 -5
- package/docs/en/guides/advanced-features/bff/_category_.json +1 -1
- package/docs/en/guides/advanced-features/bff/frameworks.mdx +2 -2
- package/docs/en/guides/advanced-features/bff/function.mdx +1 -1
- package/docs/en/guides/advanced-features/code-split.mdx +2 -2
- package/docs/en/guides/advanced-features/eslint.mdx +2 -2
- package/docs/en/guides/advanced-features/low-level.mdx +2 -2
- package/docs/en/guides/advanced-features/ssg.mdx +2 -3
- package/docs/en/guides/advanced-features/ssr.mdx +2 -3
- package/docs/en/guides/advanced-features/testing.mdx +3 -3
- package/docs/en/guides/advanced-features/using-storybook.mdx +1 -1
- package/docs/en/guides/advanced-features/web-server.mdx +2 -2
- package/docs/en/guides/basic-features/alias.mdx +3 -3
- package/docs/en/guides/basic-features/css.mdx +27 -64
- package/docs/en/guides/basic-features/data-fetch.mdx +2 -2
- package/docs/en/guides/basic-features/env-vars.mdx +2 -2
- package/docs/en/guides/basic-features/html.mdx +0 -1
- package/docs/en/guides/basic-features/mock.mdx +4 -4
- package/docs/en/guides/basic-features/proxy.mdx +3 -3
- package/docs/en/guides/basic-features/routes.mdx +1 -2
- package/docs/en/guides/concept/builder.mdx +2 -2
- package/docs/en/guides/concept/entries.mdx +1 -1
- package/docs/en/guides/get-started/upgrade.mdx +1 -2
- package/docs/en/guides/topic-detail/framework-plugin/hook.mdx +2 -2
- package/docs/en/guides/topic-detail/generator/plugin/category.md +1 -1
- package/docs/en/guides/topic-detail/generator/plugin/context.md +1 -1
- package/docs/en/guides/topic-detail/micro-frontend/c02-development.mdx +2 -2
- package/docs/en/guides/topic-detail/model/auto-actions.mdx +1 -1
- package/docs/en/guides/topic-detail/model/performance.mdx +2 -1
- package/docs/en/guides/topic-detail/model/typescript-best-practice.mdx +1 -1
- package/docs/en/guides/topic-detail/model/use-model.mdx +1 -1
- package/docs/en/tutorials/first-app/c05-loader.mdx +0 -2
- package/docs/zh/community/releases.mdx +1 -1
- package/docs/zh/community/team.mdx +1 -1
- package/docs/zh/components/enable-bff-caution.mdx +2 -2
- package/docs/zh/configure/app/auto-load-plugin.mdx +2 -3
- package/docs/zh/configure/app/bff/_category_.json +2 -2
- package/docs/zh/configure/app/builder-plugins.mdx +2 -3
- package/docs/zh/configure/app/deploy/_category_.json +1 -1
- package/docs/zh/configure/app/dev/_category_.json +2 -2
- package/docs/zh/configure/app/experiments/_category_.json +2 -2
- package/docs/zh/configure/app/html/_category_.json +2 -2
- package/docs/zh/configure/app/output/_category_.json +2 -2
- package/docs/zh/configure/app/output/ssg.mdx +1 -1
- package/docs/zh/configure/app/performance/_category_.json +1 -1
- package/docs/zh/configure/app/plugins.mdx +1 -2
- package/docs/zh/configure/app/runtime/_category_.json +2 -2
- package/docs/zh/configure/app/security/_category_.json +2 -2
- package/docs/zh/configure/app/server/_category_.json +2 -2
- package/docs/zh/configure/app/source/_category_.json +2 -2
- package/docs/zh/configure/app/testing/_category_.json +2 -2
- package/docs/zh/configure/app/tools/_category_.json +2 -2
- package/docs/zh/configure/app/tools/tailwindcss.mdx +44 -6
- package/docs/zh/guides/advanced-features/bff/_category_.json +1 -1
- package/docs/zh/guides/advanced-features/code-split.mdx +2 -2
- package/docs/zh/guides/advanced-features/compatibility.mdx +1 -1
- package/docs/zh/guides/advanced-features/eslint.mdx +1 -1
- package/docs/zh/guides/advanced-features/low-level.mdx +2 -2
- package/docs/zh/guides/advanced-features/rspack-start.mdx +0 -1
- package/docs/zh/guides/advanced-features/ssg.mdx +3 -4
- package/docs/zh/guides/advanced-features/ssr.mdx +2 -3
- package/docs/zh/guides/advanced-features/testing.mdx +2 -2
- package/docs/zh/guides/advanced-features/using-storybook.mdx +1 -1
- package/docs/zh/guides/advanced-features/web-server.mdx +2 -2
- package/docs/zh/guides/basic-features/alias.mdx +3 -3
- package/docs/zh/guides/basic-features/css.mdx +27 -64
- package/docs/zh/guides/basic-features/data-fetch.mdx +1 -2
- package/docs/zh/guides/basic-features/env-vars.mdx +1 -1
- package/docs/zh/guides/basic-features/mock.mdx +2 -2
- package/docs/zh/guides/basic-features/proxy.mdx +3 -3
- package/docs/zh/guides/basic-features/routes.mdx +1 -2
- package/docs/zh/guides/concept/builder.mdx +1 -1
- package/docs/zh/guides/concept/entries.mdx +3 -3
- package/docs/zh/guides/get-started/upgrade.mdx +1 -2
- package/modern.config.ts +8 -0
- package/package.json +5 -5
- package/src/i18n/enUS.ts +1 -1
- package/src/i18n/zhCN.ts +1 -1
- package/docs/en/configure/app/source/design-system.mdx +0 -1175
- package/docs/zh/configure/app/source/design-system.mdx +0 -1174
@@ -66,7 +66,7 @@ pipeline.use((count, next) => {
|
|
66
66
|
return count * 2;
|
67
67
|
});
|
68
68
|
|
69
|
-
// 3.
|
69
|
+
// 3. Run
|
70
70
|
pipeline.run(1); // 2
|
71
71
|
pipeline.run(5); // 6
|
72
72
|
```
|
@@ -155,7 +155,7 @@ workflow.use(count => {
|
|
155
155
|
return count * 2;
|
156
156
|
});
|
157
157
|
|
158
|
-
// 3.
|
158
|
+
// 3. Run
|
159
159
|
workflow.run(1); // [2, 2]
|
160
160
|
workflow.run(5); // [6, 10]
|
161
161
|
```
|
@@ -58,7 +58,7 @@ npx @modern-js/create@latest plugin --plugin @modern-js/generator-plugin-plugin
|
|
58
58
|
? Please select the base type of the plugin: Web App
|
59
59
|
```
|
60
60
|
|
61
|
-
###
|
61
|
+
### Custom
|
62
62
|
|
63
63
|
```bash
|
64
64
|
npx @modern-js/create@latest plugin --plugin @modern-js/generator-plugin-plugin
|
@@ -1,6 +1,6 @@
|
|
1
1
|
---
|
2
2
|
sidebar_position: 2
|
3
|
-
title:
|
3
|
+
title: Development
|
4
4
|
---
|
5
5
|
|
6
6
|
# Experience Micro Frontend
|
@@ -16,7 +16,7 @@ Currently supports two routing modes
|
|
16
16
|
- Self-controlled routing
|
17
17
|
- Conventional routing
|
18
18
|
|
19
|
-
First, clarify the routing mode of the main application [create a
|
19
|
+
First, clarify the routing mode of the main application [create a file-based routing main App](#file-based-routing-main-app) or [create a self-controlled main App](#self-controlled-main-app)
|
20
20
|
|
21
21
|
In this experience we will create two sub-applications Table and Dashboard for the main application (Table is reduced routing, Dashboard is self-controlled routing)
|
22
22
|
|
@@ -84,7 +84,8 @@ const fooModel = model('foo').define({
|
|
84
84
|
});
|
85
85
|
|
86
86
|
function ComponentA() {
|
87
|
-
//
|
87
|
+
// By passing in the selector function
|
88
|
+
// only the a state is returned to the component
|
88
89
|
const [stateA] = useModel(fooModel, state => state.a);
|
89
90
|
|
90
91
|
return <div>{stateA}</div>;
|
@@ -30,7 +30,7 @@ export const foo = model<State>('foo').define({
|
|
30
30
|
});
|
31
31
|
```
|
32
32
|
|
33
|
-
When you declare type information for the State of a Model, the `computed` and `actions` of the Model can get the correct type information. In fact, even if we don't define State type information in the example code above, the type information of State can be automatically inferred based on the initial value information of `state`. However, we still recommend that you declare the type information of State when defining a Model because the type information of State inferred based on the initial value information of `state` may be incomplete (missing fields or field type information), and the type information of State cannot be automatically inferred based on the initial value information of `state` when using [Function Type](/apis/app/runtime/model/model_
|
33
|
+
When you declare type information for the State of a Model, the `computed` and `actions` of the Model can get the correct type information. In fact, even if we don't define State type information in the example code above, the type information of State can be automatically inferred based on the initial value information of `state`. However, we still recommend that you declare the type information of State when defining a Model because the type information of State inferred based on the initial value information of `state` may be incomplete (missing fields or field type information), and the type information of State cannot be automatically inferred based on the initial value information of `state` when using [Function Type](/apis/app/runtime/model/model_#function-type) to define the Model.
|
34
34
|
|
35
35
|
## Dependent types of Derived State
|
36
36
|
|
@@ -78,8 +78,6 @@ function Index() {
|
|
78
78
|
export default Index;
|
79
79
|
```
|
80
80
|
|
81
|
-
{/* Todo 重新截图,SSR 内容 */}
|
82
|
-
|
83
81
|
Re-execute `pnpm run dev`, view `view-source: http://localhost:8080/`, or view the "Preview" of the HTML request in the Network panel of devtools, you can see that the HTML rendered by SSR already contains the complete UI:
|
84
82
|
|
85
83
|

|
@@ -24,7 +24,7 @@ Modern.js 遵循 [Semantic Versioning](https://semver.org/lang/zh-CN/) 语义化
|
|
24
24
|
|
25
25
|
## 版本升级
|
26
26
|
|
27
|
-
当你需要升级项目中的 Modern.js 版本时,可以使用 `modern upgrade` 命令,参考 [
|
27
|
+
当你需要升级项目中的 Modern.js 版本时,可以使用 `modern upgrade` 命令,参考 [版本升级](/guides/get-started/upgrade)。
|
28
28
|
|
29
29
|
```bash
|
30
30
|
npx modern upgrade
|
@@ -14,12 +14,16 @@ const tailwind = {
|
|
14
14
|
'./config/html/**/*.{html,ejs,hbs}',
|
15
15
|
'./storybook/**/*',
|
16
16
|
],
|
17
|
-
// 使用 source.designSystem 配置作为 Tailwind CSS Theme 配置
|
18
|
-
theme: source.designSystem,
|
19
17
|
};
|
20
18
|
```
|
21
19
|
|
22
|
-
|
20
|
+
用于修改 [Tailwind CSS](https://tailwindcss.com/docs/configuration) 的配置项。
|
21
|
+
|
22
|
+
### 启用 Tailwind CSS
|
23
|
+
|
24
|
+
在使用 `tools.tailwindcss` 之前,你需要启用 Modern.js 的 Tailwind CSS 插件。
|
25
|
+
|
26
|
+
请阅读[「使用 Tailwind CSS」](/guides/basic-features/css.html#使用-tailwind-css) 章节来了解开启方式。
|
23
27
|
|
24
28
|
### Function 类型
|
25
29
|
|
@@ -53,8 +57,42 @@ export default {
|
|
53
57
|
};
|
54
58
|
```
|
55
59
|
|
56
|
-
###
|
60
|
+
### 注意事项
|
61
|
+
|
62
|
+
注意:
|
63
|
+
|
64
|
+
- 如果你同时使用了 `tailwind.config.{ts,js}` 文件和 `tools.tailwindcss` 选项,那么 `tools.tailwindcss` 定义的配置会优先生效,并覆盖 `tailwind.config.{ts,js}` 中定义的内容。
|
65
|
+
- 如果你同时使用了 `source.designSystem` 配置项,那么 Tailwind CSS 的 `theme` 配置将会被 `source.designSystem` 的值所覆盖。
|
66
|
+
|
67
|
+
其他配置的使用方式与 Tailwind CSS 官方用法一致,请参考 [tailwindcss - Configuration](https://tailwindcss.com/docs/configuration)。
|
68
|
+
|
69
|
+
### 关于 source.designSystem
|
57
70
|
|
58
|
-
|
71
|
+
`source.designSystem` 是 Modern.js 中废弃的配置项。
|
59
72
|
|
60
|
-
|
73
|
+
从 Modern.js vMAJOR_VERSION.33.0 版本开始,你可以使用 Tailwind CSS 的 `theme` 配置项来代替 `source.designSystem`,不再需要将 `theme` 配置拆分并设置到 `designSystem` 上。
|
74
|
+
|
75
|
+
- 旧版本用法:
|
76
|
+
|
77
|
+
```ts title="modern.config.ts"
|
78
|
+
const { theme, ...rest } = tailwindConfig;
|
79
|
+
|
80
|
+
export default {
|
81
|
+
tools: {
|
82
|
+
tailwindcss: rest,
|
83
|
+
},
|
84
|
+
source: {
|
85
|
+
designSystem: theme,
|
86
|
+
},
|
87
|
+
};
|
88
|
+
```
|
89
|
+
|
90
|
+
- 当前版本用法:
|
91
|
+
|
92
|
+
```ts title="modern.config.ts"
|
93
|
+
export default {
|
94
|
+
tools: {
|
95
|
+
tailwindcss: tailwindConfig,
|
96
|
+
},
|
97
|
+
};
|
98
|
+
```
|
@@ -1,9 +1,8 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
sidebar_position: 4
|
2
|
+
sidebar_position: 5
|
4
3
|
---
|
5
4
|
|
6
|
-
#
|
5
|
+
# 静态站点生成
|
7
6
|
|
8
7
|
SSG(Static Site Generation)是一种基于数据与模板,在构建时渲染完整静态网页的技术解决方案。
|
9
8
|
|
@@ -55,7 +54,7 @@ SSG 在**约定式路由**和**自控式路由**下的使用方式不同。
|
|
55
54
|
- `/user/profile`
|
56
55
|
|
57
56
|
:::note
|
58
|
-
如果还不了解约定式路由的规则,可以先查看[
|
57
|
+
如果还不了解约定式路由的规则,可以先查看[路由方案](/guides/basic-features/routes)。
|
59
58
|
|
60
59
|
:::
|
61
60
|
|
@@ -2,7 +2,7 @@
|
|
2
2
|
sidebar_position: 2
|
3
3
|
---
|
4
4
|
|
5
|
-
#
|
5
|
+
# 样式开发
|
6
6
|
|
7
7
|
Modern.js 内置多种常用的 CSS 开发方案,包括 Less / Sass / Stylus 预处理器、PostCSS、CSS Modules、CSS-in-JS 和 Tailwind CSS。
|
8
8
|
|
@@ -103,47 +103,46 @@ const App = () => (
|
|
103
103
|
|
104
104
|
:::
|
105
105
|
|
106
|
-
### Tailwind CSS
|
107
|
-
|
108
|
-
Tailwind CSS 官方提供了 [Tailwind CSS IntelliSense](https://github.com/tailwindlabs/tailwindcss-intellisense) 插件,用于在 VS Code 中自动补全 Tailwind CSS 的 class names、CSS functions 和 directives。
|
106
|
+
### 配置 Tailwind CSS
|
109
107
|
|
110
|
-
|
108
|
+
在 Modern.js 中,你有两种方式来配置 Tailwind CSS:
|
111
109
|
|
112
|
-
1.
|
113
|
-
2. 在项目的根目录创建 `tailwind.config.ts` 文件,并写入你需要的 Tailwind CSS 配置。
|
110
|
+
1. 使用 `tailwind.config.{ts,js}` 文件,该用法与 Tailwind CSS 的官方用法一致,请参考 ["Tailwind CSS - Configuration"](https://tailwindcss.com/docs/configuration) 来了解更多用法。
|
114
111
|
|
115
112
|
```ts title="tailwind.config.ts"
|
113
|
+
import type { Config } from 'tailwindcss';
|
114
|
+
|
116
115
|
export default {
|
117
|
-
content: [
|
118
|
-
|
119
|
-
'./config/html/**/*.{html,ejs,hbs}',
|
120
|
-
'./storybook/**/*',
|
121
|
-
],
|
122
|
-
// 主题配置(可选)
|
123
|
-
theme: {},
|
124
|
-
};
|
116
|
+
content: ['./src/**/*.{js,jsx,ts,tsx}'],
|
117
|
+
} as Config;
|
125
118
|
```
|
126
119
|
|
127
|
-
|
120
|
+
:::tip
|
121
|
+
请升级 Modern.js 到 >= MAJOR_VERSION.33.0 版本,以支持自动读取 `tailwind.config.{ts,js}` 文件。
|
122
|
+
:::
|
128
123
|
|
129
|
-
|
130
|
-
import tailwindConfig from './tailwind.config';
|
124
|
+
2. 使用 [tools.tailwindcss](/configure/app/tools/tailwindcss.html) 配置项,这是旧版本的用法,我们更推荐使用 `tailwind.config.{ts,js}` 文件进行配置。
|
131
125
|
|
132
|
-
|
126
|
+
```ts title="modern.config.ts"
|
127
|
+
export default {
|
133
128
|
tools: {
|
134
|
-
tailwindcss:
|
135
|
-
|
136
|
-
|
137
|
-
source: {
|
138
|
-
designSystem: tailwindConfig.theme,
|
129
|
+
tailwindcss: {
|
130
|
+
content: ['./src/**/*.{js,jsx,ts,tsx}'],
|
131
|
+
},
|
139
132
|
},
|
140
|
-
}
|
133
|
+
};
|
141
134
|
```
|
142
135
|
|
143
|
-
|
136
|
+
如果你同时使用了 `tailwind.config.{ts,js}` 文件和 `tools.tailwindcss` 选项,那么 `tools.tailwindcss` 定义的配置会优先生效,并覆盖 `tailwind.config.{ts,js}` 中定义的内容。
|
137
|
+
|
138
|
+
### Tailwind CSS 自动补全
|
139
|
+
|
140
|
+
Tailwind CSS 官方提供了 [Tailwind CSS IntelliSense](https://github.com/tailwindlabs/tailwindcss-intellisense) 插件,用于在 VS Code 中自动补全 Tailwind CSS 的 class names、CSS functions 和 directives。
|
141
|
+
|
142
|
+
你可以参考以下步骤来启动自动补全功能:
|
144
143
|
|
145
|
-
|
146
|
-
|
144
|
+
1. 在 VS Code 中安装 [Tailwind CSS IntelliSense](https://github.com/tailwindlabs/tailwindcss-intellisense) 插件。
|
145
|
+
2. 如果项目的根目录没有 `tailwind.config.{ts,js}` 文件,那么你需要创建该文件,并写入当前项目的 Tailwind CSS 配置,否则 IDE 插件将无法正确生效。
|
147
146
|
|
148
147
|
### Tailwind CSS 版本
|
149
148
|
|
@@ -162,39 +161,3 @@ Tailwind CSS v2 和 v3 均不支持 IE 11 浏览器,相关背景请参考:
|
|
162
161
|
- [Tailwind CSS v2 - Browser Support](https://v2.tailwindcss.com/docs/browser-support)
|
163
162
|
|
164
163
|
如果你在 IE 11 浏览器上使用 Tailwind CSS,可能会出现部分样式不可用的现象,请谨慎使用。
|
165
|
-
|
166
|
-
### Theme 配置
|
167
|
-
|
168
|
-
当需要自定义 Tailwind CSS 的 [theme](https://tailwindcss.com/docs/theme) 配置的时候,可以在配置 [`source.designSystem`](/configure/app/source/design-system) 中修改,例如,颜色主题中增加一个 `primary`:
|
169
|
-
|
170
|
-
```ts title="modern.config.ts"
|
171
|
-
export default defineConfig({
|
172
|
-
source: {
|
173
|
-
designSystem: {
|
174
|
-
extend: {
|
175
|
-
colors: {
|
176
|
-
primary: '#5c6ac4',
|
177
|
-
},
|
178
|
-
},
|
179
|
-
},
|
180
|
-
},
|
181
|
-
});
|
182
|
-
```
|
183
|
-
|
184
|
-
当需要对 Tailwind CSS 做 [theme](https://tailwindcss.com/docs/theme) 以外的其他特殊配置时,可以在 [`tools.tailwindcss`](/configure/app/tools/tailwindcss) 中配置,例如设置 `variants`:
|
185
|
-
|
186
|
-
```ts title="modern.config.ts"
|
187
|
-
export default defineConfig({
|
188
|
-
tools: {
|
189
|
-
tailwindcss: {
|
190
|
-
variants: {
|
191
|
-
extend: {
|
192
|
-
backgroundColor: ['active'],
|
193
|
-
},
|
194
|
-
},
|
195
|
-
},
|
196
|
-
},
|
197
|
-
});
|
198
|
-
```
|
199
|
-
|
200
|
-
> 当你为项目配置 Tailwind CSS 的时候,[source.designSystem](/configure/app/source/design-system) 和 [tools.tailwindcss](/configure/app/tools/tailwindcss) 这两个配置的组合等价于单独配置了一个 `tailwindcss.config.js` 文件。其中 [source.designSystem](/configure/app/source/design-system) 等效于 Tailwind CSS 的 [theme](https://v2.tailwindcss.com/docs/configuration#theme) 配置。
|