@modern-js/main-doc 0.0.0-next-20230216043905 → 0.0.0-next-20230217040130

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 (55) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +2 -3
  3. package/LICENSE +0 -123
  4. package/README.md +26 -0
  5. package/en/apis/app/commands.mdx +297 -0
  6. package/en/apis/app/hooks/_category_.json +1 -1
  7. package/en/apis/app/hooks/src/routes.mdx +2 -2
  8. package/en/apis/app/runtime/core/create-app.mdx +1 -1
  9. package/en/components/init-app.mdx +5 -5
  10. package/en/configure/app/bff/prefix.mdx +2 -3
  11. package/en/configure/app/bff/proxy.mdx +1 -1
  12. package/en/configure/app/output/ssg.mdx +3 -3
  13. package/en/configure/app/runtime/master-app.mdx +1 -1
  14. package/en/configure/app/source/entries-dir.mdx +1 -1
  15. package/en/configure/app/testing/transformer.mdx +1 -1
  16. package/en/configure/app/tools/jest.mdx +1 -1
  17. package/en/guides/advanced-features/ssg.mdx +8 -8
  18. package/en/guides/basic-features/alias.mdx +4 -4
  19. package/en/guides/basic-features/routes.mdx +7 -7
  20. package/en/guides/get-started/quick-start.mdx +2 -2
  21. package/en/tutorials/first-app/c07-container.mdx +17 -17
  22. package/en/tutorials/first-app/c08-entries.mdx +23 -23
  23. package/package.json +3 -3
  24. package/zh/apis/app/commands.mdx +299 -0
  25. package/zh/apis/app/hooks/_category_.json +1 -1
  26. package/zh/apis/app/hooks/src/routes.mdx +2 -2
  27. package/zh/components/init-app.mdx +5 -5
  28. package/zh/configure/app/bff/prefix.mdx +1 -1
  29. package/zh/configure/app/bff/proxy.mdx +1 -1
  30. package/zh/configure/app/output/ssg.mdx +3 -3
  31. package/zh/configure/app/source/entries-dir.mdx +1 -1
  32. package/zh/guides/advanced-features/ssg.mdx +8 -8
  33. package/zh/guides/basic-features/alias.mdx +4 -4
  34. package/zh/guides/basic-features/routes.mdx +7 -7
  35. package/zh/guides/get-started/quick-start.mdx +2 -2
  36. package/zh/tutorials/first-app/c07-container.mdx +17 -17
  37. package/zh/tutorials/first-app/c08-entries.mdx +23 -23
  38. package/en/apis/app/commands/_category_.json +0 -5
  39. package/en/apis/app/commands/build.mdx +0 -39
  40. package/en/apis/app/commands/dev.mdx +0 -61
  41. package/en/apis/app/commands/inspect.mdx +0 -61
  42. package/en/apis/app/commands/lint.mdx +0 -19
  43. package/en/apis/app/commands/new.mdx +0 -55
  44. package/en/apis/app/commands/serve.mdx +0 -27
  45. package/en/apis/app/commands/test.mdx +0 -35
  46. package/en/apis/app/commands/upgrade.mdx +0 -18
  47. package/zh/apis/app/commands/_category_.json +0 -5
  48. package/zh/apis/app/commands/build.mdx +0 -39
  49. package/zh/apis/app/commands/dev.mdx +0 -61
  50. package/zh/apis/app/commands/inspect.mdx +0 -61
  51. package/zh/apis/app/commands/lint.mdx +0 -19
  52. package/zh/apis/app/commands/new.mdx +0 -54
  53. package/zh/apis/app/commands/serve.mdx +0 -27
  54. package/zh/apis/app/commands/test.mdx +0 -35
  55. package/zh/apis/app/commands/upgrade.mdx +0 -18
@@ -1,4 +1,4 @@
1
1
 
2
- > @modern-js/main-doc@2.4.0 build /tmp/repo/modern.js/packages/toolkit/main-doc
2
+ > @modern-js/main-doc@2.5.0 build /tmp/repo/modern.js/packages/toolkit/main-doc
3
3
  > npx ts-node ./scripts/sync.ts
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,8 +1,7 @@
1
1
  # @modern-js/main-doc
2
2
 
3
- ## 0.0.0-next-20230216043905
3
+ ## 0.0.0-next-20230217040130
4
4
 
5
5
  ### Patch Changes
