@modern-js/main-doc 2.0.0-beta.3 → 2.0.0-beta.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (109) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/en/docusaurus-plugin-content-docs/current/apis/app/commands/inspect.md +0 -4
  3. package/en/docusaurus-plugin-content-docs/current/components/init-app.md +42 -0
  4. package/en/docusaurus-plugin-content-docs/current/configure/app/server/routes.md +2 -4
  5. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/esbuild.md +16 -39
  6. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/css/css-in-js.md +38 -0
  7. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/css/css-modules.md +86 -0
  8. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/css/less-sass.md +17 -0
  9. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/css/postcss.md +81 -0
  10. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/css/tailwindcss.md +95 -0
  11. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/data-fetch.md +66 -0
  12. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/routes.md +270 -0
  13. package/en/docusaurus-plugin-content-docs/current/guides/concept/entries.md +116 -0
  14. package/en/docusaurus-plugin-content-docs/current/guides/concept/lifecycle.md +15 -0
  15. package/en/docusaurus-plugin-content-docs/current/guides/get-started/quick-start.md +162 -0
  16. package/en/docusaurus-plugin-content-docs/current/guides/get-started/upgrade.md +78 -0
  17. package/{zh/tutorials/first-app → en/docusaurus-plugin-content-docs/current/guides}/overview.md +4 -4
  18. package/en/docusaurus-plugin-content-docs/current/tutorials/foundations/introduction.md +1 -1
  19. package/en/docusaurus-plugin-content-docs/current.json +11 -11
  20. package/package.json +3 -3
  21. package/zh/apis/app/commands/inspect.md +0 -4
  22. package/zh/apis/app/commands/new.md +1 -1
  23. package/zh/apis/app/hooks/src/index_.md +6 -5
  24. package/zh/components/debug-app.md +18 -0
  25. package/zh/components/global-proxy.md +28 -0
  26. package/zh/components/init-app.md +44 -0
  27. package/zh/components/prerequisites.md +19 -0
  28. package/zh/configure/app/server/routes.md +2 -4
  29. package/zh/configure/app/tools/esbuild.md +16 -39
  30. package/zh/guides/advanced-features/bff/bff-proxy.md +1 -1
  31. package/zh/guides/advanced-features/compatibility.md +2 -38
  32. package/zh/guides/advanced-features/custom-app.md +15 -17
  33. package/zh/guides/advanced-features/ssg.md +6 -6
  34. package/zh/guides/advanced-features/ssr.md +94 -51
  35. package/zh/guides/advanced-features/testing.md +33 -1
  36. package/zh/guides/advanced-features/web-server.md +2 -2
  37. package/zh/guides/basic-features/css/tailwindcss.md +2 -6
  38. package/zh/guides/basic-features/html.md +182 -0
  39. package/zh/guides/basic-features/mock.md +3 -9
  40. package/zh/guides/basic-features/proxy.md +2 -27
  41. package/zh/guides/concept/entries.md +4 -5
  42. package/zh/guides/get-started/quick-start.md +6 -78
  43. package/zh/guides/get-started/upgrade.md +8 -8
  44. package/zh/guides/topic-detail/model/quick-start.md +1 -1
  45. package/zh/guides/topic-detail/model/test-model.md +2 -2
  46. package/zh/guides/topic-detail/monorepo/intro.md +1 -1
  47. package/zh/guides/troubleshooting/dependencies.md +0 -69
  48. package/zh/tutorials/first-app/_category_.json +1 -1
  49. package/zh/tutorials/first-app/c01-start.md +94 -0
  50. package/zh/tutorials/first-app/{c05-component/5.1-use-ui-library.md → c02-component.md} +13 -15
  51. package/zh/tutorials/first-app/c03-css.md +305 -0
  52. package/zh/tutorials/first-app/{c08-client-side-routing/8.1-code-based-routing.md → c04-routes.md} +52 -39
  53. package/zh/tutorials/first-app/c05-loader.md +82 -0
  54. package/zh/tutorials/first-app/c06-model.md +256 -0
  55. package/zh/tutorials/first-app/c07-container.md +268 -0
  56. package/zh/tutorials/first-app/c08-entries.md +134 -0
  57. package/zh/tutorials/foundations/introduction.md +1 -1
  58. package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-modern-mode.md +0 -34
  59. package/zh/apis/generator/overview.md +0 -32
  60. package/zh/configure/app/output/enable-modern-mode.md +0 -34
  61. package/zh/guides/topic-detail/monorepo/deploy.md +0 -43
  62. package/zh/tutorials/first-app/c01-getting-started/1.1-prerequisites.md +0 -25
  63. package/zh/tutorials/first-app/c01-getting-started/1.2-minimal-mwa.md +0 -118
  64. package/zh/tutorials/first-app/c01-getting-started/1.3-dev-command.md +0 -29
  65. package/zh/tutorials/first-app/c01-getting-started/1.4-enable-ssr.md +0 -47
  66. package/zh/tutorials/first-app/c01-getting-started/1.5-start-command.md +0 -18
  67. package/zh/tutorials/first-app/c01-getting-started/1.6-create-repo.md +0 -31
  68. package/zh/tutorials/first-app/c01-getting-started/_category_.json +0 -3
  69. package/zh/tutorials/first-app/c02-generator-and-studio/2.1-generator.md +0 -79
  70. package/zh/tutorials/first-app/c02-generator-and-studio/2.2-boilerplates.md +0 -34
  71. package/zh/tutorials/first-app/c02-generator-and-studio/2.3-configuration.md +0 -19
  72. package/zh/tutorials/first-app/c02-generator-and-studio/_category_.json +0 -3
  73. package/zh/tutorials/first-app/c03-ide/3.1-setting-up.md +0 -55
  74. package/zh/tutorials/first-app/c03-ide/3.2-hints-in-ide.md +0 -60
  75. package/zh/tutorials/first-app/c03-ide/3.3-autofix-in-ide.md +0 -11
  76. package/zh/tutorials/first-app/c03-ide/3.4-autofix-in-cli.md +0 -63
  77. package/zh/tutorials/first-app/c03-ide/_category_.json +0 -3
  78. package/zh/tutorials/first-app/c04-es6-plus-and-ts/4.1-use-es6-plus.md +0 -54
  79. package/zh/tutorials/first-app/c04-es6-plus-and-ts/4.2-use-typescript.md +0 -135
  80. package/zh/tutorials/first-app/c04-es6-plus-and-ts/4.3-compatibility.md +0 -67
  81. package/zh/tutorials/first-app/c04-es6-plus-and-ts/_category_.json +0 -3
  82. package/zh/tutorials/first-app/c05-component/5.2-use-standalone-component.md +0 -72
  83. package/zh/tutorials/first-app/c05-component/_category_.json +0 -3
  84. package/zh/tutorials/first-app/c06-css-and-component/6.1-css-in-js.md +0 -110
  85. package/zh/tutorials/first-app/c06-css-and-component/6.2-utility-class.md +0 -143
  86. package/zh/tutorials/first-app/c06-css-and-component/6.3-postcss.md +0 -84
  87. package/zh/tutorials/first-app/c06-css-and-component/6.4-design-system.md +0 -83
  88. package/zh/tutorials/first-app/c06-css-and-component/6.5-storybook.md +0 -77
  89. package/zh/tutorials/first-app/c06-css-and-component/6.6-testing.md +0 -104
  90. package/zh/tutorials/first-app/c06-css-and-component/_category_.json +0 -3
  91. package/zh/tutorials/first-app/c07-app-entry/7.1-intro.md +0 -69
  92. package/zh/tutorials/first-app/c07-app-entry/7.2-add-entry-in-cli.md +0 -100
  93. package/zh/tutorials/first-app/c07-app-entry/7.3-manage-entries-by-hand.md +0 -69
  94. package/zh/tutorials/first-app/c07-app-entry/_category_.json +0 -3
  95. package/zh/tutorials/first-app/c08-client-side-routing/_category_.json +0 -3
  96. package/zh/tutorials/first-app/c09-bff/9.1-serverless.md +0 -30
  97. package/zh/tutorials/first-app/c09-bff/9.2-enable-bff.md +0 -95
  98. package/zh/tutorials/first-app/c09-bff/9.3-fetch-bff.md +0 -131
  99. package/zh/tutorials/first-app/c09-bff/_category_.json +0 -3
  100. package/zh/tutorials/first-app/c10-model/10.1-application-architecture.md +0 -21
  101. package/zh/tutorials/first-app/c10-model/10.2-add-model.md +0 -185
  102. package/zh/tutorials/first-app/c10-model/10.3-use-model.md +0 -55
  103. package/zh/tutorials/first-app/c10-model/10.4-testing.md +0 -69
  104. package/zh/tutorials/first-app/c10-model/_category_.json +0 -3
  105. package/zh/tutorials/first-app/c11-container/11.1-use-model-with-app-state.md +0 -240
  106. package/zh/tutorials/first-app/c11-container/11.2-add-container.md +0 -109
  107. package/zh/tutorials/first-app/c11-container/11.3-use-loader.md +0 -63
  108. package/zh/tutorials/first-app/c11-container/11.4-testing.md +0 -56
  109. package/zh/tutorials/first-app/c11-container/_category_.json +0 -3
