@modern-js/main-doc 2.21.0 → 2.22.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 -0
- package/docs/en/apis/app/commands.mdx +5 -5
- package/docs/en/apis/app/hooks/api/api.mdx +80 -0
- package/docs/en/apis/app/hooks/api/app.mdx +12 -0
- package/docs/en/apis/app/hooks/api/lambda.mdx +57 -0
- package/docs/en/apis/app/hooks/api/test.mdx +1 -1
- package/docs/en/apis/app/hooks/config/html.mdx +2 -2
- package/docs/en/apis/app/hooks/config/icon.mdx +19 -19
- package/docs/en/apis/app/hooks/config/mock.mdx +1 -1
- package/docs/en/apis/app/hooks/config/public.mdx +10 -10
- package/docs/en/apis/app/hooks/config/storybook.mdx +3 -3
- package/docs/en/apis/app/hooks/config/upload.mdx +13 -13
- package/docs/en/apis/app/hooks/modern-config.mdx +4 -4
- package/docs/en/apis/app/hooks/server/index_.mdx +2 -9
- package/docs/en/apis/app/hooks/server/test.mdx +5 -2
- package/docs/en/apis/app/hooks/shared.mdx +1 -1
- package/docs/en/apis/app/hooks/src/app.mdx +17 -27
- package/docs/en/apis/app/hooks/src/index_.mdx +6 -6
- package/docs/en/apis/app/hooks/src/pages.mdx +41 -37
- package/docs/en/apis/app/hooks/src/routes.mdx +16 -36
- package/docs/en/apis/app/hooks/src/server.mdx +1 -1
- package/docs/en/apis/app/hooks/src/stories.mdx +6 -3
- package/docs/en/apis/app/hooks/src/test.mdx +4 -3
- package/docs/en/apis/app/runtime/core/use-runtime-context.mdx +5 -1
- package/docs/en/apis/app/runtime/web-server/hook.mdx +2 -2
- package/docs/en/apis/app/runtime/web-server/middleware.mdx +2 -2
- package/docs/en/components/global-proxy.mdx +7 -7
- package/docs/en/components/init-app.mdx +3 -3
- package/docs/en/components/init-rspack-app.mdx +4 -4
- package/docs/en/components/language-config.mdx +9 -0
- package/docs/en/components/package-manager.mdx +11 -0
- package/docs/en/components/ua-polyfill.mdx +2 -2
- package/docs/en/configure/app/source/config-dir.mdx +1 -1
- package/docs/en/configure/app/source/design-system.mdx +67 -67
- package/docs/en/configure/app/source/disable-default-entries.mdx +6 -5
- package/docs/en/configure/app/source/disable-entry-dirs.mdx +5 -5
- package/docs/en/configure/app/source/enable-async-entry.mdx +9 -9
- package/docs/en/configure/app/source/entries-dir.mdx +3 -3
- package/docs/en/configure/app/source/entries.mdx +21 -19
- package/docs/en/configure/app/tools/swc.mdx +2 -2
- package/docs/en/guides/advanced-features/bff/frameworks.mdx +2 -2
- package/docs/en/guides/advanced-features/bff/function.mdx +4 -4
- package/docs/en/guides/advanced-features/bff/type.mdx +5 -5
- package/docs/en/guides/advanced-features/rspack-start.mdx +6 -6
- package/docs/en/guides/advanced-features/ssg.mdx +2 -2
- package/docs/en/guides/advanced-features/testing.mdx +2 -2
- package/docs/en/guides/advanced-features/web-server.mdx +2 -2
- package/docs/en/guides/basic-features/css.mdx +2 -2
- package/docs/en/guides/basic-features/mock.mdx +1 -1
- package/docs/en/guides/basic-features/proxy.mdx +4 -5
- package/docs/en/guides/basic-features/routes.mdx +11 -7
- package/docs/en/guides/concept/entries.mdx +3 -3
- package/docs/en/guides/topic-detail/generator/create/_category_.json +4 -0
- package/docs/en/guides/topic-detail/generator/create/config.mdx +75 -0
- package/docs/en/guides/topic-detail/generator/create/option.md +151 -0
- package/docs/en/guides/topic-detail/generator/create/use.mdx +66 -0
- package/docs/en/guides/topic-detail/generator/new/_category_.json +4 -0
- package/docs/en/guides/topic-detail/generator/new/config.md +155 -0
- package/docs/en/guides/topic-detail/generator/new/option.md +67 -0
- package/docs/en/guides/topic-detail/generator/new/use.md +95 -0
- package/docs/en/guides/topic-detail/generator/plugin/_category_.json +2 -2
- package/docs/en/guides/topic-detail/generator/plugin/api/_category_.json +1 -1
- package/docs/en/guides/topic-detail/generator/plugin/api/afterForged.md +49 -0
- package/docs/en/guides/topic-detail/generator/plugin/api/context.md +184 -0
- package/docs/en/guides/topic-detail/generator/plugin/api/input.md +124 -0
- package/docs/en/guides/topic-detail/generator/plugin/api/onForged.md +310 -0
- package/docs/en/guides/topic-detail/generator/plugin/category.md +88 -0
- package/docs/en/guides/topic-detail/generator/plugin/context.md +104 -0
- package/docs/en/guides/topic-detail/generator/plugin/structure.md +106 -0
- package/docs/en/guides/topic-detail/generator/plugin/use.md +33 -0
- package/docs/en/guides/topic-detail/micro-frontend/c02-development.mdx +8 -8
- package/docs/en/tutorials/first-app/c03-css.mdx +2 -2
- package/docs/en/tutorials/first-app/c08-entries.mdx +3 -3
- package/docs/zh/apis/app/commands.mdx +3 -3
- package/docs/zh/apis/app/hooks/api/{functions/api.mdx → api.mdx} +4 -4
- package/docs/zh/apis/app/hooks/api/app.mdx +12 -0
- package/docs/zh/apis/app/hooks/api/{framework/lambda.mdx → lambda.mdx} +5 -5
- package/docs/zh/apis/app/hooks/api/test.mdx +3 -3
- package/docs/zh/apis/app/hooks/config/icon.mdx +15 -15
- package/docs/zh/apis/app/hooks/config/mock.mdx +1 -1
- package/docs/zh/apis/app/hooks/config/public.mdx +3 -3
- package/docs/zh/apis/app/hooks/config/upload.mdx +1 -1
- package/docs/zh/apis/app/hooks/modern-config.mdx +3 -3
- package/docs/zh/apis/app/hooks/server/index_.mdx +1 -6
- package/docs/zh/apis/app/hooks/shared.mdx +1 -1
- package/docs/zh/apis/app/hooks/src/app.mdx +15 -25
- package/docs/zh/apis/app/hooks/src/index_.mdx +6 -6
- package/docs/zh/apis/app/hooks/src/pages.mdx +7 -3
- package/docs/zh/apis/app/hooks/src/routes.mdx +4 -4
- package/docs/zh/apis/app/hooks/src/stories.mdx +1 -1
- package/docs/zh/apis/app/runtime/core/use-runtime-context.mdx +5 -1
- package/docs/zh/components/language-config.mdx +9 -0
- package/docs/zh/components/package-manager.mdx +11 -0
- package/docs/zh/components/ua-polyfill.mdx +1 -1
- package/docs/zh/configure/app/source/design-system.mdx +3 -4
- package/docs/zh/configure/app/source/enable-async-entry.mdx +2 -5
- package/docs/zh/configure/app/source/entries.mdx +2 -2
- package/docs/zh/configure/app/tools/swc.mdx +2 -2
- package/docs/zh/guides/advanced-features/rspack-start.mdx +6 -6
- package/docs/zh/guides/advanced-features/ssg.mdx +1 -1
- package/docs/zh/guides/advanced-features/testing.mdx +2 -2
- package/docs/zh/guides/advanced-features/web-server.mdx +1 -1
- package/docs/zh/guides/basic-features/css.mdx +1 -1
- package/docs/zh/guides/basic-features/mock.mdx +1 -1
- package/docs/zh/guides/basic-features/routes.mdx +7 -4
- package/docs/zh/guides/concept/entries.mdx +3 -3
- package/docs/zh/guides/topic-detail/generator/create/_category_.json +4 -0
- package/docs/zh/guides/topic-detail/generator/create/config.mdx +76 -0
- package/docs/zh/guides/topic-detail/generator/create/option.md +151 -0
- package/docs/zh/guides/topic-detail/generator/create/use.mdx +66 -0
- package/docs/zh/guides/topic-detail/generator/new/_category_.json +4 -0
- package/docs/zh/guides/topic-detail/generator/new/config.md +153 -0
- package/docs/zh/guides/topic-detail/generator/new/option.md +67 -0
- package/docs/zh/guides/topic-detail/generator/new/use.md +94 -0
- package/docs/zh/guides/topic-detail/generator/plugin/_category_.json +2 -2
- package/docs/zh/guides/topic-detail/generator/plugin/api/_category_.json +1 -1
- package/docs/zh/guides/topic-detail/generator/plugin/api/afterForged.md +50 -0
- package/docs/zh/guides/topic-detail/generator/plugin/api/context.md +184 -0
- package/docs/zh/guides/topic-detail/generator/plugin/api/input.md +124 -0
- package/docs/zh/guides/topic-detail/generator/plugin/api/onForged.md +310 -0
- package/docs/zh/guides/topic-detail/generator/plugin/category.md +93 -0
- package/docs/zh/guides/topic-detail/generator/plugin/context.md +105 -0
- package/docs/zh/guides/topic-detail/generator/plugin/structure.md +106 -0
- package/docs/zh/guides/topic-detail/generator/plugin/use.md +33 -0
- package/docs/zh/guides/topic-detail/micro-frontend/c02-development.mdx +4 -4
- package/docs/zh/guides/topic-detail/model/test-model.mdx +1 -1
- package/docs/zh/tutorials/first-app/c03-css.mdx +1 -1
- package/docs/zh/tutorials/first-app/c08-entries.mdx +1 -1
- package/modern.config.ts +2 -1
- package/package.json +5 -5
- package/docs/en/apis/app/hooks/api/framework/_category_.json +0 -4
- package/docs/en/apis/app/hooks/api/framework/lambda.mdx +0 -57
- package/docs/en/apis/app/hooks/api/functions/_category_.json +0 -4
- package/docs/en/apis/app/hooks/api/functions/api.mdx +0 -81
- package/docs/en/apis/app/hooks/api/functions/app.mdx +0 -12
- package/docs/en/apis/app/hooks/api/functions/common.mdx +0 -9
- package/docs/en/guides/topic-detail/generator/codesmith/_category_.json +0 -4
- package/docs/en/guides/topic-detail/generator/codesmith/api/_category_.json +0 -4
- package/docs/en/guides/topic-detail/generator/codesmith/api/app.mdx +0 -152
- package/docs/en/guides/topic-detail/generator/codesmith/api/ejs.mdx +0 -56
- package/docs/en/guides/topic-detail/generator/codesmith/api/fs.mdx +0 -54
- package/docs/en/guides/topic-detail/generator/codesmith/api/git.mdx +0 -50
- package/docs/en/guides/topic-detail/generator/codesmith/api/handlebars.mdx +0 -57
- package/docs/en/guides/topic-detail/generator/codesmith/api/json.mdx +0 -56
- package/docs/en/guides/topic-detail/generator/codesmith/api/npm.mdx +0 -48
- package/docs/en/guides/topic-detail/generator/codesmith/develop.mdx +0 -53
- package/docs/en/guides/topic-detail/generator/codesmith/introduce.mdx +0 -47
- package/docs/en/guides/topic-detail/generator/codesmith/run-in-js.mdx +0 -47
- package/docs/en/guides/topic-detail/generator/codesmith/structure.mdx +0 -89
- package/docs/en/guides/topic-detail/generator/config/_category_.json +0 -4
- package/docs/en/guides/topic-detail/generator/config/app.mdx +0 -82
- package/docs/en/guides/topic-detail/generator/config/common.mdx +0 -100
- package/docs/en/guides/topic-detail/generator/config/module.mdx +0 -42
- package/docs/en/guides/topic-detail/generator/config/monorepo.mdx +0 -28
- package/docs/en/guides/topic-detail/generator/plugin/abstract.mdx +0 -23
- package/docs/en/guides/topic-detail/generator/plugin/api/file/_category_.json +0 -4
- package/docs/en/guides/topic-detail/generator/plugin/api/file/addFile.mdx +0 -52
- package/docs/en/guides/topic-detail/generator/plugin/api/file/addHelper.mdx +0 -26
- package/docs/en/guides/topic-detail/generator/plugin/api/file/addManyFile.mdx +0 -58
- package/docs/en/guides/topic-detail/generator/plugin/api/file/addPartial.mdx +0 -26
- package/docs/en/guides/topic-detail/generator/plugin/api/file/introduce.mdx +0 -39
- package/docs/en/guides/topic-detail/generator/plugin/api/file/rmDir.mdx +0 -24
- package/docs/en/guides/topic-detail/generator/plugin/api/file/rmFile.mdx +0 -24
- package/docs/en/guides/topic-detail/generator/plugin/api/file/updateJSONFile.mdx +0 -54
- package/docs/en/guides/topic-detail/generator/plugin/api/file/updateModernConfig.mdx +0 -27
- package/docs/en/guides/topic-detail/generator/plugin/api/file/updateTextRawFile.mdx +0 -33
- package/docs/en/guides/topic-detail/generator/plugin/api/git/_category_.json +0 -4
- package/docs/en/guides/topic-detail/generator/plugin/api/git/gitAddAndCommit.mdx +0 -20
- package/docs/en/guides/topic-detail/generator/plugin/api/git/initGitRepo.mdx +0 -16
- package/docs/en/guides/topic-detail/generator/plugin/api/git/isInGitRepo.mdx +0 -16
- package/docs/en/guides/topic-detail/generator/plugin/api/hook/_category_.json +0 -4
- package/docs/en/guides/topic-detail/generator/plugin/api/hook/afterForged.mdx +0 -35
- package/docs/en/guides/topic-detail/generator/plugin/api/hook/onForged.mdx +0 -35
- package/docs/en/guides/topic-detail/generator/plugin/api/info/_category_.json +0 -4
- package/docs/en/guides/topic-detail/generator/plugin/api/info/isFileExit.mdx +0 -22
- package/docs/en/guides/topic-detail/generator/plugin/api/info/locale.mdx +0 -17
- package/docs/en/guides/topic-detail/generator/plugin/api/info/readDir.mdx +0 -22
- package/docs/en/guides/topic-detail/generator/plugin/api/input/_category_.json +0 -4
- package/docs/en/guides/topic-detail/generator/plugin/api/input/addInputAfter.mdx +0 -55
- package/docs/en/guides/topic-detail/generator/plugin/api/input/addInputBefore.mdx +0 -55
- package/docs/en/guides/topic-detail/generator/plugin/api/input/setInput.mdx +0 -43
- package/docs/en/guides/topic-detail/generator/plugin/api/input/setInputValue.mdx +0 -31
- package/docs/en/guides/topic-detail/generator/plugin/api/input/type.mdx +0 -65
- package/docs/en/guides/topic-detail/generator/plugin/api/introduce.mdx +0 -90
- package/docs/en/guides/topic-detail/generator/plugin/api/new/_category_.json +0 -4
- package/docs/en/guides/topic-detail/generator/plugin/api/new/createElement.mdx +0 -33
- package/docs/en/guides/topic-detail/generator/plugin/api/new/createSubProject.mdx +0 -35
- package/docs/en/guides/topic-detail/generator/plugin/api/new/enableFunc.mdx +0 -44
- package/docs/en/guides/topic-detail/generator/plugin/api/new/introduce.mdx +0 -15
- package/docs/en/guides/topic-detail/generator/plugin/api/npm/_category_.json +0 -4
- package/docs/en/guides/topic-detail/generator/plugin/api/npm/install.mdx +0 -18
- package/docs/en/guides/topic-detail/generator/plugin/develop.mdx +0 -125
- package/docs/en/guides/topic-detail/generator/plugin/use.mdx +0 -61
- package/docs/en/guides/topic-detail/generator/project.mdx +0 -118
- package/docs/zh/apis/app/hooks/api/framework/_category_.json +0 -4
- package/docs/zh/apis/app/hooks/api/functions/_category_.json +0 -4
- package/docs/zh/apis/app/hooks/api/functions/app.mdx +0 -12
- package/docs/zh/apis/app/hooks/api/functions/common.mdx +0 -9
- package/docs/zh/guides/topic-detail/generator/codesmith/_category_.json +0 -4
- package/docs/zh/guides/topic-detail/generator/codesmith/api/_category_.json +0 -4
- package/docs/zh/guides/topic-detail/generator/codesmith/api/app.mdx +0 -152
- package/docs/zh/guides/topic-detail/generator/codesmith/api/ejs.mdx +0 -56
- package/docs/zh/guides/topic-detail/generator/codesmith/api/fs.mdx +0 -54
- package/docs/zh/guides/topic-detail/generator/codesmith/api/git.mdx +0 -49
- package/docs/zh/guides/topic-detail/generator/codesmith/api/handlebars.mdx +0 -56
- package/docs/zh/guides/topic-detail/generator/codesmith/api/json.mdx +0 -56
- package/docs/zh/guides/topic-detail/generator/codesmith/api/npm.mdx +0 -47
- package/docs/zh/guides/topic-detail/generator/codesmith/develop.mdx +0 -53
- package/docs/zh/guides/topic-detail/generator/codesmith/introduce.mdx +0 -59
- package/docs/zh/guides/topic-detail/generator/codesmith/run-in-js.mdx +0 -47
- package/docs/zh/guides/topic-detail/generator/codesmith/structure.mdx +0 -89
- package/docs/zh/guides/topic-detail/generator/config/_category_.json +0 -4
- package/docs/zh/guides/topic-detail/generator/config/app.mdx +0 -82
- package/docs/zh/guides/topic-detail/generator/config/common.mdx +0 -100
- package/docs/zh/guides/topic-detail/generator/config/module.mdx +0 -42
- package/docs/zh/guides/topic-detail/generator/config/monorepo.mdx +0 -28
- package/docs/zh/guides/topic-detail/generator/plugin/abstract.mdx +0 -23
- package/docs/zh/guides/topic-detail/generator/plugin/api/file/_category_.json +0 -4
- package/docs/zh/guides/topic-detail/generator/plugin/api/file/addFile.mdx +0 -52
- package/docs/zh/guides/topic-detail/generator/plugin/api/file/addHelper.mdx +0 -26
- package/docs/zh/guides/topic-detail/generator/plugin/api/file/addManyFile.mdx +0 -55
- package/docs/zh/guides/topic-detail/generator/plugin/api/file/addPartial.mdx +0 -26
- package/docs/zh/guides/topic-detail/generator/plugin/api/file/introduce.mdx +0 -39
- package/docs/zh/guides/topic-detail/generator/plugin/api/file/rmDir.mdx +0 -24
- package/docs/zh/guides/topic-detail/generator/plugin/api/file/rmFile.mdx +0 -24
- package/docs/zh/guides/topic-detail/generator/plugin/api/file/updateJSONFile.mdx +0 -54
- package/docs/zh/guides/topic-detail/generator/plugin/api/file/updateModernConfig.mdx +0 -27
- package/docs/zh/guides/topic-detail/generator/plugin/api/file/updateTextRawFile.mdx +0 -33
- package/docs/zh/guides/topic-detail/generator/plugin/api/git/_category_.json +0 -4
- package/docs/zh/guides/topic-detail/generator/plugin/api/git/gitAddAndCommit.mdx +0 -20
- package/docs/zh/guides/topic-detail/generator/plugin/api/git/initGitRepo.mdx +0 -16
- package/docs/zh/guides/topic-detail/generator/plugin/api/git/isInGitRepo.mdx +0 -16
- package/docs/zh/guides/topic-detail/generator/plugin/api/hook/_category_.json +0 -4
- package/docs/zh/guides/topic-detail/generator/plugin/api/hook/afterForged.mdx +0 -35
- package/docs/zh/guides/topic-detail/generator/plugin/api/hook/onForged.mdx +0 -35
- package/docs/zh/guides/topic-detail/generator/plugin/api/info/_category_.json +0 -4
- package/docs/zh/guides/topic-detail/generator/plugin/api/info/isFileExit.mdx +0 -22
- package/docs/zh/guides/topic-detail/generator/plugin/api/info/locale.mdx +0 -17
- package/docs/zh/guides/topic-detail/generator/plugin/api/info/readDir.mdx +0 -22
- package/docs/zh/guides/topic-detail/generator/plugin/api/input/_category_.json +0 -4
- package/docs/zh/guides/topic-detail/generator/plugin/api/input/addInputAfter.mdx +0 -57
- package/docs/zh/guides/topic-detail/generator/plugin/api/input/addInputBefore.mdx +0 -56
- package/docs/zh/guides/topic-detail/generator/plugin/api/input/setInput.mdx +0 -43
- package/docs/zh/guides/topic-detail/generator/plugin/api/input/setInputValue.mdx +0 -29
- package/docs/zh/guides/topic-detail/generator/plugin/api/input/type.mdx +0 -65
- package/docs/zh/guides/topic-detail/generator/plugin/api/introduce.mdx +0 -92
- package/docs/zh/guides/topic-detail/generator/plugin/api/new/_category_.json +0 -4
- package/docs/zh/guides/topic-detail/generator/plugin/api/new/createElement.mdx +0 -33
- package/docs/zh/guides/topic-detail/generator/plugin/api/new/createSubProject.mdx +0 -35
- package/docs/zh/guides/topic-detail/generator/plugin/api/new/enableFunc.mdx +0 -44
- package/docs/zh/guides/topic-detail/generator/plugin/api/new/introduce.mdx +0 -15
- package/docs/zh/guides/topic-detail/generator/plugin/api/npm/_category_.json +0 -4
- package/docs/zh/guides/topic-detail/generator/plugin/api/npm/install.mdx +0 -16
- package/docs/zh/guides/topic-detail/generator/plugin/develop.mdx +0 -125
- package/docs/zh/guides/topic-detail/generator/plugin/use.mdx +0 -61
- package/docs/zh/guides/topic-detail/generator/project.mdx +0 -118
|
@@ -14,9 +14,9 @@ A complete project may require multiple entries, Modern.js supports the automati
|
|
|
14
14
|
We can also use it to create new project elements and execute `pnpm run new` in the project root directory:
|
|
15
15
|
|
|
16
16
|
```bash
|
|
17
|
-
?
|
|
18
|
-
?
|
|
19
|
-
?
|
|
17
|
+
? Please select the operation you want: Create Element
|
|
18
|
+
? Please select the type of element to create: New "entry"
|
|
19
|
+
? Please fill in the entry name: landing-page
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
When created, the project will look like this:
|
|
@@ -126,7 +126,7 @@ Options:
|
|
|
126
126
|
```bash
|
|
127
127
|
$ npx modern new
|
|
128
128
|
? 请选择你想要的操作 创建工程元素
|
|
129
|
-
?
|
|
129
|
+
? 请选择创建元素类型 新建「应用入口」
|
|
130
130
|
? 请填写入口名称 entry
|
|
131
131
|
```
|
|
132
132
|
|
|
@@ -137,8 +137,8 @@ $ npx modern new
|
|
|
137
137
|
```bash
|
|
138
138
|
$ npx modern new
|
|
139
139
|
? 请选择你想要的操作 启用可选功能
|
|
140
|
-
?
|
|
141
|
-
❯ 启用 Tailwind CSS 支持
|
|
140
|
+
? 请选择功能名称 (Use arrow keys)
|
|
141
|
+
❯ 启用 「Tailwind CSS」 支持
|
|
142
142
|
启用「BFF」功能
|
|
143
143
|
启用「微前端」模式
|
|
144
144
|
启用「单元测试 / 集成测试」功能
|
|
@@ -4,7 +4,7 @@ sidebar_position: 1
|
|
|
4
4
|
---
|
|
5
5
|
# **/*.[tj]s
|
|
6
6
|
|
|
7
|
-
在 BFF
|
|
7
|
+
在 [BFF 函数写法](/guides/advanced-features/bff/type.html#函数写法)下,声明 API 路由的文件。除了[某些约定文件](/apis/app/hooks/api/api#白名单)外,`api` 目录下的文件会被注册为接口的路由。
|
|
8
8
|
|
|
9
9
|
:::info
|
|
10
10
|
使用 `api` 目录需要开启 BFF 功能,需要在项目下执行 new 命令启用「BFF」功能。
|
|
@@ -31,7 +31,7 @@ sidebar_position: 1
|
|
|
31
31
|
|
|
32
32
|
### 动态路由
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
路由系统支持通过 `[]` 命名的文件目录生成动态路由。
|
|
35
35
|
|
|
36
36
|
- `api/user/[username]/info.ts` -> `$BASENAME/user/:username/info`
|
|
37
37
|
- `api/user/[username]/delete.ts` -> `$BASENAME/user/:username/delete`
|
|
@@ -64,7 +64,7 @@ export const get = async () => {
|
|
|
64
64
|
};
|
|
65
65
|
```
|
|
66
66
|
|
|
67
|
-
这样导出函数,则会得到一个 `
|
|
67
|
+
这样导出函数,则会得到一个 `GET` 接口。
|
|
68
68
|
|
|
69
69
|
应用工程中支持了 9 个 Method 定义,即:`GET`、`POST`、`PUT`、`DELETE`、`CONNECT`、`TRACE`、`PATCH`、`OPTION`、`HEAD`,即可以用这些 Method 作为函数导出的名字。
|
|
70
70
|
|
|
@@ -75,6 +75,6 @@ export const get = async () => {
|
|
|
75
75
|
可以在一个文件中定义多个不同 Method 的函数,但如果定义多个相同 Method 的函数,则只有第一个会生效。
|
|
76
76
|
|
|
77
77
|
:::info
|
|
78
|
-
|
|
78
|
+
需要注意的是,定义的函数都应该是异步的,这个与函数调用时类型有关。
|
|
79
79
|
|
|
80
80
|
:::
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: lambda/*.[tj]s
|
|
3
|
-
sidebar_position:
|
|
3
|
+
sidebar_position: 3
|
|
4
4
|
---
|
|
5
5
|
# lambda/*.[tj]s
|
|
6
6
|
|
|
7
|
-
在 BFF
|
|
7
|
+
在 [BFF 框架写法](/guides/advanced-features/bff/type.html#框架写法)下,声明 API 路由的文件。除了[某些约定文件](/apis/app/hooks/api/lambda#白名单)外,`lambda/` 目录下的文件会被注册为接口的路由。
|
|
8
8
|
|
|
9
9
|
:::info
|
|
10
10
|
使用 `api` 目录需要开启 BFF 功能,需要在项目下执行 new 命令启用「BFF」功能。
|
|
@@ -34,7 +34,7 @@ sidebar_position: 1
|
|
|
34
34
|
|
|
35
35
|
### 动态路由
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
路由系统支持通过 `[]` 命名的文件目录生成动态路由。
|
|
38
38
|
|
|
39
39
|
- `api/lambda/user/[username]/info.ts` -> `$BASENAME/user/:username/info`
|
|
40
40
|
- `api/lambda/user/[username]/delete.ts` -> `$BASENAME/user/:username/delete`
|
|
@@ -44,7 +44,7 @@ sidebar_position: 1
|
|
|
44
44
|
|
|
45
45
|
### 白名单
|
|
46
46
|
|
|
47
|
-
默认 `
|
|
47
|
+
默认 `lambda` 目录下所有文件都会当作 BFF 函数文件去解析,但同样我们也设置了白名单,这些文件不被被解析:
|
|
48
48
|
|
|
49
49
|
- 命名以 `_` 开头的文件。例如:`_utils.ts`。
|
|
50
50
|
- 命名以 `_` 开头的文件夹下所有文件。例如:`_utils/index.ts`、`_utils/cp.ts`。
|
|
@@ -54,4 +54,4 @@ sidebar_position: 1
|
|
|
54
54
|
|
|
55
55
|
## 函数定义
|
|
56
56
|
|
|
57
|
-
和函数写法下[函数定义](/apis/app/hooks/api/
|
|
57
|
+
和函数写法下[函数定义](/apis/app/hooks/api/api#函数定义)完全一致。
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: test.[tj]s
|
|
3
|
-
sidebar_position:
|
|
3
|
+
sidebar_position: 4
|
|
4
4
|
---
|
|
5
5
|
# test.[tj]s
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
The BFF test file of the application supports writing test cases in files with the suffix `.test.[tj]sx?` under the `api/` directory.
|
|
8
8
|
|
|
9
9
|
:::info
|
|
10
|
-
|
|
10
|
+
Enabling unit testing and integration testing requires running the new command to enable the "Unit Testing/Integration Testing" function under the project first.
|
|
11
11
|
|
|
12
12
|
:::
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: icon
|
|
2
|
+
title: icon/
|
|
3
3
|
sidebar_position: 2
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
#
|
|
6
|
+
# icon/
|
|
7
7
|
|
|
8
|
-
##
|
|
8
|
+
## Favicon
|
|
9
9
|
|
|
10
10
|
当项目根目录的 `config` 目录下存在 `favicon.*` 文件时,Modern.js 会自动将该文件设置到 [html.favicon](/configure/app/html/favicon) 配置项中,用于生成页面的 favicon 图标:
|
|
11
11
|
|
|
@@ -24,15 +24,15 @@ sidebar_position: 2
|
|
|
24
24
|
|
|
25
25
|
在设置 app icon 时,Modern.js 会按以下顺序寻找文件:
|
|
26
26
|
|
|
27
|
-
- favicon.png
|
|
28
|
-
- favicon.jpg
|
|
29
|
-
- favicon.jpeg
|
|
30
|
-
- favicon.svg
|
|
31
|
-
- favicon.ico
|
|
27
|
+
- `favicon.png`
|
|
28
|
+
- `favicon.jpg`
|
|
29
|
+
- `favicon.jpeg`
|
|
30
|
+
- `favicon.svg`
|
|
31
|
+
- `favicon.ico`
|
|
32
32
|
|
|
33
|
-
##
|
|
33
|
+
## Apple Touch Icon
|
|
34
34
|
|
|
35
|
-
当项目根目录的 `config` 目录下存在 `icon.*` 文件时,Modern.js 会自动将该文件设置到 [html.appIcon](/configure/app/html/app-icon) 配置项中,用于生成 iOS 系统下的
|
|
35
|
+
当项目根目录的 `config` 目录下存在 `icon.*` 文件时,Modern.js 会自动将该文件设置到 [html.appIcon](/configure/app/html/app-icon) 配置项中,用于生成 iOS 系统下的 Apple Touch Icon 图标。
|
|
36
36
|
|
|
37
37
|
```
|
|
38
38
|
./config
|
|
@@ -49,8 +49,8 @@ sidebar_position: 2
|
|
|
49
49
|
|
|
50
50
|
在设置 app icon 时,Modern.js 会按以下顺序寻找文件:
|
|
51
51
|
|
|
52
|
-
- icon.png
|
|
53
|
-
- icon.jpg
|
|
54
|
-
- icon.jpeg
|
|
55
|
-
- icon.svg
|
|
56
|
-
- icon.ico
|
|
52
|
+
- `icon.png`
|
|
53
|
+
- `icon.jpg`
|
|
54
|
+
- `icon.jpeg`
|
|
55
|
+
- `icon.svg`
|
|
56
|
+
- `icon.ico`
|
|
@@ -4,13 +4,13 @@ sidebar_position: 3
|
|
|
4
4
|
---
|
|
5
5
|
# public/
|
|
6
6
|
|
|
7
|
-
`public/`
|
|
7
|
+
`public/` 目录中可以放置任意格式的静态资源文件,文件会被服务端部署到对应的应用域名下。
|
|
8
8
|
|
|
9
9
|
## 说明
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
文件路由基于目录结构的约定,其中,`public/` 为根目录,对应 Web 应用根路径。
|
|
12
12
|
|
|
13
|
-
例如 `config/public/sdk/index.js`
|
|
13
|
+
例如 `config/public/sdk/index.js` 文件,在部署后将会被部署在 `${domain}/sdk/index.js` 下。
|
|
14
14
|
|
|
15
15
|
## 场景
|
|
16
16
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: modern.config.
|
|
2
|
+
title: modern.config.[tj]s
|
|
3
3
|
sidebar_position: 8
|
|
4
4
|
---
|
|
5
|
-
# modern.config.
|
|
5
|
+
# modern.config.[tj]s
|
|
6
6
|
|
|
7
7
|
Modern.js 配置文件, 通过该文件可以对当前项目的各个方面进行个性化配置。
|
|
8
8
|
|
|
9
|
-
了解配置的具体用法,请参考
|
|
9
|
+
了解配置的具体用法,请参考[配置使用](/configure/app/usage)。
|
|
@@ -4,11 +4,6 @@ sidebar_position: 1
|
|
|
4
4
|
---
|
|
5
5
|
# index.[tj]s
|
|
6
6
|
|
|
7
|
-
扩展 Modern.js Web Server 的文件,在此文件中可以给应用工程启动的 Web Server 添加 Hook 或 Middleware。
|
|
7
|
+
扩展 Modern.js Web Server 的文件,在此文件中可以给应用工程启动的 Web Server 添加 [Hook](/apis/app/runtime/web-server/hook) 或 [Middleware](/apis/app/runtime/web-server/middleware)。
|
|
8
8
|
|
|
9
9
|
可以对请求和响应进行拦截处理,鉴权与角色、请求预处理、异常兜底等。也可在内置处理逻辑(包括路由匹配、资源寻址、头部注入、页面渲染,静态 Web 托管)插入特定的业务逻辑。
|
|
10
|
-
|
|
11
|
-
:::info
|
|
12
|
-
具体使用示例可查看 [Hook](/apis/app/runtime/web-server/hook) & [Middleware](/apis/app/runtime/web-server/middleware)。
|
|
13
|
-
|
|
14
|
-
:::
|
|
@@ -4,46 +4,36 @@ sidebar_position: 1
|
|
|
4
4
|
---
|
|
5
5
|
# App.[tj]sx
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
应用使用[自控路由](/guides/basic-features/routes.html#self-controlled-routing)时的入口标识符。
|
|
8
8
|
|
|
9
9
|
`App.[tj]sx` 并不是实际的应用入口,Modern.js 会自动生成真正的构建打包的入口文件, 内容大致如下:
|
|
10
10
|
|
|
11
11
|
```js
|
|
12
12
|
import React from 'react';
|
|
13
|
+
import ReactDOM from 'react-dom/client';
|
|
13
14
|
import { createApp, bootstrap } from '@modern-js/runtime';
|
|
14
15
|
// App.[jt]sx
|
|
15
16
|
import App from '@_modern_js_src/App';
|
|
16
|
-
|
|
17
|
-
import {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
} from '@modern-js/runtime/model';
|
|
23
|
-
|
|
24
|
-
const createStatePlugins = config => {
|
|
25
|
-
const plugins = [];
|
|
26
|
-
plugins.push(immer(config['immer']));
|
|
27
|
-
plugins.push(effects(config['effects']));
|
|
28
|
-
plugins.push(autoActions(config['autoActions']));
|
|
29
|
-
plugins.push(devtools(config['devtools']));
|
|
30
|
-
return plugins;
|
|
31
|
-
};
|
|
17
|
+
// runtime plugin
|
|
18
|
+
import { router } from '@modern-js/runtime/plugins';
|
|
19
|
+
|
|
20
|
+
const IS_BROWSER = typeof window !== 'undefined' && window.name !== 'nodejs';
|
|
21
|
+
const MOUNT_ID = 'root';
|
|
22
|
+
|
|
32
23
|
let AppWrapper = null;
|
|
24
|
+
|
|
33
25
|
function render() {
|
|
34
26
|
AppWrapper = createApp({
|
|
35
27
|
plugins: [
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
}),
|
|
40
|
-
],
|
|
41
|
-
})(App);
|
|
28
|
+
router({...{"serverBase":["/"]}, ...App.config?.router}),
|
|
29
|
+
]
|
|
30
|
+
})(App)
|
|
42
31
|
if (IS_BROWSER) {
|
|
43
|
-
bootstrap(AppWrapper, MOUNT_ID);
|
|
32
|
+
bootstrap(AppWrapper, MOUNT_ID, null, ReactDOM);
|
|
44
33
|
}
|
|
45
|
-
return AppWrapper
|
|
34
|
+
return AppWrapper
|
|
46
35
|
}
|
|
36
|
+
|
|
47
37
|
AppWrapper = render();
|
|
48
38
|
export default AppWrapper;
|
|
49
39
|
```
|
|
@@ -4,13 +4,13 @@ sidebar_position: 4
|
|
|
4
4
|
---
|
|
5
5
|
# index.[tj]s
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
应用使用自定义 `bootstrap` 时的入口标识。
|
|
8
8
|
|
|
9
|
-
通常情况下 [`
|
|
9
|
+
通常情况下 [`App.[tj]sx`](/apis/app/hooks/src/app) 钩子文件已经能满足我们的需求,当我们需要在 `bootstrap` 之前添加自定义行为或者完全接管 webpack 打包入口时,可以在 `src` 或者入口目录下放置 `index.[tj]s`。 下面有分两种情况进行讨论:
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
## 在 bootstrap 之前添加自定义行为
|
|
12
12
|
|
|
13
|
-
只需要 `src/index.[tj]s`
|
|
13
|
+
只需要 `src/index.[tj]s` 默认导出函数:
|
|
14
14
|
|
|
15
15
|
```js title=src/index.js
|
|
16
16
|
import ReactDOM from 'react-dom/client';
|
|
@@ -22,9 +22,9 @@ export default (App: React.ComponentType) => {
|
|
|
22
22
|
};
|
|
23
23
|
```
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
## 完全接管 webpack 入口
|
|
26
26
|
|
|
27
|
-
当 `src/index.[tj]sx?` 下没有默认导出函数时,该文件即为真正的 webpack 打包入口文件, 可以直接像使用 create-react-app
|
|
27
|
+
当 `src/index.[tj]sx?` 下没有默认导出函数时,该文件即为真正的 webpack 打包入口文件, 可以直接像使用 create-react-app 等脚手架一样组织代码:
|
|
28
28
|
|
|
29
29
|
```js title=src/index.jsx
|
|
30
30
|
import React from 'react';
|
|
@@ -4,9 +4,13 @@ sidebar_position: 3
|
|
|
4
4
|
---
|
|
5
5
|
# pages/
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
应用使用 [`Pages` 入口](https://modernjs.dev/v1/docs/guides/usages/entries#pages-%E5%85%A5%E5%8F%A3)时的入口标识。
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
:::info
|
|
10
|
+
兼容 Modern.js 1.0 `Pages` 入口,推荐使用[约定式路由](guides/basic-features/routes.html#约定式路由)。
|
|
11
|
+
:::
|
|
12
|
+
|
|
13
|
+
当项目结构为 `Pages 入口`类型时, 会分析 `src/pages` 目录下的文件得到客户端路由配置。
|
|
10
14
|
|
|
11
15
|
举例说明,例如以下目录结构:
|
|
12
16
|
|
|
@@ -20,7 +24,7 @@ sidebar_position: 3
|
|
|
20
24
|
└── info.jsx
|
|
21
25
|
```
|
|
22
26
|
|
|
23
|
-
|
|
27
|
+
对应生成的路由配置为:
|
|
24
28
|
|
|
25
29
|
```bash
|
|
26
30
|
[
|
|
@@ -4,13 +4,13 @@ sidebar_position: 2
|
|
|
4
4
|
---
|
|
5
5
|
# routes/
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
应用使用[约定式路由](guides/basic-features/routes.html#约定式路由)时的入口标识。
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
约定式路由以 `routes/` 为约定的入口, 会分析 `src/routes` 目录下的文件得到客户端路由配置。
|
|
10
10
|
|
|
11
11
|
任何在 `src/routes` 下的 `layout.[tj]sx` 和 `page.[tj]sx` 都会作为应用的路由:
|
|
12
12
|
|
|
13
|
-
```bash {3}
|
|
13
|
+
```bash {3,4}
|
|
14
14
|
.
|
|
15
15
|
└── routes
|
|
16
16
|
├── layout.tsx
|
|
@@ -54,7 +54,7 @@ sidebar_position: 2
|
|
|
54
54
|
|
|
55
55
|
在组件中,可以通过 [useParams](/apis/app/runtime/router/router#useparams) 获取对应命名的参数。
|
|
56
56
|
|
|
57
|
-
|
|
57
|
+
在使用 [loader](/guides/basic-features/data-fetch#loader-函数) 函数获取数据时,`params` 会作为 `loader` 函数的入参,通过 `params` 的属性可以获取到对应的参数。
|
|
58
58
|
|
|
59
59
|
## 布局组件
|
|
60
60
|
|
|
@@ -8,7 +8,7 @@ sidebar_position: 7
|
|
|
8
8
|
|
|
9
9
|
可以在项目源码目录 `src/` 下创建 `*.stories.[tj]sx` 格式的文件作为 Storybook 的调试文件。
|
|
10
10
|
|
|
11
|
-
在项目下执行 dev story 命令,支持使用这些文件在 Storybook 中对相关内容进行调试。
|
|
11
|
+
在项目下执行 `npm run dev story` 命令,支持使用这些文件在 Storybook 中对相关内容进行调试。
|
|
12
12
|
|
|
13
13
|
:::info
|
|
14
14
|
使用 Storybook 需要提前在项目下执行 new 命令启用「Visual Testing (Storybook)」模式。
|
|
@@ -28,6 +28,7 @@ type RuntimeContext = {
|
|
|
28
28
|
cookie: string;
|
|
29
29
|
};
|
|
30
30
|
store: ReduckStore;
|
|
31
|
+
router: RemixRouter;
|
|
31
32
|
};
|
|
32
33
|
|
|
33
34
|
function useRuntimeContext(): RuntimeContext;
|
|
@@ -41,7 +42,10 @@ function useRuntimeContext(): RuntimeContext;
|
|
|
41
42
|
- `query`:请求的查询字符串对象。
|
|
42
43
|
- `headers`:请求头信息。
|
|
43
44
|
- `cookie`:请求的 cookie 信息。
|
|
44
|
-
- `store`:在开启了 state 插件的时候,该值为
|
|
45
|
+
- `store`:在开启了 state 插件的时候,该值为 Reduck 全局 `store`。
|
|
46
|
+
- `router`:在开启 router 插件的时候存在。
|
|
47
|
+
- `location`:当前路由对应的位置信息。同 [`useLocation`](/apis/app/runtime/router/router.html#uselocation) 返回值。
|
|
48
|
+
- `navigate`:导航到给定路径。同 [`useNavigate`](/apis/app/runtime/router/router.html#usenavigate) 返回值。
|
|
45
49
|
|
|
46
50
|
## 示例
|
|
47
51
|
|
|
@@ -13,7 +13,7 @@ sidebar_label: designSystem
|
|
|
13
13
|
:::
|
|
14
14
|
|
|
15
15
|
<details>
|
|
16
|
-
<summary>
|
|
16
|
+
<summary>DesignSystem 配置详情</summary>
|
|
17
17
|
|
|
18
18
|
```js
|
|
19
19
|
const designSystem = {
|
|
@@ -644,14 +644,13 @@ const designSystem = {
|
|
|
644
644
|
},
|
|
645
645
|
};
|
|
646
646
|
```
|
|
647
|
+
</details>
|
|
647
648
|
|
|
648
649
|
:::tip 提示
|
|
649
|
-
|
|
650
|
+
更多关于 TailwindCSS 配置可查看[这里](https://tailwindcss.com/docs/configuration#theme)。
|
|
650
651
|
|
|
651
652
|
:::
|
|
652
653
|
|
|
653
|
-
</details>
|
|
654
|
-
|
|
655
654
|
`designSystem` 用于定义项目的调色板、排版比例(Typographic Scales 或者 Type Scale)、字体列表、断点、边框圆角值等等。因为 Modern.js 借用了 Tailwind Theme 的设计方式,并且内部也集成了 Tailwind CSS,所以 `designSystem` 使用方式与 Tailwind CSS Theme 相同。
|
|
656
655
|
|
|
657
656
|
### 结构
|
|
@@ -9,14 +9,11 @@ sidebar_label: enableAsyncEntry
|
|
|
9
9
|
|
|
10
10
|
该选项用于 webpack 模块联邦(Module Federation)场景。
|
|
11
11
|
|
|
12
|
-
开启此选项后,Modern.js 会通过 Dynamic Import 来包裹自动生成的入口文件(
|
|
12
|
+
开启此选项后,Modern.js 会通过 Dynamic Import 来包裹自动生成的入口文件(Asynchronous Boundaries),使页面代码可以消费模块联邦生成的远程模块。
|
|
13
13
|
|
|
14
14
|
## 背景知识
|
|
15
15
|
|
|
16
|
-
如果不了解 webpack 模块联邦,请先阅读 Module Federation
|
|
17
|
-
|
|
18
|
-
- [中文文档](https://webpack.docschina.org/concepts/module-federation/)
|
|
19
|
-
- [英文文档](https://webpack.js.org/concepts/module-federation)
|
|
16
|
+
如果不了解 webpack 模块联邦,请先阅读 [Module Federation 官方文档](https://webpack.docschina.org/concepts/module-federation/)。
|
|
20
17
|
|
|
21
18
|
## 示例
|
|
22
19
|
|
|
@@ -20,7 +20,7 @@ type Entries = Record<
|
|
|
20
20
|
|
|
21
21
|
- **默认值:** 根据当前项目的目录结构计算出的入口对象。
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
用于配置自定义页面入口。
|
|
24
24
|
|
|
25
25
|
:::tip 何时使用
|
|
26
26
|
对于大部分场景,Modern.js 根据目录结构自动生成的入口已经可以满足需求,具体可参考[入口](/guides/concept/entries)。
|
|
@@ -156,7 +156,7 @@ export default defineConfig({
|
|
|
156
156
|
|
|
157
157
|
例如以下目录结构:
|
|
158
158
|
|
|
159
|
-
```
|
|
159
|
+
```bash
|
|
160
160
|
.
|
|
161
161
|
├── src
|
|
162
162
|
│ ├── chat
|
|
@@ -22,8 +22,8 @@ import SWC from '@modern-js/builder-doc/docs/zh/shared/swc.md';
|
|
|
22
22
|
首先,你需要执行 `pnpm run new` 启用 SWC 编译:
|
|
23
23
|
|
|
24
24
|
```bash
|
|
25
|
-
?
|
|
26
|
-
?
|
|
25
|
+
? 请选择你想要的操作 启用可选功能
|
|
26
|
+
? 请选择功能名称 启用「SWC 编译」
|
|
27
27
|
```
|
|
28
28
|
|
|
29
29
|
执行完成后,你只需在 `modern.config.ts` 文件中注册 SWC 插件,即可启用 SWC 编译和压缩能力。
|
|
@@ -31,14 +31,14 @@ import InitRspackApp from '@site-docs/components/init-rspack-app';
|
|
|
31
31
|
|
|
32
32
|
:::
|
|
33
33
|
|
|
34
|
-
##
|
|
34
|
+
## 开启 Rspack 构建
|
|
35
35
|
|
|
36
36
|
在一个已有的 Modern.js 项目中,你可以通过执行 `pnpm run new` 来启用 Rspack 构建:
|
|
37
37
|
|
|
38
38
|
```bash
|
|
39
39
|
$ pnpm run new
|
|
40
|
-
?
|
|
41
|
-
?
|
|
40
|
+
? 请选择你想要的操作 启用可选功能
|
|
41
|
+
? 请选择功能名称 启用「Rspack 构建」
|
|
42
42
|
```
|
|
43
43
|
|
|
44
44
|
执行以上命令后,在 `modern.config.ts` 中添加 Rspack 相关配置即可:
|
|
@@ -55,9 +55,9 @@ import appTools, { defineConfig } from '@modern-js/app-tools';
|
|
|
55
55
|
});
|
|
56
56
|
```
|
|
57
57
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
58
|
+
## 配置迁移
|
|
59
|
+
|
|
60
|
+
开启 Rspack 构建能力后,还需要参考 [配置差异](https://modernjs.dev/builder/guide/advanced/rspack-start.html#从-webpack-迁移到-rspack) 进行进一步的配置迁移。
|
|
61
61
|
|
|
62
62
|
## Rspack 和 Modern.js 的版本关系
|
|
63
63
|
|
|
@@ -9,8 +9,8 @@ Modern.js 默认集成了 [Jest](https://jestjs.io/) 的测试能力。
|
|
|
9
9
|
我们首先需要执行 `pnpm run new` 启用「单元测试 / 集成测试」功能:
|
|
10
10
|
|
|
11
11
|
```
|
|
12
|
-
?
|
|
13
|
-
?
|
|
12
|
+
? 请选择你想要的操作 启用可选功能
|
|
13
|
+
? 请选择功能名称 启用「单元测试 / 集成测试」功能
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
执行上述命令后,`package.json` 中将会自动生成 `"test": "modern test"` 命令。
|
|
@@ -32,7 +32,7 @@ export default {
|
|
|
32
32
|
/* method 默认为 GET */
|
|
33
33
|
'/api/getExample': { id: 1 },
|
|
34
34
|
|
|
35
|
-
/*
|
|
35
|
+
/* 可以使用自定义函数根据请求动态返回数据, req & res 都是 Node.js HTTP 原生对象 */
|
|
36
36
|
'POST /api/addInfo': (req, res, next) => {
|
|
37
37
|
res.setHeader('Access-Control-Allow-Origin', '*');
|
|
38
38
|
res.end('200');
|