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

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.
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
+ :::