@modern-js/main-doc 2.69.5 → 3.0.0-alpha.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.
Files changed (540) hide show
  1. package/docs/en/{_meta.json → _nav.json} +5 -1
  2. package/docs/en/apis/app/commands.mdx +2 -3
  3. package/docs/en/apis/app/hooks/src/entry.mdx +1 -5
  4. package/docs/en/apis/app/hooks/src/entry.server.mdx +4 -5
  5. package/docs/en/apis/app/hooks/src/routes.mdx +2 -2
  6. package/docs/en/apis/app/runtime/_meta.json +0 -18
  7. package/docs/en/apis/app/runtime/bff/use-hono-context.mdx +2 -2
  8. package/docs/en/apis/app/runtime/router/router.mdx +1 -1
  9. package/docs/en/apis/app/runtime/utility/css-in-js.mdx +3 -2
  10. package/docs/en/community/blog/v2-release-note.mdx +0 -2
  11. package/docs/en/community/contributing-guide.mdx +10 -12
  12. package/docs/en/components/bff-upload.mdx +16 -12
  13. package/docs/en/components/build-output.mdx +45 -0
  14. package/docs/en/components/debug-app.mdx +1 -1
  15. package/docs/en/components/enable-bff-caution.mdx +2 -2
  16. package/docs/en/components/enable-bff.mdx +38 -8
  17. package/docs/en/components/enable-ssg.mdx +48 -0
  18. package/docs/en/components/entry-scan-logic.mdx +7 -0
  19. package/docs/en/components/init-app.mdx +40 -17
  20. package/docs/en/components/international/install-command.mdx +9 -0
  21. package/docs/en/components/international/introduce.mdx +2 -0
  22. package/docs/en/components/module-federation.mdx +4 -4
  23. package/docs/en/components/new-entry-tooltip.mdx +0 -0
  24. package/docs/en/components/nodeVersion.mdx +2 -6
  25. package/docs/en/components/prerequisites.mdx +1 -1
  26. package/docs/en/components/ua-polyfill.mdx +16 -12
  27. package/docs/en/components/upgrade-browserslist.mdx +0 -0
  28. package/docs/en/configure/_meta.json +7 -8
  29. package/docs/en/configure/app/bff/cross-project.mdx +24 -0
  30. package/docs/en/configure/app/dev/lazy-compilation.mdx +45 -0
  31. package/docs/en/configure/app/dev/server.mdx +103 -0
  32. package/docs/en/configure/app/dev/setup-middlewares.mdx +4 -22
  33. package/docs/en/configure/app/html/app-icon.mdx +1 -23
  34. package/docs/en/configure/app/output/inline-scripts.mdx +1 -1
  35. package/docs/en/configure/app/output/override-browserslist.mdx +6 -4
  36. package/docs/en/configure/app/output/source-map.mdx +6 -3
  37. package/docs/en/configure/app/output/ssg.mdx +12 -43
  38. package/docs/en/configure/app/output/ssgByEntries.mdx +93 -0
  39. package/docs/en/configure/app/performance/build-cache.mdx +0 -4
  40. package/docs/en/configure/app/resolve/alias-strategy.mdx +14 -0
  41. package/docs/en/configure/app/resolve/alias.mdx +13 -0
  42. package/docs/en/configure/app/resolve/condition-names.mdx +18 -0
  43. package/docs/en/configure/app/resolve/dedupe.mdx +13 -0
  44. package/docs/en/configure/app/resolve/extensions.mdx +18 -0
  45. package/docs/en/configure/app/runtime/0-intro.mdx +2 -51
  46. package/docs/en/configure/app/security/check-syntax.mdx +1 -1
  47. package/docs/en/configure/app/server/port.mdx +1 -21
  48. package/docs/en/configure/app/server/rsc.mdx +30 -0
  49. package/docs/en/configure/app/server/ssr.mdx +20 -9
  50. package/docs/en/configure/app/source/decorators.mdx +4 -2
  51. package/docs/en/configure/app/source/entries.mdx +0 -2
  52. package/docs/en/configure/app/source/main-entry-name.mdx +4 -4
  53. package/docs/en/configure/app/source/transform-import.mdx +1 -59
  54. package/docs/en/configure/app/tools/bundler-chain.mdx +5 -5
  55. package/docs/en/configure/app/tools/css-extract.mdx +1 -1
  56. package/docs/en/configure/app/tools/dev-server.mdx +14 -248
  57. package/docs/en/configure/app/tools/html-plugin.mdx +3 -3
  58. package/docs/en/configure/app/tools/lightningcss-loader.mdx +0 -1
  59. package/docs/en/configure/app/tools/swc.mdx +1 -43
  60. package/docs/en/configure/app/usage.mdx +7 -17
  61. package/docs/en/guides/_meta.json +1 -2
  62. package/docs/en/guides/advanced-features/_meta.json +6 -0
  63. package/docs/en/guides/advanced-features/bff/cross-project.mdx +1 -7
  64. package/docs/en/guides/advanced-features/bff/extend-server.mdx +18 -3
  65. package/docs/en/guides/advanced-features/bff/frameworks.mdx +1 -1
  66. package/docs/en/guides/advanced-features/bff/function.mdx +2 -6
  67. package/docs/en/guides/advanced-features/bff/sdk.mdx +3 -3
  68. package/docs/en/guides/advanced-features/build-performance.mdx +23 -26
  69. package/docs/en/guides/advanced-features/compatibility.mdx +53 -9
  70. package/docs/en/guides/advanced-features/international/_meta.json +11 -0
  71. package/docs/en/guides/advanced-features/international/advanced.mdx +193 -0
  72. package/docs/en/guides/advanced-features/international/api.mdx +400 -0
  73. package/docs/en/guides/advanced-features/international/basic.mdx +417 -0
  74. package/docs/en/guides/advanced-features/international/best-practices.mdx +135 -0
  75. package/docs/en/guides/advanced-features/international/configuration.mdx +437 -0
  76. package/docs/en/guides/advanced-features/international/locale-detection.mdx +276 -0
  77. package/docs/en/guides/advanced-features/international/quick-start.mdx +154 -0
  78. package/docs/en/guides/advanced-features/international/resource-loading.mdx +417 -0
  79. package/docs/en/guides/advanced-features/international/routing.mdx +212 -0
  80. package/docs/en/guides/advanced-features/international.mdx +37 -0
  81. package/docs/en/guides/advanced-features/low-level.mdx +21 -16
  82. package/docs/en/guides/advanced-features/page-performance/code-split.mdx +4 -4
  83. package/docs/en/guides/advanced-features/page-performance/inline-assets.mdx +4 -4
  84. package/docs/en/guides/advanced-features/page-performance/optimize-bundle.mdx +7 -21
  85. package/docs/en/guides/advanced-features/page-performance/react-compiler.mdx +1 -8
  86. package/docs/en/guides/advanced-features/rspack-start.mdx +2 -22
  87. package/docs/en/guides/advanced-features/server-monitor/logger.mdx +0 -4
  88. package/docs/en/guides/advanced-features/server-monitor/monitors.mdx +62 -34
  89. package/docs/en/guides/advanced-features/web-server.mdx +82 -299
  90. package/docs/en/guides/basic-features/_meta.json +6 -1
  91. package/docs/en/guides/basic-features/css/css-in-js.mdx +46 -11
  92. package/docs/en/guides/basic-features/css/css-modules.mdx +5 -17
  93. package/docs/en/guides/basic-features/css/css.mdx +3 -3
  94. package/docs/en/guides/basic-features/css/tailwindcss.mdx +5 -89
  95. package/docs/en/guides/basic-features/data/data-cache.mdx +5 -1
  96. package/docs/en/guides/basic-features/data/data-fetch.mdx +4 -4
  97. package/docs/en/guides/basic-features/data/data-write.mdx +2 -2
  98. package/docs/en/guides/basic-features/debug/mock.mdx +4 -1
  99. package/docs/en/guides/basic-features/debug/proxy.mdx +0 -8
  100. package/docs/en/guides/basic-features/debug/rsdoctor.mdx +5 -5
  101. package/docs/en/guides/basic-features/deploy.mdx +25 -18
  102. package/docs/en/guides/basic-features/env-vars.mdx +1 -1
  103. package/docs/en/guides/basic-features/html.mdx +1 -1
  104. package/docs/en/guides/basic-features/output-files.mdx +3 -3
  105. package/docs/en/guides/basic-features/render/_meta.json +1 -1
  106. package/docs/en/guides/basic-features/render/before-render.mdx +16 -23
  107. package/docs/en/guides/basic-features/render/overview.mdx +51 -0
  108. package/docs/en/guides/basic-features/render/rsc.mdx +394 -0
  109. package/docs/en/guides/basic-features/render/ssg.mdx +26 -62
  110. package/docs/en/guides/basic-features/render/ssr-cache.mdx +6 -6
  111. package/docs/en/guides/basic-features/render/ssr.mdx +31 -31
  112. package/docs/en/guides/basic-features/render/streaming-ssr.mdx +29 -9
  113. package/docs/en/guides/basic-features/routes/_meta.json +1 -0
  114. package/docs/en/guides/basic-features/routes/config-routes.mdx +427 -0
  115. package/docs/en/guides/basic-features/{routes.mdx → routes/routes.mdx} +7 -110
  116. package/docs/en/guides/basic-features/static-assets/json-files.mdx +21 -3
  117. package/docs/en/guides/basic-features/static-assets.mdx +2 -2
  118. package/docs/en/guides/concept/builder.mdx +24 -9
  119. package/docs/en/guides/concept/entries.mdx +139 -147
  120. package/docs/en/guides/get-started/glossary.mdx +0 -18
  121. package/docs/en/guides/get-started/introduction.mdx +1 -4
  122. package/docs/en/guides/get-started/quick-start.mdx +8 -73
  123. package/docs/en/guides/get-started/tech-stack.mdx +7 -25
  124. package/docs/en/guides/get-started/upgrade.mdx +30 -23
  125. package/docs/en/guides/topic-detail/_meta.json +0 -12
  126. package/docs/en/guides/topic-detail/module-federation/_meta.json +1 -1
  127. package/docs/en/guides/topic-detail/module-federation/application.mdx +16 -15
  128. package/docs/en/guides/topic-detail/module-federation/i18n.mdx +670 -0
  129. package/docs/en/guides/topic-detail/module-federation/introduce.mdx +5 -4
  130. package/docs/en/guides/topic-detail/module-federation/ssr.mdx +50 -2
  131. package/docs/en/guides/topic-detail/module-federation/usage.mdx +10 -30
  132. package/docs/en/guides/troubleshooting/builder.mdx +3 -82
  133. package/docs/en/guides/troubleshooting/cli.mdx +6 -30
  134. package/docs/en/guides/troubleshooting/dependencies.mdx +22 -22
  135. package/docs/en/plugin/cli-plugins/api.mdx +4 -5
  136. package/docs/en/plugin/cli-plugins/migration.mdx +33 -48
  137. package/docs/en/plugin/introduction.mdx +39 -27
  138. package/docs/en/plugin/official/_meta.json +0 -5
  139. package/docs/en/plugin/official/cli-plugins/_meta.json +1 -1
  140. package/docs/en/plugin/official/cli-plugins/plugin-styled-components.mdx +5 -0
  141. package/docs/en/plugin/official/cli-plugins.mdx +0 -2
  142. package/docs/en/plugin/plugin-system.mdx +68 -61
  143. package/docs/en/plugin/runtime-plugins/api.mdx +62 -59
  144. package/docs/en/plugin/runtime-plugins/migration.mdx +29 -20
  145. package/docs/en/tutorials/_meta.json +0 -10
  146. package/docs/en/tutorials/examples/csr-auth.mdx +1 -1
  147. package/docs/en/tutorials/foundations/introduction.mdx +9 -25
  148. package/docs/zh/{_meta.json → _nav.json} +10 -6
  149. package/docs/zh/apis/app/commands.mdx +2 -3
  150. package/docs/zh/apis/app/hooks/src/entry.mdx +1 -5
  151. package/docs/zh/apis/app/hooks/src/entry.server.mdx +4 -5
  152. package/docs/zh/apis/app/hooks/src/routes.mdx +2 -2
  153. package/docs/zh/apis/app/runtime/_meta.json +0 -18
  154. package/docs/zh/apis/app/runtime/bff/use-hono-context.mdx +2 -2
  155. package/docs/zh/apis/app/runtime/utility/css-in-js.mdx +3 -2
  156. package/docs/zh/community/blog/v2-release-note.mdx +0 -2
  157. package/docs/zh/community/contributing-guide.mdx +10 -12
  158. package/docs/zh/components/auto-upgrade.mdx +0 -0
  159. package/docs/zh/components/bff-upload.mdx +8 -5
  160. package/docs/zh/components/build-output.mdx +45 -0
  161. package/docs/zh/components/debug-app.mdx +1 -1
  162. package/docs/zh/components/enable-bff-caution.mdx +1 -1
  163. package/docs/zh/components/enable-bff.mdx +37 -8
  164. package/docs/zh/components/enable-ssg.mdx +47 -0
  165. package/docs/zh/components/entry-scan-logic.mdx +7 -0
  166. package/docs/zh/components/init-app.mdx +40 -18
  167. package/docs/zh/components/international/install-command.mdx +8 -0
  168. package/docs/zh/components/international/introduce.mdx +2 -0
  169. package/docs/zh/components/international/platform-support.mdx +0 -0
  170. package/docs/zh/components/module-federation.mdx +4 -4
  171. package/docs/zh/components/new-entry-tooltip.mdx +0 -0
  172. package/docs/zh/components/nodeVersion.mdx +3 -7
  173. package/docs/zh/components/prerequisites.mdx +1 -1
  174. package/docs/zh/components/self-route-example.mdx +3 -3
  175. package/docs/zh/components/ua-polyfill.mdx +11 -6
  176. package/docs/zh/components/upgrade-browserslist.mdx +0 -0
  177. package/docs/zh/configure/_meta.json +7 -8
  178. package/docs/zh/configure/app/bff/cross-project.mdx +24 -0
  179. package/docs/zh/configure/app/dev/lazy-compilation.mdx +44 -0
  180. package/docs/zh/configure/app/dev/server.mdx +104 -0
  181. package/docs/zh/configure/app/dev/setup-middlewares.mdx +4 -23
  182. package/docs/zh/configure/app/html/app-icon.mdx +1 -23
  183. package/docs/zh/configure/app/output/inline-scripts.mdx +1 -1
  184. package/docs/zh/configure/app/output/override-browserslist.mdx +3 -3
  185. package/docs/zh/configure/app/output/source-map.mdx +10 -3
  186. package/docs/zh/configure/app/output/ssg.mdx +13 -45
  187. package/docs/zh/configure/app/output/ssgByEntries.mdx +94 -0
  188. package/docs/zh/configure/app/performance/build-cache.mdx +0 -4
  189. package/docs/zh/configure/app/resolve/alias-strategy.mdx +14 -0
  190. package/docs/zh/configure/app/resolve/alias.mdx +13 -0
  191. package/docs/zh/configure/app/resolve/condition-names.mdx +18 -0
  192. package/docs/zh/configure/app/resolve/dedupe.mdx +14 -0
  193. package/docs/zh/configure/app/resolve/extensions.mdx +18 -0
  194. package/docs/zh/configure/app/runtime/0-intro.mdx +2 -53
  195. package/docs/zh/configure/app/security/check-syntax.mdx +1 -1
  196. package/docs/zh/configure/app/server/port.mdx +2 -21
  197. package/docs/zh/configure/app/server/rsc.mdx +30 -0
  198. package/docs/zh/configure/app/server/ssr.mdx +21 -11
  199. package/docs/zh/configure/app/source/decorators.mdx +4 -4
  200. package/docs/zh/configure/app/source/entries.mdx +0 -2
  201. package/docs/zh/configure/app/source/main-entry-name.mdx +4 -4
  202. package/docs/zh/configure/app/source/transform-import.mdx +1 -59
  203. package/docs/zh/configure/app/tools/bundler-chain.mdx +6 -6
  204. package/docs/zh/configure/app/tools/css-extract.mdx +1 -1
  205. package/docs/zh/configure/app/tools/dev-server.mdx +14 -248
  206. package/docs/zh/configure/app/tools/html-plugin.mdx +3 -2
  207. package/docs/zh/configure/app/tools/lightningcss-loader.mdx +0 -1
  208. package/docs/zh/configure/app/tools/swc.mdx +1 -43
  209. package/docs/zh/configure/app/usage.mdx +8 -18
  210. package/docs/zh/guides/_meta.json +5 -1
  211. package/docs/zh/guides/advanced-features/_meta.json +6 -1
  212. package/docs/zh/guides/advanced-features/bff/cross-project.mdx +8 -16
  213. package/docs/zh/guides/advanced-features/bff/extend-server.mdx +25 -8
  214. package/docs/zh/guides/advanced-features/bff/frameworks.mdx +1 -1
  215. package/docs/zh/guides/advanced-features/bff/function.mdx +7 -12
  216. package/docs/zh/guides/advanced-features/bff/sdk.mdx +4 -4
  217. package/docs/zh/guides/advanced-features/build-performance.mdx +23 -30
  218. package/docs/zh/guides/advanced-features/compatibility.mdx +44 -0
  219. package/docs/zh/guides/advanced-features/international/_meta.json +11 -0
  220. package/docs/zh/guides/advanced-features/international/advanced.mdx +193 -0
  221. package/docs/zh/guides/advanced-features/international/api.mdx +400 -0
  222. package/docs/zh/guides/advanced-features/international/basic.mdx +416 -0
  223. package/docs/zh/guides/advanced-features/international/best-practices.mdx +135 -0
  224. package/docs/zh/guides/advanced-features/international/configuration.mdx +441 -0
  225. package/docs/zh/guides/advanced-features/international/locale-detection.mdx +304 -0
  226. package/docs/zh/guides/advanced-features/international/quick-start.mdx +149 -0
  227. package/docs/zh/guides/advanced-features/international/resource-loading.mdx +417 -0
  228. package/docs/zh/guides/advanced-features/international/routing.mdx +212 -0
  229. package/docs/zh/guides/advanced-features/international.mdx +36 -0
  230. package/docs/zh/guides/advanced-features/low-level.mdx +21 -16
  231. package/docs/zh/guides/advanced-features/page-performance/code-split.mdx +3 -3
  232. package/docs/zh/guides/advanced-features/page-performance/inline-assets.mdx +4 -4
  233. package/docs/zh/guides/advanced-features/page-performance/optimize-bundle.mdx +7 -21
  234. package/docs/zh/guides/advanced-features/page-performance/react-compiler.mdx +1 -8
  235. package/docs/zh/guides/advanced-features/server-monitor/logger.mdx +0 -4
  236. package/docs/zh/guides/advanced-features/server-monitor/monitors.mdx +63 -35
  237. package/docs/zh/guides/advanced-features/web-server.mdx +79 -300
  238. package/docs/zh/guides/basic-features/_meta.json +6 -1
  239. package/docs/zh/guides/basic-features/css/css-in-js.mdx +40 -5
  240. package/docs/zh/guides/basic-features/css/css-modules.mdx +6 -17
  241. package/docs/zh/guides/basic-features/css/css.mdx +2 -2
  242. package/docs/zh/guides/basic-features/css/tailwindcss.mdx +6 -90
  243. package/docs/zh/guides/basic-features/data/data-cache.mdx +8 -5
  244. package/docs/zh/guides/basic-features/data/data-fetch.mdx +6 -5
  245. package/docs/zh/guides/basic-features/data/data-write.mdx +4 -4
  246. package/docs/zh/guides/basic-features/debug/mock.mdx +4 -1
  247. package/docs/zh/guides/basic-features/debug/proxy.mdx +0 -8
  248. package/docs/zh/guides/basic-features/debug/rsdoctor.mdx +6 -6
  249. package/docs/zh/guides/basic-features/deploy.mdx +24 -20
  250. package/docs/zh/guides/basic-features/env-vars.mdx +1 -1
  251. package/docs/zh/guides/basic-features/html.mdx +2 -2
  252. package/docs/zh/guides/basic-features/output-files.mdx +3 -3
  253. package/docs/zh/guides/basic-features/render/_meta.json +1 -1
  254. package/docs/zh/guides/basic-features/render/before-render.mdx +17 -24
  255. package/docs/zh/guides/basic-features/render/overview.mdx +52 -0
  256. package/docs/zh/guides/basic-features/render/rsc.mdx +413 -0
  257. package/docs/zh/guides/basic-features/render/ssg.mdx +27 -69
  258. package/docs/zh/guides/basic-features/render/ssr-cache.mdx +5 -5
  259. package/docs/zh/guides/basic-features/render/ssr.mdx +34 -31
  260. package/docs/zh/guides/basic-features/render/streaming-ssr.mdx +34 -14
  261. package/docs/zh/guides/basic-features/routes/_meta.json +1 -0
  262. package/docs/zh/guides/basic-features/routes/config-routes.mdx +426 -0
  263. package/docs/zh/guides/basic-features/{routes.mdx → routes/routes.mdx} +8 -114
  264. package/docs/zh/guides/basic-features/static-assets/json-files.mdx +21 -3
  265. package/docs/zh/guides/basic-features/static-assets.mdx +2 -2
  266. package/docs/zh/guides/basic-features/testing/cypress.mdx +5 -5
  267. package/docs/zh/guides/basic-features/testing/jest.mdx +12 -12
  268. package/docs/zh/guides/concept/builder.mdx +24 -9
  269. package/docs/zh/guides/concept/entries.mdx +95 -92
  270. package/docs/zh/guides/get-started/glossary.mdx +0 -18
  271. package/docs/zh/guides/get-started/introduction.mdx +1 -5
  272. package/docs/zh/guides/get-started/quick-start.mdx +5 -72
  273. package/docs/zh/guides/get-started/tech-stack.mdx +8 -26
  274. package/docs/zh/guides/get-started/upgrade.mdx +30 -23
  275. package/docs/zh/guides/topic-detail/_meta.json +0 -12
  276. package/docs/zh/guides/topic-detail/module-federation/_meta.json +1 -1
  277. package/docs/zh/guides/topic-detail/module-federation/application.mdx +18 -16
  278. package/docs/zh/guides/topic-detail/module-federation/i18n.mdx +623 -0
  279. package/docs/zh/guides/topic-detail/module-federation/introduce.mdx +4 -4
  280. package/docs/zh/guides/topic-detail/module-federation/ssr.mdx +51 -5
  281. package/docs/zh/guides/topic-detail/module-federation/usage.mdx +11 -32
  282. package/docs/zh/guides/troubleshooting/builder.mdx +3 -84
  283. package/docs/zh/guides/troubleshooting/cli.mdx +6 -30
  284. package/docs/zh/guides/troubleshooting/dependencies.mdx +23 -23
  285. package/docs/zh/guides/upgrade/_meta.json +1 -0
  286. package/docs/zh/guides/upgrade/config.mdx +809 -0
  287. package/docs/zh/guides/upgrade/entry.mdx +463 -0
  288. package/docs/zh/guides/upgrade/other.md +90 -0
  289. package/docs/zh/guides/upgrade/overview.mdx +36 -0
  290. package/docs/zh/guides/upgrade/tailwindcss.mdx +130 -0
  291. package/docs/zh/guides/upgrade/web-server.md +93 -0
  292. package/docs/zh/plugin/cli-plugins/api.mdx +4 -5
  293. package/docs/zh/plugin/cli-plugins/migration.mdx +30 -45
  294. package/docs/zh/plugin/introduction.mdx +36 -24
  295. package/docs/zh/plugin/official/_meta.json +0 -5
  296. package/docs/zh/plugin/official/cli-plugins/_meta.json +1 -1
  297. package/docs/zh/plugin/official/cli-plugins/plugin-styled-components.mdx +5 -0
  298. package/docs/zh/plugin/official/cli-plugins.mdx +0 -2
  299. package/docs/zh/plugin/plugin-system.mdx +45 -42
  300. package/docs/zh/plugin/runtime-plugins/api.mdx +58 -56
  301. package/docs/zh/plugin/runtime-plugins/migration.mdx +26 -17
  302. package/docs/zh/tutorials/_meta.json +0 -10
  303. package/docs/zh/tutorials/examples/csr-auth.mdx +1 -1
  304. package/docs/zh/tutorials/foundations/introduction.mdx +8 -25
  305. package/i18n.json +0 -16
  306. package/package.json +12 -12
  307. package/rspress.config.ts +5 -8
  308. package/src/components/ContentCard/index.module.scss +11 -7
  309. package/src/components/ContentCard/index.tsx +1 -1
  310. package/src/components/FeatureLayout/index.module.css +1 -1
  311. package/src/components/Footer/index.tsx +2 -14
  312. package/src/components/Footer/styles.module.scss +5 -5
  313. package/src/components/ListCard/index.tsx +1 -1
  314. package/src/components/RandomMemberList/index.tsx +1 -1
  315. package/src/components/RsbuildLink/index.tsx +1 -1
  316. package/src/components/Sandpack/index.tsx +1 -1
  317. package/src/custom.scss +15 -0
  318. package/src/i18n/enUS.ts +2 -4
  319. package/src/i18n/index.ts +1 -1
  320. package/src/i18n/zhCN.ts +2 -4
  321. package/src/index.ts +2 -1
  322. package/src/pages/index.module.scss +59 -41
  323. package/src/pages/index.tsx +9 -24
  324. package/docs/en/apis/app/hooks/server/index_.mdx +0 -10
  325. package/docs/en/apis/app/hooks/src/index_.mdx +0 -38
  326. package/docs/en/apis/app/hooks/src/stories.mdx +0 -16
  327. package/docs/en/apis/app/runtime/app/define-config.mdx +0 -67
  328. package/docs/en/apis/app/runtime/core/bootstrap.mdx +0 -74
  329. package/docs/en/apis/app/runtime/core/create-app.mdx +0 -49
  330. package/docs/en/apis/app/runtime/core/use-loader.mdx +0 -89
  331. package/docs/en/apis/app/runtime/core/use-module-apps.mdx +0 -140
  332. package/docs/en/apis/app/runtime/core/use-runtime-context.mdx +0 -116
  333. package/docs/en/apis/app/runtime/model/Provider.mdx +0 -36
  334. package/docs/en/apis/app/runtime/model/auto-actions.mdx +0 -122
  335. package/docs/en/apis/app/runtime/model/connect.mdx +0 -146
  336. package/docs/en/apis/app/runtime/model/create-app.mdx +0 -75
  337. package/docs/en/apis/app/runtime/model/create-store.mdx +0 -61
  338. package/docs/en/apis/app/runtime/model/handle-effect.mdx +0 -107
  339. package/docs/en/apis/app/runtime/model/model_.mdx +0 -198
  340. package/docs/en/apis/app/runtime/model/use-local-model.mdx +0 -29
  341. package/docs/en/apis/app/runtime/model/use-model.mdx +0 -89
  342. package/docs/en/apis/app/runtime/model/use-static-model.mdx +0 -51
  343. package/docs/en/apis/app/runtime/model/use-store.mdx +0 -26
  344. package/docs/en/apis/app/runtime/ssr/pre-render.mdx +0 -96
  345. package/docs/en/apis/app/runtime/web-server/hook.mdx +0 -134
  346. package/docs/en/apis/app/runtime/web-server/middleware.mdx +0 -113
  347. package/docs/en/apis/app/runtime/web-server/unstable_middleware.mdx +0 -167
  348. package/docs/en/components/bff-proxy-path-rewrite.mdx +0 -16
  349. package/docs/en/components/bff-proxy-principle.mdx +0 -1
  350. package/docs/en/components/builder.mdx +0 -3
  351. package/docs/en/components/create-bff-api-app.mdx +0 -25
  352. package/docs/en/components/custom-router-micro-frontend.mdx +0 -40
  353. package/docs/en/components/enable-micro-frontend.mdx +0 -30
  354. package/docs/en/components/enableSwc.mdx +0 -17
  355. package/docs/en/components/global-proxy-config.mdx +0 -85
  356. package/docs/en/components/global-proxy.mdx +0 -29
  357. package/docs/en/components/package-manager.mdx +0 -11
  358. package/docs/en/components/reduck-notify.mdx +0 -27
  359. package/docs/en/components/reduck-tip.mdx +0 -8
  360. package/docs/en/configure/app/auto-load-plugin.mdx +0 -66
  361. package/docs/en/configure/app/deploy/microFrontend.mdx +0 -53
  362. package/docs/en/configure/app/dev/port.mdx +0 -25
  363. package/docs/en/configure/app/dev/proxy.mdx +0 -9
  364. package/docs/en/configure/app/experiments/lazy-compilation.mdx +0 -106
  365. package/docs/en/configure/app/html/disable-html-folder.mdx +0 -46
  366. package/docs/en/configure/app/html/favicon-by-entries.mdx +0 -36
  367. package/docs/en/configure/app/html/inject-by-entries.mdx +0 -36
  368. package/docs/en/configure/app/html/meta-by-entries.mdx +0 -48
  369. package/docs/en/configure/app/html/tags-by-entries.mdx +0 -44
  370. package/docs/en/configure/app/html/template-by-entries.mdx +0 -33
  371. package/docs/en/configure/app/html/template-parameters-by-entries.mdx +0 -35
  372. package/docs/en/configure/app/html/title-by-entries.mdx +0 -37
  373. package/docs/en/configure/app/output/css-module-local-ident-name.mdx +0 -21
  374. package/docs/en/configure/app/output/disable-css-extract.mdx +0 -16
  375. package/docs/en/configure/app/output/disable-filename-hash.mdx +0 -16
  376. package/docs/en/configure/app/output/disable-minimize.mdx +0 -14
  377. package/docs/en/configure/app/output/disable-node-polyfill.mdx +0 -22
  378. package/docs/en/configure/app/output/disable-source-map.mdx +0 -31
  379. package/docs/en/configure/app/output/enable-asset-fallback.mdx +0 -36
  380. package/docs/en/configure/app/output/enable-inline-scripts.mdx +0 -22
  381. package/docs/en/configure/app/output/enable-inline-styles.mdx +0 -22
  382. package/docs/en/configure/app/output/enable-latest-decorators.mdx +0 -14
  383. package/docs/en/configure/app/performance/transform-lodash.mdx +0 -52
  384. package/docs/en/configure/app/runtime/master-app.mdx +0 -36
  385. package/docs/en/configure/app/runtime/state.mdx +0 -52
  386. package/docs/en/configure/app/source/disable-entry-dirs.mdx +0 -38
  387. package/docs/en/configure/app/source/enable-custom-entry.mdx +0 -68
  388. package/docs/en/configure/app/source/module-scopes.mdx +0 -72
  389. package/docs/en/configure/app/source/resolve-extension-prefix.mdx +0 -55
  390. package/docs/en/configure/app/source/resolve-main-fields.mdx +0 -46
  391. package/docs/en/configure/app/tools/esbuild.mdx +0 -44
  392. package/docs/en/configure/app/tools/pug.mdx +0 -54
  393. package/docs/en/configure/app/tools/styled-components.mdx +0 -55
  394. package/docs/en/configure/app/tools/tailwindcss.mdx +0 -98
  395. package/docs/en/configure/app/tools/terser.mdx +0 -58
  396. package/docs/en/configure/app/tools/ts-loader.mdx +0 -76
  397. package/docs/en/configure/app/tools/webpack-chain.mdx +0 -249
  398. package/docs/en/configure/app/tools/webpack.mdx +0 -305
  399. package/docs/en/guides/deprecated.md +0 -17
  400. package/docs/en/guides/topic-detail/micro-frontend/c01-introduction.mdx +0 -27
  401. package/docs/en/guides/topic-detail/micro-frontend/c02-development.mdx +0 -290
  402. package/docs/en/guides/topic-detail/micro-frontend/c03-main-app.mdx +0 -298
  403. package/docs/en/guides/topic-detail/micro-frontend/c04-communicate.mdx +0 -58
  404. package/docs/en/guides/topic-detail/micro-frontend/c05-mixed-stack.mdx +0 -26
  405. package/docs/en/guides/topic-detail/model/_meta.json +0 -14
  406. package/docs/en/guides/topic-detail/model/auto-actions.mdx +0 -85
  407. package/docs/en/guides/topic-detail/model/computed-state.mdx +0 -148
  408. package/docs/en/guides/topic-detail/model/define-model.mdx +0 -62
  409. package/docs/en/guides/topic-detail/model/faq.mdx +0 -35
  410. package/docs/en/guides/topic-detail/model/manage-effects.mdx +0 -247
  411. package/docs/en/guides/topic-detail/model/model-communicate.mdx +0 -217
  412. package/docs/en/guides/topic-detail/model/performance.mdx +0 -167
  413. package/docs/en/guides/topic-detail/model/quick-start.mdx +0 -117
  414. package/docs/en/guides/topic-detail/model/redux-integration.mdx +0 -20
  415. package/docs/en/guides/topic-detail/model/typescript-best-practice.mdx +0 -68
  416. package/docs/en/guides/topic-detail/model/use-model.mdx +0 -243
  417. package/docs/en/guides/topic-detail/model/use-out-of-modernjs.mdx +0 -46
  418. package/docs/en/plugin/official/cli-plugins/plugin-swc.mdx +0 -363
  419. package/docs/en/plugin/official/cli-plugins/plugin-tailwind.mdx +0 -5
  420. package/docs/en/plugin/official/rsbuild-plugins/_meta.json +0 -1
  421. package/docs/en/plugin/official/rsbuild-plugins/plugin-esbuild.mdx +0 -205
  422. package/docs/en/plugin/official/rsbuild-plugins.mdx +0 -3
  423. package/docs/en/tutorials/first-app/c01-start.mdx +0 -99
  424. package/docs/en/tutorials/first-app/c02-component.mdx +0 -60
  425. package/docs/en/tutorials/first-app/c03-css.mdx +0 -324
  426. package/docs/en/tutorials/first-app/c04-routes.mdx +0 -172
  427. package/docs/en/tutorials/first-app/c05-loader.mdx +0 -87
  428. package/docs/en/tutorials/first-app/c06-model.mdx +0 -278
  429. package/docs/en/tutorials/first-app/c07-container.mdx +0 -281
  430. package/docs/en/tutorials/first-app/c08-entries.mdx +0 -135
  431. package/docs/zh/apis/app/hooks/server/index_.mdx +0 -10
  432. package/docs/zh/apis/app/hooks/src/index_.mdx +0 -39
  433. package/docs/zh/apis/app/hooks/src/stories.mdx +0 -16
  434. package/docs/zh/apis/app/runtime/app/define-config.mdx +0 -67
  435. package/docs/zh/apis/app/runtime/core/bootstrap.mdx +0 -74
  436. package/docs/zh/apis/app/runtime/core/create-app.mdx +0 -35
  437. package/docs/zh/apis/app/runtime/core/use-loader.mdx +0 -89
  438. package/docs/zh/apis/app/runtime/core/use-module-apps.mdx +0 -179
  439. package/docs/zh/apis/app/runtime/core/use-runtime-context.mdx +0 -116
  440. package/docs/zh/apis/app/runtime/model/Provider.mdx +0 -36
  441. package/docs/zh/apis/app/runtime/model/auto-actions.mdx +0 -122
  442. package/docs/zh/apis/app/runtime/model/connect.mdx +0 -143
  443. package/docs/zh/apis/app/runtime/model/create-app.mdx +0 -75
  444. package/docs/zh/apis/app/runtime/model/create-store.mdx +0 -61
  445. package/docs/zh/apis/app/runtime/model/handle-effect.mdx +0 -108
  446. package/docs/zh/apis/app/runtime/model/model_.mdx +0 -201
  447. package/docs/zh/apis/app/runtime/model/use-local-model.mdx +0 -29
  448. package/docs/zh/apis/app/runtime/model/use-model.mdx +0 -89
  449. package/docs/zh/apis/app/runtime/model/use-static-model.mdx +0 -49
  450. package/docs/zh/apis/app/runtime/model/use-store.mdx +0 -26
  451. package/docs/zh/apis/app/runtime/ssr/pre-render.mdx +0 -96
  452. package/docs/zh/apis/app/runtime/web-server/hook.mdx +0 -136
  453. package/docs/zh/apis/app/runtime/web-server/middleware.mdx +0 -114
  454. package/docs/zh/apis/app/runtime/web-server/unstable_middleware.mdx +0 -165
  455. package/docs/zh/components/bff-proxy-path-rewrite.mdx +0 -16
  456. package/docs/zh/components/bff-proxy-principle.mdx +0 -1
  457. package/docs/zh/components/builder.mdx +0 -3
  458. package/docs/zh/components/create-bff-api-app.mdx +0 -25
  459. package/docs/zh/components/custom-router-micro-frontend.mdx +0 -40
  460. package/docs/zh/components/enable-micro-frontend.mdx +0 -30
  461. package/docs/zh/components/enableSwc.mdx +0 -17
  462. package/docs/zh/components/global-proxy-config.mdx +0 -85
  463. package/docs/zh/components/global-proxy.mdx +0 -29
  464. package/docs/zh/components/package-manager.mdx +0 -11
  465. package/docs/zh/components/reduck-notify.mdx +0 -27
  466. package/docs/zh/components/reduck-tip.mdx +0 -8
  467. package/docs/zh/configure/app/auto-load-plugin.mdx +0 -66
  468. package/docs/zh/configure/app/deploy/microFrontend.mdx +0 -55
  469. package/docs/zh/configure/app/dev/port.mdx +0 -25
  470. package/docs/zh/configure/app/dev/proxy.mdx +0 -9
  471. package/docs/zh/configure/app/experiments/lazy-compilation.mdx +0 -105
  472. package/docs/zh/configure/app/html/disable-html-folder.mdx +0 -45
  473. package/docs/zh/configure/app/html/favicon-by-entries.mdx +0 -37
  474. package/docs/zh/configure/app/html/inject-by-entries.mdx +0 -37
  475. package/docs/zh/configure/app/html/meta-by-entries.mdx +0 -48
  476. package/docs/zh/configure/app/html/tags-by-entries.mdx +0 -44
  477. package/docs/zh/configure/app/html/template-by-entries.mdx +0 -33
  478. package/docs/zh/configure/app/html/template-parameters-by-entries.mdx +0 -36
  479. package/docs/zh/configure/app/html/title-by-entries.mdx +0 -37
  480. package/docs/zh/configure/app/output/css-module-local-ident-name.mdx +0 -21
  481. package/docs/zh/configure/app/output/disable-css-extract.mdx +0 -16
  482. package/docs/zh/configure/app/output/disable-filename-hash.mdx +0 -16
  483. package/docs/zh/configure/app/output/disable-minimize.mdx +0 -14
  484. package/docs/zh/configure/app/output/disable-node-polyfill.mdx +0 -22
  485. package/docs/zh/configure/app/output/disable-source-map.mdx +0 -31
  486. package/docs/zh/configure/app/output/enable-asset-fallback.mdx +0 -36
  487. package/docs/zh/configure/app/output/enable-inline-scripts.mdx +0 -22
  488. package/docs/zh/configure/app/output/enable-inline-styles.mdx +0 -22
  489. package/docs/zh/configure/app/output/enable-latest-decorators.mdx +0 -14
  490. package/docs/zh/configure/app/performance/transform-lodash.mdx +0 -52
  491. package/docs/zh/configure/app/runtime/master-app.mdx +0 -38
  492. package/docs/zh/configure/app/runtime/state.mdx +0 -52
  493. package/docs/zh/configure/app/source/disable-entry-dirs.mdx +0 -38
  494. package/docs/zh/configure/app/source/enable-custom-entry.mdx +0 -67
  495. package/docs/zh/configure/app/source/module-scopes.mdx +0 -72
  496. package/docs/zh/configure/app/source/resolve-extension-prefix.mdx +0 -57
  497. package/docs/zh/configure/app/source/resolve-main-fields.mdx +0 -46
  498. package/docs/zh/configure/app/tools/esbuild.mdx +0 -44
  499. package/docs/zh/configure/app/tools/pug.mdx +0 -54
  500. package/docs/zh/configure/app/tools/styled-components.mdx +0 -54
  501. package/docs/zh/configure/app/tools/tailwindcss.mdx +0 -98
  502. package/docs/zh/configure/app/tools/terser.mdx +0 -58
  503. package/docs/zh/configure/app/tools/ts-loader.mdx +0 -76
  504. package/docs/zh/configure/app/tools/webpack-chain.mdx +0 -253
  505. package/docs/zh/configure/app/tools/webpack.mdx +0 -305
  506. package/docs/zh/guides/advanced-features/rspack-start.mdx +0 -154
  507. package/docs/zh/guides/deprecated.md +0 -19
  508. package/docs/zh/guides/topic-detail/micro-frontend/c01-introduction.mdx +0 -26
  509. package/docs/zh/guides/topic-detail/micro-frontend/c02-development.mdx +0 -332
  510. package/docs/zh/guides/topic-detail/micro-frontend/c03-main-app.mdx +0 -296
  511. package/docs/zh/guides/topic-detail/micro-frontend/c04-communicate.mdx +0 -58
  512. package/docs/zh/guides/topic-detail/micro-frontend/c05-mixed-stack.mdx +0 -27
  513. package/docs/zh/guides/topic-detail/model/_meta.json +0 -14
  514. package/docs/zh/guides/topic-detail/model/auto-actions.mdx +0 -88
  515. package/docs/zh/guides/topic-detail/model/computed-state.mdx +0 -147
  516. package/docs/zh/guides/topic-detail/model/define-model.mdx +0 -63
  517. package/docs/zh/guides/topic-detail/model/faq.mdx +0 -36
  518. package/docs/zh/guides/topic-detail/model/manage-effects.mdx +0 -256
  519. package/docs/zh/guides/topic-detail/model/model-communicate.mdx +0 -217
  520. package/docs/zh/guides/topic-detail/model/performance.mdx +0 -167
  521. package/docs/zh/guides/topic-detail/model/quick-start.mdx +0 -117
  522. package/docs/zh/guides/topic-detail/model/redux-integration.mdx +0 -20
  523. package/docs/zh/guides/topic-detail/model/typescript-best-practice.mdx +0 -67
  524. package/docs/zh/guides/topic-detail/model/use-model.mdx +0 -248
  525. package/docs/zh/guides/topic-detail/model/use-out-of-modernjs.mdx +0 -46
  526. package/docs/zh/plugin/official/cli-plugins/plugin-swc.mdx +0 -351
  527. package/docs/zh/plugin/official/cli-plugins/plugin-tailwind.mdx +0 -5
  528. package/docs/zh/plugin/official/rsbuild-plugins/_meta.json +0 -1
  529. package/docs/zh/plugin/official/rsbuild-plugins/plugin-esbuild.mdx +0 -201
  530. package/docs/zh/plugin/official/rsbuild-plugins.mdx +0 -3
  531. package/docs/zh/tutorials/first-app/c01-start.mdx +0 -99
  532. package/docs/zh/tutorials/first-app/c02-component.mdx +0 -60
  533. package/docs/zh/tutorials/first-app/c03-css.mdx +0 -323
  534. package/docs/zh/tutorials/first-app/c04-routes.mdx +0 -172
  535. package/docs/zh/tutorials/first-app/c05-loader.mdx +0 -89
  536. package/docs/zh/tutorials/first-app/c06-model.mdx +0 -274
  537. package/docs/zh/tutorials/first-app/c07-container.mdx +0 -281
  538. package/docs/zh/tutorials/first-app/c08-entries.mdx +0 -135
  539. /package/docs/en/components/{reduck-migration.mdx → auto-upgrade.mdx} +0 -0
  540. /package/docs/{zh/components/reduck-migration.mdx → en/components/international/platform-support.mdx} +0 -0
