@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.
- package/.turbo/turbo-build.log +1 -1
- package/en/docusaurus-plugin-content-docs/current/apis/app/commands/inspect.md +0 -4
- package/en/docusaurus-plugin-content-docs/current/components/init-app.md +42 -0
- package/en/docusaurus-plugin-content-docs/current/configure/app/server/routes.md +2 -4
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/esbuild.md +16 -39
- package/en/docusaurus-plugin-content-docs/current/guides/basic-features/css/css-in-js.md +38 -0
- package/en/docusaurus-plugin-content-docs/current/guides/basic-features/css/css-modules.md +86 -0
- package/en/docusaurus-plugin-content-docs/current/guides/basic-features/css/less-sass.md +17 -0
- package/en/docusaurus-plugin-content-docs/current/guides/basic-features/css/postcss.md +81 -0
- package/en/docusaurus-plugin-content-docs/current/guides/basic-features/css/tailwindcss.md +95 -0
- package/en/docusaurus-plugin-content-docs/current/guides/basic-features/data-fetch.md +66 -0
- package/en/docusaurus-plugin-content-docs/current/guides/basic-features/routes.md +270 -0
- package/en/docusaurus-plugin-content-docs/current/guides/concept/entries.md +116 -0
- package/en/docusaurus-plugin-content-docs/current/guides/concept/lifecycle.md +15 -0
- package/en/docusaurus-plugin-content-docs/current/guides/get-started/quick-start.md +162 -0
- package/en/docusaurus-plugin-content-docs/current/guides/get-started/upgrade.md +78 -0
- package/{zh/tutorials/first-app → en/docusaurus-plugin-content-docs/current/guides}/overview.md +4 -4
- package/en/docusaurus-plugin-content-docs/current/tutorials/foundations/introduction.md +1 -1
- package/en/docusaurus-plugin-content-docs/current.json +11 -11
- package/package.json +3 -3
- package/zh/apis/app/commands/inspect.md +0 -4
- package/zh/apis/app/commands/new.md +1 -1
- package/zh/apis/app/hooks/src/index_.md +6 -5
- package/zh/components/debug-app.md +18 -0
- package/zh/components/global-proxy.md +28 -0
- package/zh/components/init-app.md +44 -0
- package/zh/components/prerequisites.md +19 -0
- package/zh/configure/app/server/routes.md +2 -4
- package/zh/configure/app/tools/esbuild.md +16 -39
- package/zh/guides/advanced-features/bff/bff-proxy.md +1 -1
- package/zh/guides/advanced-features/compatibility.md +2 -38
- package/zh/guides/advanced-features/custom-app.md +15 -17
- package/zh/guides/advanced-features/ssg.md +6 -6
- package/zh/guides/advanced-features/ssr.md +94 -51
- package/zh/guides/advanced-features/testing.md +33 -1
- package/zh/guides/advanced-features/web-server.md +2 -2
- package/zh/guides/basic-features/css/tailwindcss.md +2 -6
- package/zh/guides/basic-features/html.md +182 -0
- package/zh/guides/basic-features/mock.md +3 -9
- package/zh/guides/basic-features/proxy.md +2 -27
- package/zh/guides/concept/entries.md +4 -5
- package/zh/guides/get-started/quick-start.md +6 -78
- package/zh/guides/get-started/upgrade.md +8 -8
- package/zh/guides/topic-detail/model/quick-start.md +1 -1
- package/zh/guides/topic-detail/model/test-model.md +2 -2
- package/zh/guides/topic-detail/monorepo/intro.md +1 -1
- package/zh/guides/troubleshooting/dependencies.md +0 -69
- package/zh/tutorials/first-app/_category_.json +1 -1
- package/zh/tutorials/first-app/c01-start.md +94 -0
- package/zh/tutorials/first-app/{c05-component/5.1-use-ui-library.md → c02-component.md} +13 -15
- package/zh/tutorials/first-app/c03-css.md +305 -0
- package/zh/tutorials/first-app/{c08-client-side-routing/8.1-code-based-routing.md → c04-routes.md} +52 -39
- package/zh/tutorials/first-app/c05-loader.md +82 -0
- package/zh/tutorials/first-app/c06-model.md +256 -0
- package/zh/tutorials/first-app/c07-container.md +268 -0
- package/zh/tutorials/first-app/c08-entries.md +134 -0
- package/zh/tutorials/foundations/introduction.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-modern-mode.md +0 -34
- package/zh/apis/generator/overview.md +0 -32
- package/zh/configure/app/output/enable-modern-mode.md +0 -34
- package/zh/guides/topic-detail/monorepo/deploy.md +0 -43
- package/zh/tutorials/first-app/c01-getting-started/1.1-prerequisites.md +0 -25
- package/zh/tutorials/first-app/c01-getting-started/1.2-minimal-mwa.md +0 -118
- package/zh/tutorials/first-app/c01-getting-started/1.3-dev-command.md +0 -29
- package/zh/tutorials/first-app/c01-getting-started/1.4-enable-ssr.md +0 -47
- package/zh/tutorials/first-app/c01-getting-started/1.5-start-command.md +0 -18
- package/zh/tutorials/first-app/c01-getting-started/1.6-create-repo.md +0 -31
- package/zh/tutorials/first-app/c01-getting-started/_category_.json +0 -3
- package/zh/tutorials/first-app/c02-generator-and-studio/2.1-generator.md +0 -79
- package/zh/tutorials/first-app/c02-generator-and-studio/2.2-boilerplates.md +0 -34
- package/zh/tutorials/first-app/c02-generator-and-studio/2.3-configuration.md +0 -19
- package/zh/tutorials/first-app/c02-generator-and-studio/_category_.json +0 -3
- package/zh/tutorials/first-app/c03-ide/3.1-setting-up.md +0 -55
- package/zh/tutorials/first-app/c03-ide/3.2-hints-in-ide.md +0 -60
- package/zh/tutorials/first-app/c03-ide/3.3-autofix-in-ide.md +0 -11
- package/zh/tutorials/first-app/c03-ide/3.4-autofix-in-cli.md +0 -63
- package/zh/tutorials/first-app/c03-ide/_category_.json +0 -3
- package/zh/tutorials/first-app/c04-es6-plus-and-ts/4.1-use-es6-plus.md +0 -54
- package/zh/tutorials/first-app/c04-es6-plus-and-ts/4.2-use-typescript.md +0 -135
- package/zh/tutorials/first-app/c04-es6-plus-and-ts/4.3-compatibility.md +0 -67
- package/zh/tutorials/first-app/c04-es6-plus-and-ts/_category_.json +0 -3
- package/zh/tutorials/first-app/c05-component/5.2-use-standalone-component.md +0 -72
- package/zh/tutorials/first-app/c05-component/_category_.json +0 -3
- package/zh/tutorials/first-app/c06-css-and-component/6.1-css-in-js.md +0 -110
- package/zh/tutorials/first-app/c06-css-and-component/6.2-utility-class.md +0 -143
- package/zh/tutorials/first-app/c06-css-and-component/6.3-postcss.md +0 -84
- package/zh/tutorials/first-app/c06-css-and-component/6.4-design-system.md +0 -83
- package/zh/tutorials/first-app/c06-css-and-component/6.5-storybook.md +0 -77
- package/zh/tutorials/first-app/c06-css-and-component/6.6-testing.md +0 -104
- package/zh/tutorials/first-app/c06-css-and-component/_category_.json +0 -3
- package/zh/tutorials/first-app/c07-app-entry/7.1-intro.md +0 -69
- package/zh/tutorials/first-app/c07-app-entry/7.2-add-entry-in-cli.md +0 -100
- package/zh/tutorials/first-app/c07-app-entry/7.3-manage-entries-by-hand.md +0 -69
- package/zh/tutorials/first-app/c07-app-entry/_category_.json +0 -3
- package/zh/tutorials/first-app/c08-client-side-routing/_category_.json +0 -3
- package/zh/tutorials/first-app/c09-bff/9.1-serverless.md +0 -30
- package/zh/tutorials/first-app/c09-bff/9.2-enable-bff.md +0 -95
- package/zh/tutorials/first-app/c09-bff/9.3-fetch-bff.md +0 -131
- package/zh/tutorials/first-app/c09-bff/_category_.json +0 -3
- package/zh/tutorials/first-app/c10-model/10.1-application-architecture.md +0 -21
- package/zh/tutorials/first-app/c10-model/10.2-add-model.md +0 -185
- package/zh/tutorials/first-app/c10-model/10.3-use-model.md +0 -55
- package/zh/tutorials/first-app/c10-model/10.4-testing.md +0 -69
- package/zh/tutorials/first-app/c10-model/_category_.json +0 -3
- package/zh/tutorials/first-app/c11-container/11.1-use-model-with-app-state.md +0 -240
- package/zh/tutorials/first-app/c11-container/11.2-add-container.md +0 -109
- package/zh/tutorials/first-app/c11-container/11.3-use-loader.md +0 -63
- package/zh/tutorials/first-app/c11-container/11.4-testing.md +0 -56
- 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
|
-
|
8
|
+
import Prerequisites from '@site-docs/components/prerequisites.md'
|
9
9
|
|
10
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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]
|
19
|
+
[INFO] 已更新 Modern.js 依赖至最新版本!
|
20
20
|
```
|
21
21
|
|
22
|
-
可以看到项目 `package.json`
|
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
|
-
|
31
|
+
当升级时,需要对 Modern.js 官方提供的所有包做统一升级,而不是升级单个依赖。
|
32
32
|
:::
|
33
33
|
|
34
34
|
## 锁定子依赖
|
35
35
|
|
36
36
|
当项目某个子依赖出现问题,而 Modern.js 无法立即更新时,可以使用包管理器锁定子依赖版本。
|
37
37
|
|
38
|
-
###
|
38
|
+
### pnpm
|
39
39
|
|
40
|
-
对于使用
|
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
|
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
|
66
|
+
对于使用 Npm 的项目,请在**项目根目录**的 `package.json` 中添加以下配置,然后重新执行 `npm install`:
|
67
67
|
|
68
68
|
```json
|
69
69
|
{
|
@@ -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` 命令来查看项目里依赖的版本。
|
@@ -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
|
-
|
5
|
+
上一章节中,我们学习了如何初始化项目,并使用配置修改 Modern.js 的默认行为。
|
6
6
|
|
7
|
-
|
7
|
+
这一章节中,我们继续沿用上一章节的项目代码,继续完善联系人列表。
|
8
8
|
|
9
|
-
为了做更好的 UI
|
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
|
-
```
|
17
|
+
```ts
|
20
18
|
import { List } from 'antd';
|
21
19
|
```
|
22
20
|
|
23
|
-
修改
|
21
|
+
修改 `<App>` 组件的实现:
|
24
22
|
|
25
|
-
```
|
26
|
-
function
|
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
|
-

|
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
|
-
|
54
|
+
:::note
|
55
|
+
我们也可以使用其他组件库来实现同样的功能,例如 [Arco Design](https://arco.design/)。
|
56
|
+
:::
|