6
6
 
7
- - Updated dependencies [c5ea222c8]
8
- - @modern-js/builder-doc@0.0.0-next-20230216043905
7
+ - @modern-js/builder-doc@0.0.0-next-20230217040130
package/LICENSE CHANGED
@@ -19,126 +19,3 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
19
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
20
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
21
  SOFTWARE.
22
-
23
-
24
- The code implementation modified from external library are:
25
-
26
- - vite
27
-
28
- MIT License
29
-
30
- Copyright (c) 2019-present, Yuxi (Evan) You and Vite contributors
31
-
32
- Permission is hereby granted, free of charge, to any person obtaining a copy
33
- of this software and associated documentation files (the "Software"), to deal
34
- in the Software without restriction, including without limitation the rights
35
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
36
- copies of the Software, and to permit persons to whom the Software is
37
- furnished to do so, subject to the following conditions:
38
-
39
- The above copyright notice and this permission notice shall be included in all
40
- copies or substantial portions of the Software.
41
-
42
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
43
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
44
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
45
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
46
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
47
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
48
- SOFTWARE.
49
-
50
- - wmr
51
-
52
- MIT License
53
-
54
- Copyright (c) 2020 The Preact Authors
55
-
56
- Permission is hereby granted, free of charge, to any person obtaining a copy
57
- of this software and associated documentation files (the "Software"), to deal
58
- in the Software without restriction, including without limitation the rights
59
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
60
- copies of the Software, and to permit persons to whom the Software is
61
- furnished to do so, subject to the following conditions:
62
-
63
- The above copyright notice and this permission notice shall be included in all
64
- copies or substantial portions of the Software.
65
-
66
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
67
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
68
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
69
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
70
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
71
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
72
- SOFTWARE.
73
-
74
- - bundle-require
75
-
76
- The MIT License (MIT)
77
-
78
- Copyright © 2021 EGOIST (https://github.com/sponsors/egoist)
79
-
80
- Permission is hereby granted, free of charge, to any person obtaining a copy
81
- of this software and associated documentation files (the "Software"), to deal
82
- in the Software without restriction, including without limitation the rights
83
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
84
- copies of the Software, and to permit persons to whom the Software is
85
- furnished to do so, subject to the following conditions:
86
-
87
- The above copyright notice and this permission notice shall be included in all
88
- copies or substantial portions of the Software.
89
-
90
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
91
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
92
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
93
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
94
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
95
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
96
- SOFTWARE
97
-
98
- - react-dev-utils
99
-
100
- MIT License
101
-
102
- Copyright (c) 2013-present, Facebook, Inc.
103
-
104
- Permission is hereby granted, free of charge, to any person obtaining a copy
105
- of this software and associated documentation files (the "Software"), to deal
106
- in the Software without restriction, including without limitation the rights
107
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
108
- copies of the Software, and to permit persons to whom the Software is
109
- furnished to do so, subject to the following conditions:
110
-
111
- The above copyright notice and this permission notice shall be included in all
112
- copies or substantial portions of the Software.
113
-
114
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
115
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
116
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
117
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
118
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
119
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
120
- SOFTWARE.
121
-
122
- - jest-cli
123
-
124
- MIT License
125
-
126
- Copyright (c) Facebook, Inc. and its affiliates.
127
-
128
- Permission is hereby granted, free of charge, to any person obtaining a copy
129
- of this software and associated documentation files (the "Software"), to deal
130
- in the Software without restriction, including without limitation the rights
131
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
132
- copies of the Software, and to permit persons to whom the Software is
133
- furnished to do so, subject to the following conditions:
134
-
135
- The above copyright notice and this permission notice shall be included in all
136
- copies or substantial portions of the Software.
137
-
138
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
139
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
140
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
141
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
142
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
143
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
144
- SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,26 @@
1
+ <p align="center">
2
+ <a href="https://modernjs.dev" target="blank"><img src="https://lf3-static.bytednsdoc.com/obj/eden-cn/ylaelkeh7nuhfnuhf/modernjs-cover.png" width="300" alt="Modern.js Logo" /></a>
3
+ </p>
4
+
5
+ <h1 align="center">Modern.js</h1>
6
+
7
+ <p align="center">
8
+ A Progressive React Framework for modern web development.
9
+ </p>
10
+
11
+ ## Getting Started
12
+
13
+ Please follow [Quick Start](https://modernjs.dev/en/guides/get-started/quick-start) to get started with Modern.js.
14
+
15
+ ## Documentation
16
+
17
+ - [English Documentation](https://modernjs.dev/en/)
18
+ - [中文文档](https://modernjs.dev)
19
+
20
+ ## Contributing
21
+
22
+ Please read the [Contributing Guide](https://github.com/modern-js-dev/modern.js/blob/main/CONTRIBUTING.md).
23
+
24
+ ## License
25
+
26
+ Modern.js is [MIT licensed](https://github.com/modern-js-dev/modern.js/blob/main/LICENSE).
@@ -0,0 +1,297 @@
1
+ ---
2
+ sidebar_position: 1
3
+ ---
4
+
5
+ # Commands
6
+
7
+ Modern.js has some built-in commands that can help you quickly start a development server, build production environment code, and more.
8
+
9
+ Through this chapter, you can learn about the built-in commands of Modern.js and how to use them.
10
+
11
+ ## modern dev
12
+
13
+ The `modern dev` command is used to start a local development server and compile the source code in the development environment.
14
+
15
+ ```bash
16
+ Usage: modern dev [options]
17
+
18
+ Options:
19
+ -e --entry <entry> compiler by entry
20
+ -c --config <config> configuration file path, which can be a relative path or an absolute path
21
+ -h, --help show command help
22
+ --analyze analyze the bundle and view size of each module
23
+ --api-only only start API service
24
+ ```
25
+
26
+ After running `modern dev`, Modern.js will watch source file changes and apply hot module replacement.
27
+
28
+ ```bash
29
+ $ modern dev
30
+
31
+ info Starting dev server...
32
+ info App running at:
33
+
34
+ > Local: http://localhost:8080/
35
+ > Network: http://192.168.0.1:8080/
36
+ ```
37
+
38
+ ### Compile Partial Pages
39
+
40
+ In multi-page (MPA) projects, the `--entry` option can be added to specify one or more pages to compile. In this way, only part of the code in the project will be compiled, and the dev startup speed will be faster.
41
+
42
+ For example, execute `modern dev --entry`, the entry selector will be displayed in the command line interface:
43
+
44
+ ```bash
45
+ $ modern dev --entry
46
+
47
+ ? Please select the entry that needs to be built
48
+ ❯ ◯ foo
49
+ ◯ bar
50
+ ◯ baz
51
+ ```
52
+
53
+ For example, if you select the `foo` entry, only the code related to the `foo` entry will be compiled, and the code of other pages will not be compiled.
54
+
55
+ ### Specify the page by parameter
56
+
57
+ You can also specify the page name through parameters after `--entry`, and the names of multiple pages can be separated by commas.
58
+
59
+ ```bash
60
+ # Compile foo page
61
+ modern dev --entry foo
62
+
63
+ # Compile foo and bar pages
64
+ modern dev --entry foo,bar
65
+ ```
66
+
67
+ ## modern start
68
+
69
+ `modern start` is an alias of `modern dev` command, the usage of the two are exactly the same.
70
+
71
+ ## modern build
72
+
73
+ The `modern build` command will build a production-ready product in the `dist/` directory by default. You can specify the output directory by modifying the configuration [`output.distPath`](/configure/app/output/dist-path).
74
+
75
+ ```bash
76
+ Usage: modern build [options]
77
+
78
+ Options:
79
+ -c --config <config> configuration file path, which can be a relative path or an absolute path
80
+ -h, --help show command help
81
+ --analyze analyze the bundle and view size of each module
82
+ ```
83
+
84
+ ### Analyze Bundle
85
+
86
+ execute `npx modern build --analyze` command,can produce an HTML file that analyzes the volume of the bundle while packaging the production code:
87
+
88
+ ```
89
+ Bundle Analyzer saved report to /example/dist/report.html
90
+ File sizes after production build:
91
+
92
+ 122.35 KB dist/static/js/885.1d4fbe5a.js
93
+ 2.3 KB dist/static/js/main.4b8e8d64.js
94
+ 761 B dist/static/js/runtime-main.edb7cf35.js
95
+ 645 B dist/static/css/main.0dd3ecc1.css
96
+ ```
97
+
98
+ Open the above HTML file in the browser, you can see the tile diagram of the packaged product, and perform package volume analysis and optimization:
99
+
100
+ <img src="https://lf3-static.bytednsdoc.com/obj/eden-cn/aphqeh7uhohpquloj/modern-js/mwa-build-analyze-8784f762c1ab0cb20935829d5f912c4c.png" />
101
+
102
+ > this features based on [webpack-bundle-analyzer](https://github.com/webpack-contrib/webpack-bundle-analyzer).
103
+
104
+ ## modern new
105
+
106
+ The `modern new` command is used to enable features in an existing project.
107
+
108
+ For example, add application entry, enable some optional features such as Tailwind CSS, micro frontend, etc.
109
+
110
+ ```bash
111
+ Usage: modern new [options]
112
+
113
+ Options:
114
+ -d, --debug using debug mode to log something (default: false)
115
+ -c, --config <config> set default generator config(json string)
116
+ --dist-tag <tag> use specified tag version for its generator
117
+ --registry set npm registry url to run npm command
118
+ -h, --help show command help
119
+ ```
120
+
121
+ ### Add Entry
122
+
123
+ In the project, execute the `new` command to add entries as follows:
124
+
125
+ ```bash
126
+ $ npx modern new
127
+ ? Action Create project element
128
+ ? Create project element New "entry"
129
+ ? Entry name entry
130
+ ```
131
+
132
+ ### Enable Features
133
+
134
+ In the project, execute the `new` command to enable features as follows:
135
+
136
+ ```bash
137
+ $ npx modern new
138
+ ? Action Enable features
139
+ ? Enable features (Use arrow keys)
140
+ ❯ Enable Tailwind CSS
141
+ Enable BFF
142
+ Enable SSG
143
+ Enable Micro Frontend
144
+ Enable Unit Test / Integration Test
145
+ Enable Visual Testing (Storybook)
146
+ ```
147
+
148
+ :::tip
149
+ The `--config` parameter needs to use a JSON string.
150
+
151
+ pnpm does not support the use of JSON strings as parameter values currently. Use `npm new` to turn on.【[Relate Issue](https://github.com/pnpm/pnpm/issues/3876)】
152
+ :::
153
+
154
+ ## modern serve
155
+
156
+ Usually use the `modern serve` command to enable project run in the production environment, and you need to execute the [`build'](/apis/app/commands#modern-build) command in advance to build the outputs.
157
+
158
+ ```bash
159
+ Usage: modern serve [options]
160
+
161
+ Options:
162
+ -c --config <config> configuration file path, which can be a relative path or an absolute path
163
+ -h, --help show command help
164
+ --api-only only run API service
165
+ ```
166
+
167
+ By default, the project will run in `localhost:8080`, you can modify the Server port number with `server.port`:
168
+
169
+ ```js
170
+ export default defineConfig({
171
+ server: {
172
+ port: 8081,
173
+ },
174
+ });
175
+ ```
176
+
177
+ ## modern upgrade
178
+
179
+ Execute the command `npx modern upgrade` in the project, by default, dependencies in the `package.json` are updated to the latest version.
180
+
181
+ ```
182
+ Usage: modern upgrade [options]
183
+
184
+ Options:
185
+ --registry <registry> specify npm registry (default: "")
186
+ -d,--debug using debug mode to log something (default: false)
187
+ --cwd <cwd> app directory (default: "")
188
+ -h, --help show command help
189
+ ```
190
+
191
+ ## modern inspect
192
+
193
+ The `modern inspect` command is used to view the [Modern.js Builder config](https://modernjs.dev/builder/en/guide/basic/builder-config.html) and webpack config of the project.
194
+
195
+ ```
196
+ Usage: modern inspect [options]
197
+
198
+ Options:
199
+ --env <env> view the configuration in the target environment (default: "development")
200
+ --output <output> Specify the path to output in the dist (default: "/")
201
+ --verbose Show the full function in the result
202
+ -c --config <config> configuration file path, which can be a relative path or an absolute path
203
+ -h, --help show command help
204
+ ```
205
+
206
+ After executing the command `npx modern inspect` in the project root directory, the following files will be generated in the `dist` directory of the project:
207
+
208
+ - `builder.config.js`: The Modern.js Builder config to use at build time.
209
+ - `webpack.config.web.js`: The webpack config used by to use at build time.
210
+
211
+ ```bash
212
+ ➜ npx modern inspect
213
+
214
+ Inspect config succeed, open following files to view the content:
215
+
216
+ - Builder Config: /root/my-project/dist/builder.config.js
217
+ - Webpack Config (web): /root/my-project/dist/webpack.config.web.js
218
+ ```
219
+
220
+ ### Configuration Env
221
+
222
+ By default, the inspect command will output the development configs, you can use the `--env production` option to output the production configs:
223
+
224
+ ```bash
225
+ modern inspect --env production
226
+ ```
227
+
228
+ ### Verbose content
229
+
230
+ By default, the inspect command will omit the function content in the config object, you can use the `--verbose` option to output the full content of the function:
231
+
232
+ ```bash
233
+ modern inspect --verbose
234
+ ```
235
+
236
+ ### SSR Configuration
237
+
238
+ If the project has enabled SSR, an additional `webpack.config.node.js` file will be generated in the `dist/`, corresponding to the webpack configuration at SSR build time.
239
+
240
+ ```bash
241
+ ➜ npx modern inspect
242
+
243
+ Inspect config succeed, open following files to view the content:
244
+
245
+ - Builder Config: /root/my-project/dist/builder.config.js
246
+ - Webpack Config (web): /root/my-project/dist/webpack.config.web.js
247
+ - Webpack Config (node): /root/my-project/dist/webpack.config.node.js
248
+ ```
249
+
250
+ ## modern lint
251
+
252
+ Run ESLint to check the syntax of the code.
253
+
254
+ ```bash
255
+ Usage: modern lint [options] [...files]
256
+
257
+ Options:
258
+ --no-fix disable auto fix source file
259
+ -h, --help display help for command
260
+ ```
261
+
262
+ Normally, only the part of the code modified by this commit needs to be checked by `lint-staged` during the `git commit` phase.
263
+
264
+ - `--no-fix` close auto fix by lint.
265
+
266
+ ## modern test
267
+
268
+ `modern test` command will automatically run the test cases.
269
+
270
+ ```bash
271
+ Usage: modern test [options]
272
+
273
+ Options:
274
+ -h, --help show command help
275
+ ```
276
+
277
+ :::tip
278
+ `modern test` command need to execute the `new` command in advance to enable the `unit test/integration test`.
279
+ :::
280
+
281
+ The effect is as follows:
282
+
283
+ ```bash
284
+ $ npx modern test
285
+ PASS src/tests/index.test.ts
286
+ The add method
287
+ ✓ should work fine. (2ms)
288
+
289
+ Test Suites: 1 passed, 1 total
290
+ Tests: 1 passed, 1 total
291
+ Snapshots: 0 total
292
+ Time: 0.994 s, estimated 1 s
293
+ ```
294
+
295
+ :::info
296
+ Files match `*.test.(js|ts)` in `api/` or `src/` folders will be recognized as test cases by default.
297
+ :::
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "label": "Convention",
3
- "position": 1,
3
+ "position": 2,
4
4
  "collapsed": false
5
5
  }
@@ -44,9 +44,9 @@ If the directory name of the route file is named with `[]`, the generated route
44
44
  ```
45
45
  └── routes
46
46
  ├── [id]
47
-    └── page.tsx
47
+ └── page.tsx
48
48
  ├── blog
49
-    └── page.tsx
49
+ └── page.tsx
50
50
  └── page.tsx
51
51
  ```
52
52
 
@@ -3,7 +3,7 @@ title: createApp
3
3
  ---
4
4
  # createApp
5
5
 
6
- Used to create custom entries, custom runtime plugins. This API is only required when using [Custom App](/guides/concept/entries#自定义-app).
6
+ Used to create custom entries, custom runtime plugins. This API is only required when using [Custom App](/guides/concept/entries#app).
7
7
 
8
8
  ## Usage
9
9
 
@@ -30,11 +30,11 @@ Now, the project structure is as follows:
30
30
  ```
31
31
  .
32
32
  ├── src
33
-    ├── modern-app-env.d.ts
34
-    └── routes
35
-    ├── index.css
36
-    ├── layout.tsx
37
-    └── page.tsx
33
+ ├── modern-app-env.d.ts
34
+ └── routes
35
+ ├── index.css
36
+ ├── layout.tsx
37
+ └── page.tsx
38
38
  ├── modern.config.ts
39
39
  ├── package.json
40
40
  ├── pnpm-lock.yaml
@@ -7,9 +7,8 @@ sidebar_label: prefix
7
7
  - **Type:** `string`
8
8
  - **Default:** `/api`
9
9
 
10
- :::caution Caution
11
- First you need to enable the "BFF" function using [new](/apis/app/commands/new) command.
12
-
10
+ :::caution
11
+ First you need to enable the "BFF" function using [new](/apis/app/commands#modern-new) command.
13
12
  :::
14
13
 
15
14
  By default, the route access BFF prefix's directory is `/api`, with the following directory structure:
@@ -8,7 +8,7 @@ sidebar_label: proxy
8
8
  - **Default:** `{}`
9
9
 
10
10
  :::caution Caution
11
- First you need to enable the "BFF" function using [new](/apis/app/commands/new) command.
11
+ First you need to enable the "BFF" function using [new](/apis/app/commands#modern-new) command.
12
12
 
13
13
  :::
14
14
 
@@ -66,7 +66,7 @@ Also using the above configuration, after executing `pnpm run build`, only the e
66
66
  ```bash
67
67
  .
68
68
  ├── src
69
-    ├── entryA
69
+ ├── entryA
70
70
  │ │ └── routes
71
71
  │ │ ├── layout.tsx
72
72
  │ │ ├── page.tsx
@@ -75,8 +75,8 @@ Also using the above configuration, after executing `pnpm run build`, only the e
75
75
  │ │ ├── page.tsx
76
76
  │ │ └── profile
77
77
  │ │ └── page.tsx
78
-    └── entryB
79
-    └── App.tsx
78
+ └── entryB
79
+ └── App.tsx
80
80
  ```
81
81
 
82
82
  By default, all entryA entrances are rendered at build time after setting `output.ssg` to `true`. You can configure `false` to cancel the default behavior of the specified entries. For example, to cancel the rendering of the `entryA` at build time:
@@ -7,7 +7,7 @@ sidebar_label: masterApp
7
7
  - **Type:** `Object`
8
8
 
9
9
  :::info
10
- First you need to enable the "micro frontend" function using [new command](/apis/app/commands/new).
10
+ First you need to enable the "micro frontend" function using [new command](/apis/app/commands#modern-new).
11
11
  :::
12
12
 
13
13
  ## Example
@@ -24,7 +24,7 @@ export default defineConfig({
24
24
  └── src
25
25
  └── pages
26
26
  ├── a
27
-    └── App.jsx
27
+ └── App.jsx
28
28
  └── b
29
29
  └── App.jsx
30
30
  ```
@@ -9,7 +9,7 @@ sidebar_position: 1
9
9
  - **Default:** `babel-jest`
10
10
 
11
11
  :::caution Caution
12
- First you need to enable the "Unit Test" function using [new](/apis/app/commands/new) command.
12
+ First you need to enable the "Unit Test" function using [new](/apis/app/commands#modern-new) command.
13
13
 
14
14
  :::
15
15
 
@@ -9,7 +9,7 @@ sidebar_label: jest
9
9
  - **Default:** `{}`
10
10
 
11
11
  :::caution Caution
12
- First you need to enable the "Unit Test" function using [new](/apis/app/commands/new) command.
12
+ First you need to enable the "Unit Test" function using [new](/apis/app/commands#modern-new) command.
13
13
 
14
14
  :::
15
15
 
@@ -37,14 +37,14 @@ For example, the following is a project directory structure using conventional r
37
37
  ```bash
38
38
  .
39
39
  ├── src
40
-    └── routes
41
-    ├── layout.tsx
42
-    ├── page.tsx
43
-    └── user
44
-    ├── layout.tsx
45
-    ├── page.tsx
46
-    └── profile
47
-    └── page.tsx
40
+ └── routes
41
+ ├── layout.tsx
42
+ ├── page.tsx
43
+ └── user
44
+ ├── layout.tsx
45
+ ├── page.tsx
46
+ └── profile
47
+ └── page.tsx
48
48
  ```
49
49
 
50
50
  The above file directory will generate the following three routes:
@@ -23,10 +23,10 @@ For example, import the modules from the `src/common/` directory in the `src/App
23
23
  ```bash
24
24
  .
25
25
  ├── common
26
-    ├── styles
27
-       └── base.css
28
-    └── utils
29
-    └── index.ts
26
+ ├── styles
27
+ └── base.css
28
+ └── utils
29
+ └── index.ts
30
30
  ├── App.tsx
31
31
  ```
32
32