@@ -4,19 +4,19 @@ sidebar_position: 1
4
4
 
5
5
  # Page Entry
6
6
 
7
- In this chapter, you will learn about the entry convention in Modern.js and how to customize it.
7
+ Through this chapter, you can understand the entry conventions in Modern.js and how to customize entries.
8
8
 
9
- ## What is Entry?
9
+ ## What is Entry
10
10
 
11
11
  **Entry refers to the starting module of a page.**
12
12
 
13
- In a Modern.js project, each entry corresponds to an independent page and a server-side route. By default, Modern.js automatically determines the entry of a page based on directory conventions, but also supports customizing the entry through configuration options.
13
+ In a Modern.js application, each entry corresponds to an independent page and a server-side route. By default, Modern.js automatically determines page entries based on directory conventions, and also supports customizing entries through configuration options.
14
14
 
15
- Many configuration options provided by Modern.js are divided by entry, such as page title, HTML template, page meta information, whether to enable SSR/SSG, server-side routing rules, etc. If you want to learn more about the technical details of entries, please refer to the [In-Depth](#in-depth) section.
15
+ Many configuration options provided by Modern.js are divided by entry, such as page title, HTML template, page meta information, whether to enable SSR/SSG, server-side routing rules, etc. If you want to learn more about the technical details of entries, please refer to the [In-Depth](#in-depth) chapter.
16
16
 
17
17
  ## Single Entry and Multiple Entries
18
18
 
19
- The project initialized by Modern.js is a single entry project, with the following structure:
19
+ The application initialized by Modern.js is a single-entry application with the following structure:
20
20
 
21
21
  ```
22
22
  .
@@ -30,95 +30,125 @@ The project initialized by Modern.js is a single entry project, with the followi
30
30
  └── tsconfig.json
31
31
  ```
32
32
 
33
- In a Modern.js project, you can easily switch from single entry to multiple entries by running `pnpm run new` in the project directory and creating an entry:
33
+ In a Modern.js application, you can easily switch from single entry to multiple entries. To manually create multiple entries, follow these steps:
34
34
 
35
- ```text
36
- ? Please select the operation you want: Create Element
37
- ? Please select the type of element to create: New "entry"
38
- ? Please fill in the entry name: new-entry
35
+ import NewEntryTooltip from '@site-docs-en/components/new-entry-tooltip.mdx';
36
+
37
+ <NewEntryTooltip />
38
+
39
+ 1. **Move the original entry code to a directory named after the `name` field in `package.json`**
40
+
41
+ Assuming the `name` in `package.json` is `myapp`, you need to move the `src/routes/` directory to `src/myapp/routes/`:
42
+
43
+ ```bash
44
+ # Create new directory
45
+ mkdir -p src/myapp
46
+ # Move original entry code
47
+ mv src/routes src/myapp/routes
48
+ ```
49
+
50
+ 2. **Create a new entry directory**
51
+
52
+ Create a new entry directory, for example `new-entry`:
53
+
54
+ ```bash
55
+ # Create new entry directory
56
+ mkdir -p src/new-entry/routes
57
+ ```
58
+
59
+ 3. **Create necessary files in the new entry directory**
60
+
61
+ Create basic files in the `routes/` directory of the new entry:
62
+
63
+ ```bash
64
+ # Create basic files (adjust content as needed)
65
+ touch src/new-entry/routes/index.css
66
+ touch src/new-entry/routes/layout.tsx
67
+ touch src/new-entry/routes/page.tsx
39
68
  ```
40
69
 
41
- After running the command, Modern.js will automatically generate a new entry directory. At this point, you can see that the `src/` directory has the following structure:
70
+ After completing the above steps, the `src/` directory structure will be as follows:
42
71
 
43
72
  ```bash
44
73
  .
45
- ├── myapp # Original entry
74
+ ├── myapp # Original entry
46
75
  │ └── routes
47
76
  │ ├── index.css
48
77
  │ ├── layout.tsx
49
78
  │ └── page.tsx
50
- └── new-entry # New entry
79
+ └── new-entry # New entry
51
80
  └── routes
52
81
  ├── index.css
53
82
  ├── layout.tsx
54
83
  └── page.tsx
55
84
  ```
56
85
 
57
- The original entry code has been moved to a directory with the same name as the `name` field in `package.json`, and a `new-entry` entry directory has been created.
58
-
59
- Modern.js will use the entry with the same name as the `name` field in `package.json` as the main entry. The route of the main entry is `/`, and the route of other entries is `/{entryName}`.
86
+ Modern.js will use the entry with the same name as the `name` field in `package.json` as the main entry. The route of the main entry is `/`, and the route of other entries is `/{entryName}`. For example, when the `name` in `package.json` is `myapp`, `src/myapp` will be the main entry of the application.
60
87
 
61
- You can run `pnpm run dev` to start the development server. At this point, you will see a new route named `/new-entry` added, and the existing page routes remain unchanged.
88
+ You can execute `pnpm run dev` to start the development server. At this time, you can see that a new route named `/new-entry` has been added, and the routes of the original pages have not changed.
62
89
 
63
90
  :::note
64
- The concepts of **single entry/multiple entry** and **SPA/MPA** are not equivalent. The former pertains to how to configure and package the application, while the latter is about the patterns for organizing front-end applications. Each entry point can be either an SPA or a non-SPA.
91
+ The concepts of **single entry/multiple entry** and **SPA/MPA** are not equivalent. The former is about how to configure and package the application, while the latter is a pattern for organizing front-end applications. Each entry can be SPA or non-SPA.
65
92
  :::
66
93
 
67
94
  ## Entry Types
68
95
 
69
- Different entry types have different compilation and runtime behaviors.
96
+ Modern.js supports three entry types, each with different use cases and characteristics. Choosing the appropriate entry type can help you better organize your code.
70
97
 
71
- import EntryMode from '@site-docs-en/components/entry-mode.mdx';
98
+ ### How to Identify Entries
72
99
 
73
- <EntryMode />
74
-
75
- By default, Modern.js scans the files under `src/` before starting the project, identifies the entry, and generates the corresponding server-side route.
76
-
77
- :::tip
100
+ Modern.js automatically scans directories to identify entries that meet the criteria. A directory is recognized as an entry if it meets **one of the following three conditions**:
78
101
 
79
- - You can customize the recognition directory for page entries by using [source.entriesDir](/configure/app/source/entries-dir).
80
- - If you need to customize the entry points, please refer to [Custom Entries](#custom-entries).
102
+ 1. **Has a `routes/` directory** Convention routing entry
103
+ 2. **Has an `App.[jt]sx?` file** Self-controlled routing entry
104
+ 3. **Has an `entry.[jt]sx?` file** → Custom entry
81
105
 
82
- :::
83
-
84
- The entry directory must meet one of the following three conditions:
106
+ import EntryScanLogic from '@site-docs/components/entry-scan-logic.mdx';
85
107
 
86
- 1. Has a `routes/` directory.
87
- 2. Has an `App.[jt]sx?` file.
88
- 5. Has an `entry.[jt]sx?` file.(Requires [source.enableCustomEntry](/configure/app/source/enable-custom-entry) to be enabled)
108
+ <EntryScanLogic />
89
109
 
90
- When the `src/` directory meets the conditions of an entry, Modern.js will consider the current application to be a single-entry application. Otherwise, Modern.js will scan the first-level directories under `src/` and further determine if they are entries. In this case, the application is typically a multi-entry application.
91
-
92
- :::tip
93
- In a single entry application, the default entry name is `main`.
110
+ :::tip Custom scanning directory
111
+ You can modify the directory for identifying entries through [source.entriesDir](/configure/app/source/entries-dir).
94
112
 
95
113
  :::
96
114
 
97
- ### Framework Mode Entry
115
+ import EntryMode from '@site-docs/components/entry-mode.mdx';
98
116
 
99
- Framework mode refers to using Modern.js's framework capabilities, such as convention routing, SSR (Server-Side Rendering), and integrated calls. Under this type of entry convention, the entries in the application are not the actual compilation entries. Modern.js will generate a wrapped entry during startup, which you can find in `node_modules/.modern/[entryName]/index.js`.
117
+ <EntryMode />
118
+
119
+ Next, we will introduce the usage of each entry type in detail.
100
120
 
101
- #### Conventional Routing
121
+ ### Convention Routing
102
122
 
103
- If there is a `routes/` directory within the entry, we refer to this entry as a convention-based route. Modern.js will scan the files under `routes/` during startup and automatically generate client-side routes (react-router) based on file conventions. For example:
123
+ If there is a `routes/` directory in the entry, we call this entry a convention routing entry. Modern.js will scan the files under `routes/` during startup and automatically generate client-side routes (react-router) based on file conventions. For example:
104
124
 
105
125
  ```bash
106
- .
107
- ├── src
108
- │ └── routes
109
- ├── layout.tsx
110
- │ └── page.tsx
126
+ src/
127
+ └── routes/
128
+ ├── layout.tsx # Layout component (optional)
129
+ ├── page.tsx # Homepage component (/ route)
130
+ ├── about/
131
+ │ └── page.tsx # About page (/about route)
132
+ └── blog/
133
+ ├── page.tsx # Blog list page (/blog route)
134
+ └── [id]/
135
+ └── page.tsx # Blog detail page (/blog/:id route)
111
136
  ```
112
137
 
113
- In the above directory, the component exported in `layout.tsx` will be the outermost component, and the component exported in `page.tsx` will be the component of the `/` route.
138
+ Component correspondence
114
139
 
115
- For more information, please refer to [Conventional Routing](/guides/basic-features/routes.html#conventional-routing).
140
+ | File | Route | Description |
141
+ | --------------------------- | ------------- | ----------------------------- |
142
+ | `routes/layout.tsx` | Global layout | Outer container for all pages |
143
+ | `routes/page.tsx` | `/` | Homepage |
144
+ | `routes/about/page.tsx` | `/about` | About page |
145
+ | `routes/blog/[id]/page.tsx` | `/blog/:id` | Dynamic route page |
116
146
 
117
- #### Self-controlled Routing
147
+ For more details, please refer to [Routing Solution](/guides/basic-features/routes/routes#convention-routing).
118
148
 
119
- ## Manual Routing
149
+ ### Self-controlled Routing
120
150
 
121
- If there is an `App.[jt]sx?` file within the entry, we refer to this entry as a self-controlled route. For example:
151
+ If there is an `App.[jt]sx?` file in the entry, this entry is a self-controlled routing entry. This method gives developers complete routing control.
122
152
 
123
153
  ```bash
124
154
  .
@@ -126,11 +156,9 @@ If there is an `App.[jt]sx?` file within the entry, we refer to this entry as a
126
156
  │ └── App.tsx
127
157
  ```
128
158
 
129
- For entry points defined as `src/App.tsx`, Modern.js does not perform any additional routing operations. Developers can use the [React Router 6](https://reactrouter.com/en/main) API for development, define client-side routes or not to set any client-side routes.
159
+ For the entry defined as `src/App.tsx`, Modern.js does not perform additional routing operations. Developers can use the [React Router v7](https://reactrouter.com/en/main) API to set up client-side routes, or not set up client-side routes. For example, the following code sets up client-side routes in the application:
130
160
 
131
- for example, define client-side routes in application:
132
-
133
- ```tsx
161
+ ```tsx title="src/App.tsx"
134
162
  import { BrowserRouter, Route, Routes } from '@modern-js/runtime/router';
135
163
 
136
164
  export default () => {
@@ -146,32 +174,32 @@ export default () => {
146
174
  ```
147
175
 
148
176
  :::note
149
- We recommend that developers use conventional routing. Modern.js provides a series of optimizations in resource loading and rendering for conventional routing by default and offers built-in SSR capabilities. When using manual routing, these capabilities need to be encapsulated by developers themselves.
177
+ We recommend developers use convention routing. Modern.js provides a series of optimizations in resource loading and rendering for convention routing by default and offers built-in SSR capabilities. When using self-controlled routing, these capabilities need to be encapsulated by developers themselves.
150
178
  :::
151
179
 
180
+ ### Custom Entry
152
181
 
153
- #### Custom Entry
182
+ By default, when using convention routing or self-controlled routing, Modern.js will automatically handle rendering. If you want to customize this behavior, you can implement it through a custom entry file.
154
183
 
155
- :::info
156
- Using this features requires enabling [source.enableCustomEntry](/configure/app/source/enable-custom-entry).
157
- :::
184
+ :::tip
185
+ Custom entries can coexist with convention routing and self-controlled routing entries, customizing the application initialization logic.
158
186
 
159
- By default, whether you use convention routing or self-controlled routing, Modern.js will automatically handle rendering. If you wish to customize this behavior, you can creating a custom entry file.
187
+ :::
160
188
 
161
- If there is an `entry.[jt]sx` file within the entry, Modern.js will no longer control the application's rendering process. You can call the `createRoot` and `render` functions within the `entry.[jt]sx` file to complete the entry logic for your application.
189
+ If there is an `entry.[jt]sx` file in the entry, Modern.js will no longer control the application's rendering process. You can call the `createRoot` and `render` functions in the `entry.[jt]sx` file to complete the application entry logic.
162
190
 
163
- ```tsx
191
+ ```tsx title="src/entry.tsx"
164
192
  import { createRoot } from '@modern-js/runtime/react';
165
193
  import { render } from '@modern-js/runtime/browser';
166
194
 
195
+ // Create root component
167
196
  const ModernRoot = createRoot();
168
197
 
198
+ // Render to DOM
169
199
  render(<ModernRoot />);
170
200
  ```
171
201
 
172
- In the code above, the component returned by the `createRoot` function is either the component generated from the `routes/` directory or the component exported by `App.tsx`.
173
-
174
- The `render` function is used to handle rendering and mounting of the component. For example, if you want to execute some asynchronous tasks before rendering, you can achieve it like this:
202
+ In the code above, the component returned by the `createRoot` function is the component generated from the `routes/` directory or exported by `App.tsx`. The `render` function is used to handle rendering and mounting components. For example, if you want to execute some asynchronous tasks before rendering, you can implement it like this:
175
203
 
176
204
  ```tsx
177
205
  import { createRoot } from '@modern-js/runtime/react';
@@ -188,35 +216,33 @@ beforeRender().then(() => {
188
216
  });
189
217
  ```
190
218
 
191
- ### Build Mode Entry
192
-
193
- :::info
194
- Using this features requires enabling [source.enableCustomEntry](/configure/app/source/enable-custom-entry).
195
- :::
196
-
197
- Build mode refers to the development mode that does not use Modern.js's runtime capabilities and only utilizes Modern.js's build capabilities. When the `@modern-js/runtime` dependency is not installed in the application, Modern.js will treat all entries as build mode entries.
198
-
199
- In this case, if there is an `entry.[jt]sx` file within the entry, this file will be recognized as the build entry for webpack or Rspack. Modern.js will not automatically generate entry code at this time, and you need to mount the component to the DOM node yourself. For example:
219
+ If you don't want to use any of Modern.js's runtime capabilities, you can also mount the component to the DOM node yourself, for example:
200
220
 
201
221
  ```js title=src/entry.tsx
202
222
  import React from 'react';
203
- import ReactDOM from 'react-dom';
223
+ import { createRoot } from 'react-dom/client';
204
224
  import App from './App';
205
225
 
206
- ReactDOM.render(<App />, document.getElementById('root'));
226
+ const container = document.getElementById('root');
227
+
228
+ if (container) {
229
+ const root = createRoot(container);
230
+ root.render(<App />);
231
+ }
207
232
  ```
208
233
 
209
- In build mode, the application **will not be able to use Modern.js's runtime capabilities**, such as:
210
- - Convention routing, the routing based on the files under `src/routes`
211
- - Server-Side Rendering (SSR)
212
- - The `runtime` configuration in the `modern.config.js` file will no longer take effect
234
+ In this mode, **you will not be able to use Modern.js framework's runtime capabilities**, such as:
213
235
 
236
+ - Convention routing, i.e., routing based on files under `src/routes`
237
+ - Server-Side Rendering (SSR)
238
+ - Internationalization (i18n)
239
+ - Module Federation
214
240
 
215
- ## Specify entry in the configuration file
241
+ ## Specifying Entries in Configuration File
216
242
 
217
243
  In some cases, you may need to customize the entry configuration instead of using the entry conventions provided by Modern.js.
218
244
 
219
- For example, if you want to migrate a non-Modern.js project to Modern.js and it is not structured according to Modern.js directory structure, there might be some migration costs involved in changing it to the conventional structure. In such cases, you can custom the entries.
245
+ For example, if you need to migrate a non-Modern.js application to Modern.js, and it is not structured according to Modern.js's directory structure, there might be some migration costs involved in changing it to the conventional structure. In such cases, you can use custom entries.
220
246
 
221
247
  Modern.js provides the following configuration options that you can set in [modern.config.ts](/configure/app/usage):
222
248
 
@@ -225,7 +251,7 @@ Modern.js provides the following configuration options that you can set in [mode
225
251
 
226
252
  ### Example
227
253
 
228
- Here is an example of a custom entry point. You can also refer to the documentation of the corresponding configuration options for more usage.
254
+ Here is an example of a custom entry. You can also refer to the documentation of the corresponding configuration options for more usage.
229
255
 
230
256
  ```ts title="modern.config.ts"
231
257
  export default defineConfig({
@@ -245,89 +271,55 @@ export default defineConfig({
245
271
  });
246
272
  ```
247
273
 
248
- It is worth noting that, by default, Modern.js considers entries specified through the configuration as **framework mode entries** and will automatically generate the actual compilation entry.
249
-
250
- If your application is migrating from build tools like Webpack or Vite to the Modern.js framework, you typically need to enable the `disableMount` option in the entry configuration. In this case, Modern.js will treat the entry as a **build mode entry**.
251
-
252
274
  ## In-Depth
253
275
 
254
- The concept of page entry is derived from the concept of [Entrypoint](https://webpack.js.org/concepts/entry-points/) in webpack. It is mainly used to configure the JavaScript or any other modules to be executed during the application startup. Webpack usually corresponds each entry to an HTML file in the output. The modules imported by the entry will be bundled and split into multiple chunks in the output. For a JavaScript module, it might be compiled into several chunks like `dist/static/js/index.ea39u8.js`.
255
-
256
- Here's a summary of the differences between the concepts of entry and route:
257
-
258
- - **Entry**:Contains multiple modules to be executed during application startup.
259
- - **Client Router**:In Modern.js, it is usually implemented by `react-router`, determining which React component to load and render based on the browser's current URL using the History API.
260
- - **Server Router**:The server can mimic the behavior of [devServer](https://webpack.js.org/configuration/dev-server/#devserverhistoryapifallback), replacing all 404 responses with the index.html page to implement client-side routing, or implement any routing logic as needed.
261
-
262
- Their relationships are as follows:
263
-
264
- - Each webpack website project can contain multiple entries.
265
- - Each entry contains several modules (source files).
266
- - Each entry usually corresponds to an HTML file in the output.
267
- - Each HTML file can contain multiple client-side routing solutions (for example, using `react-router` and `@tanstack/react-router` in the same page).
268
- - Each HTML file can be mapped to multiple server-side routes.
269
- - Each HTML file can contain multiple client-side routing solutions, and when accessing different routes of a single-entry application, the same HTML file is actually used.
270
-
271
- ## Troubleshooting
272
-
273
- 1. **Does each `react-router` defined client route generate a separate HTML file?**
274
-
275
- No. Each entry usually only generates one HTML file, and if a single entry contains multiple client routing systems, it will share the same HTML file.
276
+ The concept of page entry is derived from the concept of [Entrypoint](https://webpack.js.org/concepts/entry-points/) in webpack. It is mainly used to configure JavaScript or other modules to be executed during application startup. webpack's [best practice](https://webpack.docschina.org/concepts/entry-points/#multi-page-application) for web applications usually corresponds entries to HTML output files, meaning each additional entry will eventually generate a corresponding HTML file in the output. The modules imported by the entry will be compiled and packaged into multiple Chunk outputs. For example, JavaScript modules may ultimately generate several file outputs similar to `dist/static/js/index.ea39u8.js`.
276
277
 
277
- 2. **Does the convention routing project in the `routes/` directory generate multiple HTML files?**
278
+ It's important to distinguish the relationships between concepts such as entry and route:
278
279
 
279
- No. Modern.js will scan the `routes/` directory during startup and automatically generate client-side routes based on the file conventions. The HTML file generated corresponds to the `routes/` directory.
280
+ - **Entry**: Contains multiple modules used for startup execution.
281
+ - **Client Router**: In Modern.js, it is usually implemented by `react-router`, using the History API to determine which React component to load and display based on the browser's current URL.
282
+ - **Server Router**: The server can mimic [devServer behavior](https://webpack.docschina.org/configuration/dev-server/#devserverhistoryapifallback), returning the index.html page instead of all 404 responses to implement client-side routing, or it can implement any routing logic as needed.
280
283
 
281
- 3. **Does the Server Side Rendering (SSR) project generate multiple HTML files in the output?**
284
+ Their corresponding relationships are as follows:
282
285
 
283
- A Server Side Rendering (SSR) project does not necessarily need to generate an HTML file in the output. It can only include the server-side JavaScript output. At this point, the `react-router` routing will be executed on the server side, and the HTML content will be rendered and responded while a request is triggered.
286
+ - Each website project can contain multiple entries
287
+ - Each entry contains several modules (source code files)
288
+ - Each entry usually corresponds to one HTML file output and several other outputs
289
+ - Each HTML file can contain multiple client-side routing solutions (for example, using both `react-router` and `@tanstack/react-router` in the same page)
290
+ - Each HTML file can be mapped to multiple server-side routes
291
+ - Each HTML file can contain multiple client-side routing solutions, and when accessing different routes of a single-entry application, the same HTML file is actually used
284
292
 
285
- At the same time, Modern.js will also generate a complete client-side HTML file for each entry in the output, which can be used to fallback to client-side rendering when the SSR fails.
293
+ ## Common Issues
286
294
 
287
- Another special case is a Single Entry Static Site Generation (SSG) project, even if it is built with a convention routing, Modern.js will also generate an HTML file for each `page.tsx` file.
295
+ 1. **Does each client route defined by `react-router` generate a separate HTML file?**
288
296
 
289
- Note that even if SSR is used, React still needs to go through the hydration phase, so the routing defined by `react-router` will still be executed on the client side.
297
+ No. Each entry usually only generates one HTML file. If multiple client routing systems are defined in a single entry, they will share this one HTML file.
290
298
 
291
- 4. **What are the exceptions to generating multiple HTML files?**
299
+ 2. **Does each `page.tsx` file in the `routes/` directory of convention routing generate an HTML file?**
292
300
 
293
- You can configure [html-rspack-plugin](https://rspack.rs/plugins/rspack/html-rspack-plugin#generate-multiple-html-files) to generate multiple HTML files for each entry, or let multiple entries share the same HTML file.
301
+ No. Convention routing is a client-side routing solution implemented based on `react-router`. Its convention is that each `page.tsx` file under the `routes/` directory corresponds to a client-side route of `react-router`. `routes/` itself serves as a page entry, corresponding to one HTML file in the final output.
294
302
 
295
- 5. **What is a Multi-Page Application (MPA)?**
303
+ 3. **Do Server-Side Rendering (SSR) projects build multiple HTML outputs?**
296
304
 
297
- The "page" in a Multi-Page Application (MPA) refers to a static HTML file.
305
+ When using server-side rendering applications, it is not necessary to generate an HTML output at build time. It can only include server-side JavaScript output for rendering. At this time, `react-router` will run and schedule routes on the server side, rendering and responding with HTML content on each request.
298
306
 
299
- Generally, any application that outputs multiple entries and multiple HTML files can be called a Multi-Page Application.
307
+ However, Modern.js will still generate a complete client-side output containing HTML files for each entry at build time, which can be used to downgrade to client-side rendering when server-side rendering fails.
300
308
 
301
- Narrowly speaking, a Multi-Page Application does not contain client-side routing, and navigation between pages is usually achieved through elements like `<a>` tags. But in practice, Multi-Page Applications also often need to configure client-side routing to meet different needs.
309
+ Another special case is a project using Static Site Generation (SSG). Even if it is a single-entry SSG application built with convention routing, Modern.js will generate a separate HTML file for each `page.tsx` file outside the Rspack process.
302
310
 
303
- Conversely, a application with `react-router` defined routes that generates only one HTML file is called a Single-Page Application (SPA).
311
+ It should be noted that even when server-side rendering is enabled, React usually still needs to execute the hydration phase and run `react-router` routing on the frontend.
304
312
 
305
- ## Deprecated
313
+ 4. **Are there exceptions where single-entry applications output multiple HTML files?**
306
314
 
307
- Currently, if the entry directory meets the following conditions, it will also be considered an application entry:
315
+ You can configure [html-rspack-plugin](https://rspack.rs/zh/plugins/rspack/html-rspack-plugin#%E7%94%9F%E6%88%90%E5%A4%9A%E4%B8%AA-html-%E6%96%87%E4%BB%B6) to generate multiple HTML outputs for each entry, or have multiple entries share one HTML output.
308
316
 
309
- 1. Has an `index.[jt]sx?` file.
310
- 2. Has a `pages/` directory.
317
+ 5. **What is a Multi-Page Application (Multi-Page Application)?**
311
318
 
312
- The `pages/` directory was the convention routing in older versions of Modern.js. Now, it is recommended to use the `routes/` directory.
319
+ The "page" in a Multi-Page Application refers to a static HTML file.
313
320
 
314
- The `index.[jt]sx?` file supported **Custom Bootstrap** and **Build Mode Entry** in older versions. Now, it is recommended to use `entry.[jt]sx?` instead.
315
-
316
- ### Custom Bootstrap
317
-
318
- When there is an `index.[jt]sx` file in the entry, and the file's default export is a function, Modern.js will pass the default `bootstrap` function as an argument and use the exported function to replace the default `bootstrap`.
319
-
320
- This allows developers to customize mounting components to DOM or add custom behaviors before mounting. For example:
321
-
322
- ```tsx
323
- export default (App: React.ComponentType, bootstrap: () => void) => {
324
- // do something before bootstrap...
325
- initSomething().then(() => {
326
- bootstrap();
327
- });
328
- };
329
- ```
321
+ Generally, any web application that contains multiple entries and multiple HTML file outputs can be called a multi-page application.
330
322
 
331
- ### Build Mode Entry
323
+ In a narrow sense, a multi-page application may not contain client-side routing and only navigates between static HTML pages through elements like `<a>` tags. However, in practice, multi-page applications often need to configure client-side routing for their entries to meet different needs.
332
324
 
333
- When an `index.[jt]sx` file exists in the entry directory and does not export a function via export default, this entry will also be considered a build mode entry.
325
+ Conversely, a single-entry application that defines multiple routes through `react-router` is called a Single Page Application because it only generates one HTML file output.
@@ -16,30 +16,12 @@ import Bundler from '@site-docs-en/components/bundler.mdx';
16
16
 
17
17
  <Bundler />
18
18
 
19
- ## Builder
20
-
21
- import Builder from '@site-docs-en/components/builder.mdx';
22
-
23
- <Builder />
24
-
25
19
  ## CSR
26
20
 
27
21
  CSR stands for "Client-Side Rendering". It means that the page is rendered in the browser using JavaScript, and logic such as data fetching, templates, and routing is completed on the client side rather than the server.
28
22
 
29
23
  In CSR, the server sends an empty HTML shell and some JavaScript scripts to the browser, and the browser fetching data from the server's API and renders dynamic content to the page.
30
24
 
31
- ## Garfish
32
-
33
- [Garfish](https://garfishjs.org/) is a micro-frontend solution mainly used to solve problems such as cross-team collaboration and diversified technology systems in web applications.
34
-
35
- Starting from the architecture level, it combines multiple independently delivered frontend applications into a whole. These frontend applications can be developed, tested, and deployed independently, but in the user's perspective, they are still cohesive single products.
36
-
37
- ## Micro-frontend
38
-
39
- import MicroFrontend from '@site-docs-en/components/micro-frontend.mdx';
40
-
41
- <MicroFrontend />
42
-
43
25
  ## Module Federation
44
26
 
45
27
  import ModuleFederation from '@site-docs-en/components/module-federation.mdx';
@@ -13,7 +13,7 @@ In the process of developing React applications, developers usually need to desi
13
13
 
14
14
  It mainly includes the following features:
15
15
 
16
- - 🚀 **Rust Bundler**: Provides support for dual bundlers, easily switch to the Rspack for faster build speed.
16
+ - 🚀 **Rust Bundler**: Provides support for dual bundlers, easily switch to the Rsbuild/Rspack for faster build speed.
17
17
  - 🪜 **Progressive**: Create projects with the most streamlined templates, gradually enable plugin features through the generator, and customize solutions.
18
18
  - 🏠 **Integration**: Development and production environment web server are unique, CSR and SSR are isomorphic development, and API service calls are functions as interfaces.
19
19
  - 📦 **Out Of The Box**: Default TS support, built-in build, ESLint, debugging tools, fully functional and testable.
@@ -44,6 +44,3 @@ In addition, Modern.js provides richer server-side features, including comprehen
44
44
 
45
45
  Pelease refer to [Modern.js vs Remix](https://github.com/web-infra-dev/modern.js/discussions/4872).
46
46
 
47
- ## Next Step
48
-
49
- If you want to learn how to use the Modern.js framework, you can try to [create your first application](/tutorials/first-app/c01-start), or read the [Quick Start](/guides/get-started/quick-start) guide.
@@ -7,36 +7,21 @@ sidebar_position: 2
7
7
 
8
8
  ## Environment
9
9
 
10
- import Prerequisites from "@site-docs-en/components/prerequisites"
10
+ import Prerequisites from '@site-docs-en/components/prerequisites';
11
11
 
12
12
  <Prerequisites />
13
13
 
14
14
  ## Installation
15
15
 
16
- Modern.js provides the `@modern-js/create` tool to create projects. It does not require global installation and can be run on-demand using `npx`.
17
-
18
- You can create a project in an existing empty directory:
19
-
20
- ```bash
21
- mkdir myapp && cd myapp
22
- npx @modern-js/create@latest
23
- ```
24
-
25
- You can also create a project directly in a new directory:
26
-
27
- ```bash
28
- npx @modern-js/create@latest myapp
29
- ```
30
-
31
16
  ## Initialize
32
17
 
33
- import InitApp from "@site-docs-en/components/init-app"
18
+ import InitApp from '@site-docs-en/components/init-app';
34
19
 
35
20
  <InitApp />
36
21
 
37
22
  ## Development
38
23
 
39
- import DebugApp from "@site-docs-en/components/debug-app"
24
+ import DebugApp from '@site-docs-en/components/debug-app';
40
25
 
41
26
  <DebugApp />
42
27
 
@@ -46,19 +31,14 @@ In a Modern.js project created using `@modern-js/create`, a `modern.config.ts` f
46
31
 
47
32
  You can modify the configuration through this file to override the default behavior of Modern.js. For example, to enable SSR, add the following configuration:
48
33
 
49
- ```ts
34
+ ```ts title="modern.config.ts"
50
35
  import { appTools, defineConfig } from '@modern-js/app-tools';
51
36
 
52
37
  export default defineConfig({
53
- runtime: {
54
- router: true,
55
- },
56
38
  server: {
57
39
  ssr: true,
58
40
  },
59
- plugins: [appTools({
60
- bundler: 'rspack', // Set to 'webpack' to enable webpack
61
- }),],
41
+ plugins: [appTools()],
62
42
  });
63
43
  ```
64
44
 
@@ -69,7 +49,6 @@ After running `pnpm run dev` again, you can find that the project has completed
69
49
  In a newly created project, the `@modern-js/app-tools` npm package is installed by default. It is the core package of the Modern.js framework and provides the following capabilities:
70
50
 
71
51
  - It offers commonly used CLI commands such as `modern dev`, `modern build`, and more.
72
- - It integrates Modern.js Core, providing capabilities for configuration parsing, plugin loading, and more.
73
52
  - It integrates Rsbuild, providing build capabilities.
74
53
  - It integrates Modern.js Server, providing capabilities for development and production servers.
75
54
 
@@ -85,51 +64,9 @@ export default defineConfig({
85
64
 
86
65
  ## Build the project
87
66
 
88
- To build the production artifacts of the project, run `pnpm run build` in the project:
67
+ import BuildOutput from '@site-docs-en/components/build-output';
89
68
 
90
- ```bash
91
- $ pnpm run build
92
-
93
- > modern build
94
-
95
- Modern.js Framework
96
-
97
- info Starting production build...
98
- info Type checker is enabled. It may take some time.
99
- ready Client compiled in 6.19 s
100
- info Production file sizes:
101
-
102
- File Size Gzipped
103
- dist/routes-manifest.json 0.74 kB 0.28 kB
104
- dist/static/css/async/page.d7915515.css 1.4 kB 0.69 kB
105
- dist/static/js/main.5ae469e7.js 3.0 kB 1.3 kB
106
- dist/html/main/index.html 6.0 kB 2.6 kB
107
- dist/static/js/async/page.ddc8a4c1.js 19.2 kB 6.7 kB
108
- dist/static/js/34.171fffdb.js 21.3 kB 7.1 kB
109
- dist/static/js/lib-router.8995a55e.js 55.3 kB 18.1 kB
110
- dist/static/js/lib-lodash.53ec3384.js 71.4 kB 24.8 kB
111
- dist/static/js/lib-react.b5856db9.js 140.0 kB 45.2 kB
112
- dist/static/js/lib-polyfill.86c452b3.js 213.3 kB 69.9 kB
113
-
114
- Total size: 531.8 kB
115
- Gzipped size: 176.7 kB
116
- ```
117
-
118
- By default, the build artifacts are generated in `dist/`, with the following directory structure:
119
-
120
- ```
121
- dist
122
- ├── html
123
- │   └── main
124
- ├── modern.config.json
125
- ├── route.json
126
- ├── routes-manifest.json
127
- └── static
128
- ├── css
129
- └── js
130
- ```
131
-
132
- > If you need to customize the directory of the build artifacts, please refer to [Output files](/guides/basic-features/output-files).
69
+ <BuildOutput />
133
70
 
134
71
  ## Verify
135
72
 
@@ -138,8 +75,6 @@ Run `pnpm run serve` in the project to verify whether the build artifacts run no
138
75
  ```bash
139
76
  $ pnpm run serve
140
77
 
141
- > modern serve
142
-
143
78
  Modern.js Framework
144
79
 
145
80
  info Starting production server...
@@ -152,6 +87,6 @@ Open `http://localhost:8080/` in the browser, and the content should be consiste
152
87
 
153
88
  ## Deployment
154
89
 
155
- import Deploy from "@site-docs-en/components/deploy"
90
+ import Deploy from '@site-docs-en/components/deploy';
156
91
 
157
92
  <Deploy />