@@ -5,25 +5,9 @@ sidebar_position: 1
5
5
 
6
6
  ## 环境准备
7
7
 
8
- ### Node.js
8
+ import Prerequisites from '@site-docs/components/prerequisites.md'
9
9
 
10
- 需要 [Node.js LTS](https://github.com/nodejs/Release),并确保 Node 版本大于等于 14.17.6。
11
-
12
- Modern.js 推荐在开发环境里先安装 [nvm](https://github.com/nvm-sh/nvm#install--update-script),在 shell 里集成[自动切换 node 版本的脚本](https://github.com/nvm-sh/nvm#deeper-shell-integration)。
13
-
14
- 然后只要仓库根目录下有内容为 `lts/fermium` 或 `lts/gallium` 的 `.nvmrc` 文件,进入这个仓库时就会自动安装或切换到正确的 Node.js 版本。
15
-
16
- ### pnpm
17
-
18
- 推荐使用 [pnpm](https://pnpm.io/installation) 来管理依赖:
19
-
20
- ```bash
21
- npm install -g pnpm
22
- ```
23
-
24
- :::note
25
- Modern.js 同样支持使用 `yarn`、`npm` 进行依赖管理。
26
- :::
10
+ <Prerequisites />
27
11
 
28
12
  ## 安装
29
13
 
@@ -44,72 +28,16 @@ npx @modern-js/create myapp
44
28
 
45
29
  ## 初始化项目
46
30
 
47
- Modern.js 生成器会提供一个可交互的问答界面,根据结果初始化项目,按照默认的选择进行初始化:
48
31
 
49
- ```bash
50
- ? 请选择你想创建的工程类型 应用
51
- ? 请选择开发语言 TS
52
- ? 请选择包管理工具 pnpm
53
- ```
54
-
55
- 在生成项目后,Modern.js 会自动安装依赖、创建 git 仓库。
56
-
57
- ```bash
58
- [INFO] 依赖自动安装成功
59
- [INFO] git 仓库初始化成功
60
- [INFO] 创建成功!
61
- 可在新项目的目录下运行以下命令:
62
- pnpm run dev # 按开发环境的要求,运行和调试项目
63
- pnpm run build # 按产品环境的要求,构建项目
64
- pnpm run start # 按产品环境的要求,运行项目
65
- pnpm run lint # 检查和修复所有代码
66
- pnpm run new # 继续创建更多项目要素,比如应用入口
67
- ```
32
+ import InitApp from '@site-docs/components/init-app.md'
68
33
 
69
- :::note
70
- Modern.js 生成器除了在项目初始化时工作外,也能在后续研发中生成项目各种粒度的模块,并非一用即抛开。
71
- :::
72
-
73
- 现在,项目结构如下:
74
-
75
- ```
76
- .
77
- ├── node_modules
78
- ├── src
79
- │   ├── modern-app-env.d.ts
80
- │   └── routes
81
- │   ├── index.css
82
- │   ├── layout.tsx
83
- │   └── page.tsx
84
- ├── modern.config.ts
85
- ├── package.json
86
- ├── pnpm-lock.yaml
87
- ├── README.md
88
- └── tsconfig.json
89
- ```
34
+ <InitApp />
90
35
 
91
36
  ## 启动项目
92
37
 
93
- 在项目中执行 `pnpm run dev` 即可启动项目:
94
-
95
- ```bash
96
- $ pnpm run dev
97
-
98
- > modern dev
99
-
100
- info Starting dev server...
101
- info App running at:
102
-
103
- > Local: http://localhost:8080/
104
- > Network: http://10.94.58.87:8080/
105
- > Network: http://10.254.68.105:8080/
106
-
107
- Client ✔ done in 76.10ms
108
- ```
109
-
110
- 在浏览器中打开 `http://localhost:8000/`,能看到以下内容:
38
+ import DebugApp from '@site-docs/components/debug-app.md'
111
39
 
112
- ![dev](https://lf3-static.bytednsdoc.com/obj/eden-cn/nuvjhpqnuvr/modern-website/dev.png)
40
+ <DebugApp />
113
41
 
114
42
  ## 使用配置
115
43
 
@@ -16,28 +16,28 @@ $ pnpm run upgrade
16
16
 
17
17
  [INFO] [项目类型]: 应用
18
18
  [INFO] [Modern.js 最新版本]: 2.0.0
19
- [INFO] [当前项目 Modern.js 依赖已经为最新版本]: 2.0.0
19
+ [INFO] 已更新 Modern.js 依赖至最新版本!
20
20
  ```
21
21
 
22
- 可以看到项目 `package.json` 中的依赖已经更改到最新,执行 `pnpm install` 重新安装即可。
22
+ 可以看到项目 `package.json` 中的依赖已经更改到最新。
23
23
 
24
24
  ## 指定版本升级
25
25
 
26
- Modern.js 所有的官方包目前都使用统一版本号进行发布。
26
+ Modern.js 所有的官方包目前都使用**统一版本号**进行发布。
27
27
 
28
28
  根据官网 Release Note,开发者也可以手动将项目升级到想要的版本。
29
29
 
30
30
  :::tip
31
- 对所有 Modern.js 官方提供的包做统一升级,而不是升级单个依赖。
31
+ 当升级时,需要对 Modern.js 官方提供的所有包做统一升级,而不是升级单个依赖。
32
32
  :::
33
33
 
34
34
  ## 锁定子依赖
35
35
 
36
36
  当项目某个子依赖出现问题,而 Modern.js 无法立即更新时,可以使用包管理器锁定子依赖版本。
37
37
 
38
- ### Pnpm
38
+ ### pnpm
39
39
 
40
- 对于使用 Pnpm 的项目,请在**项目根目录**的 `package.json` 中添加以下配置,然后重新执行 `pnpm i`:
40
+ 对于使用 pnpm 的项目,请在**项目根目录**的 `package.json` 中添加以下配置,然后重新执行 `pnpm install`:
41
41
 
42
42
  ```json
43
43
  {
@@ -51,7 +51,7 @@ Modern.js 所有的官方包目前都使用统一版本号进行发布。
51
51
 
52
52
  ### Yarn
53
53
 
54
- 对于使用 Yarn 的项目,请在**项目根目录**的 `package.json` 中添加以下配置,然后重新执行 `yarn i`:
54
+ 对于使用 Yarn 的项目,请在**项目根目录**的 `package.json` 中添加以下配置,然后重新执行 `yarn install`:
55
55
 
56
56
  ```json
57
57
  {
@@ -63,7 +63,7 @@ Modern.js 所有的官方包目前都使用统一版本号进行发布。
63
63
 
64
64
  ### Npm
65
65
 
66
- 对于使用 Npm 的项目,请在**项目根目录**的 `package.json` 中添加以下配置,然后重新执行 `npm i`:
66
+ 对于使用 Npm 的项目,请在**项目根目录**的 `package.json` 中添加以下配置,然后重新执行 `npm install`:
67
67
 
68
68
  ```json
69
69
  {
@@ -81,7 +81,7 @@ export default countModel;
81
81
 
82
82
  接下来,我们演示如何在组件中使用 Model。
83
83
 
84
- 新建一个组件 Counter,在组件内通过 `useModel` API 使用 countModel
84
+ 新建一个组件 Counter,在组件内通过 `useModel` API 使用 `countModel`:
85
85
 
86
86
  ```js
87
87
  import { useModel } from '@modern-js/runtime/model';
@@ -8,8 +8,8 @@ title: 测试 Model
8
8
  使用测试功能,需要先开启该功能。在项目根目录下,执行 `pnpm run new`,进行如下选择:
9
9
 
10
10
  ```bash
11
- ? 请选择你想要的操作: 启用可选功能
12
- ? 启用可选功能: 启用「单元测试 / 集成测试」功能
11
+ ? 请选择你想要的操作 启用可选功能
12
+ ? 启用可选功能 启用「单元测试 / 集成测试」功能
13
13
  ```
14
14
 
15
15
  即可开启测试功能支持。
@@ -2,7 +2,7 @@
2
2
  sidebar_position: 1
3
3
  ---
4
4
 
5
- # 简介
5
+ # Monorepo 工程介绍
6
6
 
7
7
  Modern.js 提供了对于 Monorepo 工程方案的支持,其主要通过 `@modern-js/monorepo-tools` 来提供功能。
8
8
 
@@ -4,75 +4,6 @@ sidebar_position: 1
4
4
 
5
5
  # 依赖安装问题
6
6
 
7
- ### 如何升级项目中的 Modern.js 到最新版本?
8
-
9
- 对于使用 yarn 的项目,可以执行:
10
-
11
- ```bash
12
- yarn upgrade --scope @modern-js
13
- ```
14
-
15
- 对于使用 pnpm 的项目,可以执行:
16
-
17
- ```bash
18
- pnpm update "@modern-js/*" -r
19
- ```
20
-
21
- 如果需要了解不同版本之间的更新内容,可以查看:
22
-
23
- - Modern.js 发版日志:[Modern.js/releases](https://github.com/modern-js-dev/modern.js/releases)。
24
- - 各个 package 下的 `CHANGELOG.md` 文件。
25
-
26
- ---
27
-
28
- ### 如何锁定项目中的某个依赖版本?
29
-
30
- 如果需要锁定项目中的某个依赖的版本,可以通过以下方式进行操作:
31
-
32
- **yarn**
33
-
34
- 对于使用 yarn 的项目,请在**项目根目录**的 `package.json` 中添加以下配置,然后重新执行 `yarn`:
35
-
36
- ```json
37
- {
38
- "resolutions": {
39
- "package-name": "^1.0.0"
40
- }
41
- }
42
- ```
43
-
44
- **pnpm**
45
-
46
- 对于使用 pnpm 的项目,请在**项目根目录**的 `package.json` 中添加以下配置,然后重新执行 `pnpm i`:
47
-
48
- ```json
49
- {
50
- "pnpm": {
51
- "overrides": {
52
- "package-name": "^1.0.0"
53
- }
54
- }
55
- }
56
- ```
57
-
58
- **npm**
59
-
60
- 对于使用 npm 的项目,请在**项目根目录**的 `package.json` 中添加以下配置,然后重新执行 `npm i`:
61
-
62
- ```json
63
- {
64
- "overrides": {
65
- "package-name": "^1.0.0"
66
- }
67
- }
68
- ```
69
-
70
- :::info
71
- 对于 monorepo 场景,只能在项目根目录的 `package.json` 中锁定依赖版本,并且会影响 monorepo 中的所有 package。
72
- :::
73
-
74
- ---
75
-
76
7
  ### 如何查看项目里某个依赖实际安装的版本?
77
8
 
78
9
  可以使用包管理器自带的 `ls` 命令来查看项目里依赖的版本。
@@ -1,5 +1,5 @@
1
1
  {
2
- "label": "创建第一个应用",
2
+ "label": "联系人列表应用",
3
3
  "position": 2,
4
4
  "collapsed": false
5
5
  }
@@ -0,0 +1,94 @@
1
+ ---
2
+ title: 创建项目
3
+ ---
4
+
5
+ 从这一章节开始,我们将进入实战教程部分。在实战教程中,我们将会从环境准备开始,从简单到复杂,一步一步搭建一个真实的项目。
6
+
7
+ ## 环境准备
8
+
9
+ import Prerequisites from '@site-docs/components/prerequisites.md'
10
+
11
+ <Prerequisites />
12
+
13
+ ## 初始化项目
14
+
15
+ 我们创建新的目录,通过命令行工具初始化项目:
16
+
17
+ ```bash
18
+ mkdir myapp && cd myapp
19
+ npx @modern-js/create
20
+ ```
21
+
22
+ import InitApp from '@site-docs/components/init-app.md'
23
+
24
+ <InitApp />
25
+
26
+ ## 调试项目
27
+
28
+ import DebugApp from '@site-docs/components/debug-app.md'
29
+
30
+ <DebugApp />
31
+
32
+ ## 修改代码
33
+
34
+ 我们将原本的示例代码删除,替换成一个简单的联系人列表:
35
+
36
+ ```tsx title="src/routes/page.tsx"
37
+ const getAvatar = (users: Array<{ name: string; email: string }>) =>
38
+ users.map(user => ({
39
+ ...user,
40
+ avatar: `https://avatars.dicebear.com/v2/identicon/${user.name}.svg`,
41
+ }));
42
+
43
+ const mockData = getAvatar([
44
+ { name: 'Thomas', email: 'w.kccip@bllmfbgv.dm' },
45
+ { name: 'Chow', email: 'f.lfqljnlk@ywoefljhc.af' },
46
+ { name: 'Bradley', email: 'd.wfovsqyo@gpkcjwjgb.fr' },
47
+ { name: 'Davis', email: '"t.kqkoj@utlkwnpwk.nu' },
48
+ ]);
49
+
50
+ function App() {
51
+ return (
52
+ <ul>
53
+ {mockData.map(({ name, avatar, email }) => (
54
+ <li key={name}>
55
+ <img src={avatar} width={60} height={60} /> ---
56
+ <span>{name}</span> ---
57
+ <span>{email}</span>
58
+ </li>
59
+ ))}
60
+ </ul>
61
+ );
62
+ }
63
+
64
+ export default App;
65
+ ```
66
+
67
+ 因为框架默认支持 [HMR](https://webpack.js.org/concepts/hot-module-replacement/),可以看到 `http://localhost:8080/` 里的内容会自动变成 Hello Modern.js。
68
+
69
+ 删除多余的 css 文件,保持目录没有多余的文件:
70
+
71
+ ```bash
72
+ rm src/routes/index.css
73
+ ```
74
+
75
+ ## 使用配置
76
+
77
+ 接下来,我们修改项目中的 `modern.config.ts`,开启 SSR 能力:
78
+
79
+ ```ts
80
+ import { defineConfig } from '@modern-js/app-tools';
81
+
82
+ // https://modernjs.dev/docs/apis/app/config
83
+ export default defineConfig({
84
+ runtime: {
85
+ router: true,
86
+ state: true,
87
+ },
88
+ server: {
89
+ ssr: true,
90
+ },
91
+ });
92
+ ```
93
+
94
+ 重新执行 `pnpm run dev`,可以发现项目已经在服务端完成了页面渲染。
@@ -1,29 +1,27 @@
1
1
  ---
2
- title: 使用主流组件库
2
+ title: 编写 UI 组件
3
3
  ---
4
4
 
5
- 上一章节中,我们学习了如何使用 ES6+ 与 TypeScript 语法编写 Modern.js 应用。
5
+ 上一章节中,我们学习了如何初始化项目,并使用配置修改 Modern.js 的默认行为。
6
6
 
7
- 这一章节中,我们继续沿用上一章节的项目代码(注意是 TS 代码,不是 ES6+ 代码),继续完善联系人列表。
7
+ 这一章节中,我们继续沿用上一章节的项目代码,继续完善联系人列表。
8
8
 
9
- 为了做更好的 UI 展示和交互,我们引入主流的组件库 Ant Design 来开发,使用 List 组件来代替原始的列表。
10
-
11
- 先添加依赖:
9
+ 为了做更好的 UI 展示和交互,我们引入组件库 [Antd](https://ant.design/index-cn) 来开发,使用 `<List>` 组件来代替原始的列表。先添加依赖:
12
10
 
13
11
  ```bash
14
12
  pnpm add antd
15
13
  ```
16
14
 
17
- 修改 `src/routes/page.tsx`,在顶部导入组件:
15
+ 修改 `src/routes/page.tsx`,在顶部导入组件:
18
16
 
19
- ```js
17
+ ```ts
20
18
  import { List } from 'antd';
21
19
  ```
22
20
 
23
- 修改 Index 组件的实现:
21
+ 修改 `<App>` 组件的实现:
24
22
 
25
- ```ts
26
- function Index() {
23
+ ```tsx
24
+ function App() {
27
25
  return (
28
26
  <div>
29
27
  <List
@@ -45,7 +43,7 @@ function Index() {
45
43
 
46
44
  执行 `pnpm run dev`,查看运行结果:
47
45
 
48
- ![result](https://lf3-static.bytednsdoc.com/obj/eden-cn/aphqeh7uhohpquloj/modern-js/docs/05/result.png)
46
+ ![result](https://lf3-static.bytednsdoc.com/obj/eden-cn/nuvjhpqnuvr/modern-website/tutorials/c02-antd-result.png)
49
47
 
50
48
  可以看到 Ant Design 导出的组件,已经具备了完整的样式。
51
49
 
@@ -53,6 +51,6 @@ function Index() {
53
51
  Modern.js 会[自动按需导入 Ant Design 组件需要的 CSS](https://github.com/ant-design/babel-plugin-import)。
54
52
  :::
55
53
 
56
- ---
57
-
58
- > 本小节的代码可以在[这里查看](https://github.com/modern-js-dev/modern-js-examples/tree/main/tutorials/c05/hello-modern)。
54
+ :::note
55
+ 我们也可以使用其他组件库来实现同样的功能,例如 [Arco Design](https://arco.design/)。
56
+ :::