@modern-js/main-doc 2.69.7 → 3.0.0-alpha.1

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 (618) hide show
  1. package/docs/en/{_meta.json → _nav.json} +5 -1
  2. package/docs/en/apis/app/commands.mdx +8 -33
  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 +19 -17
  13. package/docs/en/components/build-output.mdx +45 -0
  14. package/docs/en/components/bundler.mdx +1 -1
  15. package/docs/en/components/debug-app.mdx +1 -1
  16. package/docs/en/components/enable-bff-caution.mdx +2 -2
  17. package/docs/en/components/enable-bff.mdx +42 -8
  18. package/docs/en/components/enable-ssg.mdx +49 -0
  19. package/docs/en/components/entry-scan-logic.mdx +7 -0
  20. package/docs/en/components/esbuild.mdx +2 -2
  21. package/docs/en/components/extend-bff-function.mdx +2 -4
  22. package/docs/en/components/hono.mdx +119 -0
  23. package/docs/en/components/init-app.mdx +40 -17
  24. package/docs/en/components/international/custom-instance-code.mdx +16 -0
  25. package/docs/en/components/international/init-options-desc.mdx +1 -0
  26. package/docs/en/components/international/install-command.mdx +23 -0
  27. package/docs/en/components/international/instance-code.mdx +26 -0
  28. package/docs/en/components/international/introduce.mdx +2 -0
  29. package/docs/en/components/module-federation.mdx +4 -4
  30. package/docs/en/components/nodeVersion.mdx +2 -6
  31. package/docs/en/components/prerequisites.mdx +1 -1
  32. package/docs/en/components/ua-polyfill.mdx +16 -12
  33. package/docs/en/components/upgrade-config-deploy.mdx +0 -0
  34. package/docs/en/configure/_meta.json +7 -8
  35. package/docs/en/configure/app/bff/cross-project.mdx +24 -0
  36. package/docs/en/configure/app/builder-plugins.mdx +1 -2
  37. package/docs/en/configure/app/dev/lazy-compilation.mdx +45 -0
  38. package/docs/en/configure/app/dev/server.mdx +211 -0
  39. package/docs/en/configure/app/dev/setup-middlewares.mdx +4 -22
  40. package/docs/en/configure/app/experiments/source-build.mdx +0 -1
  41. package/docs/en/configure/app/html/app-icon.mdx +1 -23
  42. package/docs/en/configure/app/output/assets-retry.mdx +1 -1
  43. package/docs/en/configure/app/output/disable-inline-runtime-chunk.mdx +2 -2
  44. package/docs/en/configure/app/output/filename.mdx +2 -4
  45. package/docs/en/configure/app/output/inline-scripts.mdx +1 -1
  46. package/docs/en/configure/app/output/override-browserslist.mdx +6 -4
  47. package/docs/en/configure/app/output/source-map.mdx +6 -3
  48. package/docs/en/configure/app/output/ssg.mdx +12 -43
  49. package/docs/en/configure/app/output/ssgByEntries.mdx +93 -0
  50. package/docs/en/configure/app/output/temp-dir.mdx +3 -3
  51. package/docs/en/configure/app/performance/build-cache.mdx +1 -5
  52. package/docs/en/configure/app/performance/profile.mdx +1 -1
  53. package/docs/en/configure/app/plugins.mdx +1 -3
  54. package/docs/en/configure/app/resolve/alias-strategy.mdx +14 -0
  55. package/docs/en/configure/app/resolve/alias.mdx +13 -0
  56. package/docs/en/configure/app/resolve/condition-names.mdx +18 -0
  57. package/docs/en/configure/app/resolve/dedupe.mdx +13 -0
  58. package/docs/en/configure/app/resolve/extensions.mdx +18 -0
  59. package/docs/en/configure/app/runtime/0-intro.mdx +2 -51
  60. package/docs/en/configure/app/runtime/router.mdx +0 -4
  61. package/docs/en/configure/app/security/check-syntax.mdx +1 -1
  62. package/docs/en/configure/app/security/sri.mdx +0 -1
  63. package/docs/en/configure/app/server/port.mdx +1 -21
  64. package/docs/en/configure/app/server/rsc.mdx +30 -0
  65. package/docs/en/configure/app/server/ssr.mdx +20 -9
  66. package/docs/en/configure/app/source/alias.mdx +1 -1
  67. package/docs/en/configure/app/source/decorators.mdx +4 -2
  68. package/docs/en/configure/app/source/enable-async-entry.mdx +1 -1
  69. package/docs/en/configure/app/source/entries.mdx +0 -2
  70. package/docs/en/configure/app/source/include.mdx +2 -14
  71. package/docs/en/configure/app/source/main-entry-name.mdx +4 -4
  72. package/docs/en/configure/app/source/transform-import.mdx +1 -59
  73. package/docs/en/configure/app/tools/bundler-chain.mdx +5 -5
  74. package/docs/en/configure/app/tools/css-extract.mdx +1 -1
  75. package/docs/en/configure/app/tools/dev-server.mdx +22 -256
  76. package/docs/en/configure/app/tools/html-plugin.mdx +3 -3
  77. package/docs/en/configure/app/tools/lightningcss-loader.mdx +0 -1
  78. package/docs/en/configure/app/tools/swc.mdx +1 -43
  79. package/docs/en/configure/app/usage.mdx +5 -27
  80. package/docs/en/guides/_meta.json +5 -1
  81. package/docs/en/guides/advanced-features/_meta.json +6 -0
  82. package/docs/en/guides/advanced-features/bff/_meta.json +9 -1
  83. package/docs/en/guides/advanced-features/bff/cross-project.mdx +2 -8
  84. package/docs/en/guides/advanced-features/bff/extend-server.mdx +18 -3
  85. package/docs/en/guides/advanced-features/bff/frameworks.mdx +2 -15
  86. package/docs/en/guides/advanced-features/bff/function.mdx +6 -10
  87. package/docs/en/guides/advanced-features/bff/operators.mdx +628 -0
  88. package/docs/en/guides/advanced-features/bff/sdk.mdx +20 -12
  89. package/docs/en/guides/advanced-features/bff/upload.mdx +3 -1
  90. package/docs/en/guides/advanced-features/build-performance.mdx +23 -26
  91. package/docs/en/guides/advanced-features/compatibility.mdx +53 -9
  92. package/docs/en/guides/advanced-features/international/_meta.json +11 -0
  93. package/docs/en/guides/advanced-features/international/advanced.mdx +193 -0
  94. package/docs/en/guides/advanced-features/international/api.mdx +400 -0
  95. package/docs/en/guides/advanced-features/international/basic.mdx +417 -0
  96. package/docs/en/guides/advanced-features/international/best-practices.mdx +135 -0
  97. package/docs/en/guides/advanced-features/international/configuration.mdx +428 -0
  98. package/docs/en/guides/advanced-features/international/locale-detection.mdx +276 -0
  99. package/docs/en/guides/advanced-features/international/quick-start.mdx +126 -0
  100. package/docs/en/guides/advanced-features/international/resource-loading.mdx +417 -0
  101. package/docs/en/guides/advanced-features/international/routing.mdx +212 -0
  102. package/docs/en/guides/advanced-features/international.mdx +37 -0
  103. package/docs/en/guides/advanced-features/low-level.mdx +21 -16
  104. package/docs/en/guides/advanced-features/page-performance/code-split.mdx +4 -4
  105. package/docs/en/guides/advanced-features/page-performance/inline-assets.mdx +4 -4
  106. package/docs/en/guides/advanced-features/page-performance/optimize-bundle.mdx +8 -22
  107. package/docs/en/guides/advanced-features/page-performance/react-compiler.mdx +19 -12
  108. package/docs/en/guides/advanced-features/rspack-start.mdx +3 -23
  109. package/docs/en/guides/advanced-features/server-monitor/logger.mdx +0 -4
  110. package/docs/en/guides/advanced-features/server-monitor/monitors.mdx +121 -36
  111. package/docs/en/guides/advanced-features/web-server.mdx +82 -299
  112. package/docs/en/guides/basic-features/_meta.json +6 -1
  113. package/docs/en/guides/basic-features/css/css-in-js.mdx +46 -11
  114. package/docs/en/guides/basic-features/css/css-modules.mdx +5 -17
  115. package/docs/en/guides/basic-features/css/css.mdx +3 -3
  116. package/docs/en/guides/basic-features/css/tailwindcss.mdx +5 -89
  117. package/docs/en/guides/basic-features/data/data-cache.mdx +65 -77
  118. package/docs/en/guides/basic-features/data/data-fetch.mdx +19 -18
  119. package/docs/en/guides/basic-features/data/data-write.mdx +2 -2
  120. package/docs/en/guides/basic-features/debug/mock.mdx +4 -1
  121. package/docs/en/guides/basic-features/debug/proxy.mdx +6 -17
  122. package/docs/en/guides/basic-features/debug/rsdoctor.mdx +5 -5
  123. package/docs/en/guides/basic-features/deploy.mdx +25 -18
  124. package/docs/en/guides/basic-features/env-vars.mdx +1 -1
  125. package/docs/en/guides/basic-features/html.mdx +1 -1
  126. package/docs/en/guides/basic-features/output-files.mdx +3 -3
  127. package/docs/en/guides/basic-features/render/_meta.json +1 -1
  128. package/docs/en/guides/basic-features/render/before-render.mdx +16 -23
  129. package/docs/en/guides/basic-features/render/overview.mdx +51 -0
  130. package/docs/en/guides/basic-features/render/rsc.mdx +399 -0
  131. package/docs/en/guides/basic-features/render/ssg.mdx +26 -67
  132. package/docs/en/guides/basic-features/render/ssr-cache.mdx +6 -10
  133. package/docs/en/guides/basic-features/render/ssr.mdx +31 -31
  134. package/docs/en/guides/basic-features/render/streaming-ssr.mdx +29 -9
  135. package/docs/en/guides/basic-features/routes/_meta.json +1 -0
  136. package/docs/en/guides/basic-features/routes/config-routes.mdx +427 -0
  137. package/docs/en/guides/basic-features/{routes.mdx → routes/routes.mdx} +7 -110
  138. package/docs/en/guides/basic-features/static-assets/json-files.mdx +21 -3
  139. package/docs/en/guides/basic-features/static-assets/svg-assets.mdx +0 -4
  140. package/docs/en/guides/basic-features/static-assets.mdx +2 -2
  141. package/docs/en/guides/concept/builder.mdx +27 -12
  142. package/docs/en/guides/concept/entries.mdx +139 -147
  143. package/docs/en/guides/get-started/glossary.mdx +0 -18
  144. package/docs/en/guides/get-started/introduction.mdx +1 -4
  145. package/docs/en/guides/get-started/quick-start.mdx +4 -71
  146. package/docs/en/guides/get-started/tech-stack.mdx +7 -27
  147. package/docs/en/guides/get-started/upgrade.mdx +30 -23
  148. package/docs/en/guides/topic-detail/_meta.json +0 -12
  149. package/docs/en/guides/topic-detail/module-federation/_meta.json +1 -1
  150. package/docs/en/guides/topic-detail/module-federation/application.mdx +16 -15
  151. package/docs/en/guides/topic-detail/module-federation/i18n.mdx +670 -0
  152. package/docs/en/guides/topic-detail/module-federation/introduce.mdx +5 -4
  153. package/docs/en/guides/topic-detail/module-federation/ssr.mdx +50 -2
  154. package/docs/en/guides/topic-detail/module-federation/usage.mdx +10 -30
  155. package/docs/en/guides/troubleshooting/builder.mdx +3 -82
  156. package/docs/en/guides/troubleshooting/cli.mdx +6 -30
  157. package/docs/en/guides/troubleshooting/dependencies.mdx +22 -22
  158. package/docs/en/guides/upgrade/_meta.json +1 -0
  159. package/docs/en/guides/upgrade/config.mdx +936 -0
  160. package/docs/en/guides/upgrade/entry.mdx +463 -0
  161. package/docs/en/guides/upgrade/other.mdx +83 -0
  162. package/docs/en/guides/upgrade/overview.mdx +33 -0
  163. package/docs/en/guides/upgrade/tailwindcss.mdx +130 -0
  164. package/docs/en/guides/upgrade/web-server.mdx +91 -0
  165. package/docs/en/plugin/_meta.json +5 -0
  166. package/docs/en/plugin/cli-plugins/_meta.json +1 -1
  167. package/docs/en/plugin/cli-plugins/api.mdx +17 -68
  168. package/docs/en/plugin/cli-plugins/life-cycle.mdx +0 -4
  169. package/docs/en/plugin/introduction.mdx +44 -44
  170. package/docs/en/plugin/official/_meta.json +0 -5
  171. package/docs/en/plugin/official/cli-plugins/_meta.json +1 -1
  172. package/docs/en/plugin/official/cli-plugins/plugin-styled-components.mdx +5 -0
  173. package/docs/en/plugin/official/cli-plugins.mdx +0 -2
  174. package/docs/en/plugin/plugin-system.mdx +69 -62
  175. package/docs/en/plugin/runtime-plugins/_meta.json +1 -1
  176. package/docs/en/plugin/runtime-plugins/api.mdx +62 -59
  177. package/docs/en/plugin/server-plugins/_meta.json +1 -0
  178. package/docs/en/plugin/server-plugins/api.mdx +210 -1
  179. package/docs/en/plugin/server-plugins/life-cycle.mdx +41 -1
  180. package/docs/en/tutorials/_meta.json +0 -10
  181. package/docs/en/tutorials/examples/csr-auth.mdx +1 -1
  182. package/docs/en/tutorials/foundations/introduction.mdx +9 -25
  183. package/docs/zh/{_meta.json → _nav.json} +10 -6
  184. package/docs/zh/apis/app/commands.mdx +8 -33
  185. package/docs/zh/apis/app/hooks/src/entry.mdx +1 -5
  186. package/docs/zh/apis/app/hooks/src/entry.server.mdx +4 -5
  187. package/docs/zh/apis/app/hooks/src/routes.mdx +2 -2
  188. package/docs/zh/apis/app/runtime/_meta.json +0 -18
  189. package/docs/zh/apis/app/runtime/bff/use-hono-context.mdx +2 -2
  190. package/docs/zh/apis/app/runtime/utility/css-in-js.mdx +3 -2
  191. package/docs/zh/community/blog/v2-release-note.mdx +0 -2
  192. package/docs/zh/community/contributing-guide.mdx +10 -12
  193. package/docs/zh/components/auto-upgrade.mdx +0 -0
  194. package/docs/zh/components/bff-operator-code.mdx +5 -0
  195. package/docs/zh/components/bff-upload.mdx +8 -7
  196. package/docs/zh/components/build-output.mdx +45 -0
  197. package/docs/zh/components/bundler.mdx +1 -1
  198. package/docs/zh/components/debug-app.mdx +1 -1
  199. package/docs/zh/components/enable-bff-caution.mdx +1 -1
  200. package/docs/zh/components/enable-bff.mdx +41 -8
  201. package/docs/zh/components/enable-ssg.mdx +49 -0
  202. package/docs/zh/components/entry-scan-logic.mdx +7 -0
  203. package/docs/zh/components/esbuild.mdx +2 -2
  204. package/docs/zh/components/extend-bff-function.mdx +2 -4
  205. package/docs/zh/components/hono.mdx +119 -0
  206. package/docs/zh/components/init-app.mdx +40 -18
  207. package/docs/zh/components/international/custom-instance-code.mdx +16 -0
  208. package/docs/zh/components/international/init-options-desc.mdx +1 -0
  209. package/docs/zh/components/international/install-command.mdx +23 -0
  210. package/docs/zh/components/international/instance-code.mdx +26 -0
  211. package/docs/zh/components/international/introduce.mdx +2 -0
  212. package/docs/zh/components/international/platform-support.mdx +0 -0
  213. package/docs/zh/components/module-federation.mdx +4 -4
  214. package/docs/zh/components/new-entry-tooltip.mdx +0 -0
  215. package/docs/zh/components/nodeVersion.mdx +3 -7
  216. package/docs/zh/components/prerequisites.mdx +1 -1
  217. package/docs/zh/components/self-route-example.mdx +3 -3
  218. package/docs/zh/components/ua-polyfill.mdx +11 -6
  219. package/docs/zh/components/upgrade-browserslist.mdx +0 -0
  220. package/docs/zh/components/upgrade-config-deploy.mdx +0 -0
  221. package/docs/zh/configure/_meta.json +7 -8
  222. package/docs/zh/configure/app/bff/cross-project.mdx +24 -0
  223. package/docs/zh/configure/app/builder-plugins.mdx +1 -2
  224. package/docs/zh/configure/app/dev/lazy-compilation.mdx +44 -0
  225. package/docs/zh/configure/app/dev/server.mdx +211 -0
  226. package/docs/zh/configure/app/dev/setup-middlewares.mdx +4 -23
  227. package/docs/zh/configure/app/experiments/source-build.mdx +0 -1
  228. package/docs/zh/configure/app/html/app-icon.mdx +1 -23
  229. package/docs/zh/configure/app/output/assets-retry.mdx +1 -1
  230. package/docs/zh/configure/app/output/disable-inline-runtime-chunk.mdx +2 -2
  231. package/docs/zh/configure/app/output/filename.mdx +2 -4
  232. package/docs/zh/configure/app/output/inline-scripts.mdx +1 -1
  233. package/docs/zh/configure/app/output/override-browserslist.mdx +3 -3
  234. package/docs/zh/configure/app/output/source-map.mdx +10 -3
  235. package/docs/zh/configure/app/output/ssg.mdx +13 -45
  236. package/docs/zh/configure/app/output/ssgByEntries.mdx +94 -0
  237. package/docs/zh/configure/app/output/temp-dir.mdx +3 -3
  238. package/docs/zh/configure/app/performance/build-cache.mdx +1 -5
  239. package/docs/zh/configure/app/performance/profile.mdx +1 -1
  240. package/docs/zh/configure/app/plugins.mdx +1 -2
  241. package/docs/zh/configure/app/resolve/alias-strategy.mdx +14 -0
  242. package/docs/zh/configure/app/resolve/alias.mdx +13 -0
  243. package/docs/zh/configure/app/resolve/condition-names.mdx +18 -0
  244. package/docs/zh/configure/app/resolve/dedupe.mdx +14 -0
  245. package/docs/zh/configure/app/resolve/extensions.mdx +18 -0
  246. package/docs/zh/configure/app/runtime/0-intro.mdx +2 -53
  247. package/docs/zh/configure/app/runtime/router.mdx +0 -4
  248. package/docs/zh/configure/app/security/check-syntax.mdx +1 -1
  249. package/docs/zh/configure/app/security/sri.mdx +0 -1
  250. package/docs/zh/configure/app/server/port.mdx +2 -21
  251. package/docs/zh/configure/app/server/rsc.mdx +30 -0
  252. package/docs/zh/configure/app/server/ssr.mdx +21 -11
  253. package/docs/zh/configure/app/source/alias.mdx +1 -1
  254. package/docs/zh/configure/app/source/decorators.mdx +4 -4
  255. package/docs/zh/configure/app/source/enable-async-entry.mdx +1 -1
  256. package/docs/zh/configure/app/source/entries.mdx +0 -2
  257. package/docs/zh/configure/app/source/include.mdx +2 -16
  258. package/docs/zh/configure/app/source/main-entry-name.mdx +4 -4
  259. package/docs/zh/configure/app/source/transform-import.mdx +1 -59
  260. package/docs/zh/configure/app/tools/bundler-chain.mdx +6 -6
  261. package/docs/zh/configure/app/tools/css-extract.mdx +1 -1
  262. package/docs/zh/configure/app/tools/dev-server.mdx +14 -248
  263. package/docs/zh/configure/app/tools/html-plugin.mdx +3 -2
  264. package/docs/zh/configure/app/tools/lightningcss-loader.mdx +0 -1
  265. package/docs/zh/configure/app/tools/swc.mdx +1 -43
  266. package/docs/zh/configure/app/usage.mdx +6 -28
  267. package/docs/zh/guides/_meta.json +5 -1
  268. package/docs/zh/guides/advanced-features/_meta.json +6 -1
  269. package/docs/zh/guides/advanced-features/bff/_meta.json +9 -1
  270. package/docs/zh/guides/advanced-features/bff/cross-project.mdx +8 -16
  271. package/docs/zh/guides/advanced-features/bff/extend-server.mdx +25 -8
  272. package/docs/zh/guides/advanced-features/bff/frameworks.mdx +2 -16
  273. package/docs/zh/guides/advanced-features/bff/function.mdx +7 -12
  274. package/docs/zh/guides/advanced-features/bff/operators.mdx +628 -0
  275. package/docs/zh/guides/advanced-features/bff/sdk.mdx +23 -16
  276. package/docs/zh/guides/advanced-features/bff/upload.mdx +3 -1
  277. package/docs/zh/guides/advanced-features/build-performance.mdx +23 -30
  278. package/docs/zh/guides/advanced-features/compatibility.mdx +44 -0
  279. package/docs/zh/guides/advanced-features/international/_meta.json +11 -0
  280. package/docs/zh/guides/advanced-features/international/advanced.mdx +193 -0
  281. package/docs/zh/guides/advanced-features/international/api.mdx +400 -0
  282. package/docs/zh/guides/advanced-features/international/basic.mdx +416 -0
  283. package/docs/zh/guides/advanced-features/international/best-practices.mdx +135 -0
  284. package/docs/zh/guides/advanced-features/international/configuration.mdx +432 -0
  285. package/docs/zh/guides/advanced-features/international/locale-detection.mdx +304 -0
  286. package/docs/zh/guides/advanced-features/international/quick-start.mdx +126 -0
  287. package/docs/zh/guides/advanced-features/international/resource-loading.mdx +417 -0
  288. package/docs/zh/guides/advanced-features/international/routing.mdx +212 -0
  289. package/docs/zh/guides/advanced-features/international.mdx +36 -0
  290. package/docs/zh/guides/advanced-features/low-level.mdx +21 -16
  291. package/docs/zh/guides/advanced-features/page-performance/code-split.mdx +3 -3
  292. package/docs/zh/guides/advanced-features/page-performance/inline-assets.mdx +4 -4
  293. package/docs/zh/guides/advanced-features/page-performance/optimize-bundle.mdx +8 -22
  294. package/docs/zh/guides/advanced-features/page-performance/react-compiler.mdx +19 -12
  295. package/docs/zh/guides/advanced-features/server-monitor/logger.mdx +0 -4
  296. package/docs/zh/guides/advanced-features/server-monitor/monitors.mdx +120 -37
  297. package/docs/zh/guides/advanced-features/web-server.mdx +79 -300
  298. package/docs/zh/guides/basic-features/_meta.json +6 -1
  299. package/docs/zh/guides/basic-features/css/css-in-js.mdx +40 -5
  300. package/docs/zh/guides/basic-features/css/css-modules.mdx +6 -17
  301. package/docs/zh/guides/basic-features/css/css.mdx +2 -2
  302. package/docs/zh/guides/basic-features/css/tailwindcss.mdx +6 -90
  303. package/docs/zh/guides/basic-features/data/data-cache.mdx +55 -59
  304. package/docs/zh/guides/basic-features/data/data-fetch.mdx +14 -16
  305. package/docs/zh/guides/basic-features/data/data-write.mdx +4 -4
  306. package/docs/zh/guides/basic-features/debug/mock.mdx +4 -1
  307. package/docs/zh/guides/basic-features/debug/proxy.mdx +4 -15
  308. package/docs/zh/guides/basic-features/debug/rsdoctor.mdx +6 -6
  309. package/docs/zh/guides/basic-features/deploy.mdx +24 -20
  310. package/docs/zh/guides/basic-features/env-vars.mdx +1 -1
  311. package/docs/zh/guides/basic-features/html.mdx +2 -2
  312. package/docs/zh/guides/basic-features/output-files.mdx +3 -3
  313. package/docs/zh/guides/basic-features/render/_meta.json +1 -1
  314. package/docs/zh/guides/basic-features/render/before-render.mdx +17 -24
  315. package/docs/zh/guides/basic-features/render/overview.mdx +52 -0
  316. package/docs/zh/guides/basic-features/render/rsc.mdx +399 -0
  317. package/docs/zh/guides/basic-features/render/ssg.mdx +27 -69
  318. package/docs/zh/guides/basic-features/render/ssr-cache.mdx +5 -9
  319. package/docs/zh/guides/basic-features/render/ssr.mdx +34 -31
  320. package/docs/zh/guides/basic-features/render/streaming-ssr.mdx +34 -14
  321. package/docs/zh/guides/basic-features/routes/_meta.json +1 -0
  322. package/docs/zh/guides/basic-features/routes/config-routes.mdx +426 -0
  323. package/docs/zh/guides/basic-features/{routes.mdx → routes/routes.mdx} +8 -114
  324. package/docs/zh/guides/basic-features/static-assets/json-files.mdx +21 -3
  325. package/docs/zh/guides/basic-features/static-assets/svg-assets.mdx +0 -4
  326. package/docs/zh/guides/basic-features/static-assets.mdx +2 -2
  327. package/docs/zh/guides/basic-features/testing/cypress.mdx +5 -5
  328. package/docs/zh/guides/basic-features/testing/jest.mdx +12 -12
  329. package/docs/zh/guides/concept/builder.mdx +26 -11
  330. package/docs/zh/guides/concept/entries.mdx +95 -92
  331. package/docs/zh/guides/get-started/glossary.mdx +0 -18
  332. package/docs/zh/guides/get-started/introduction.mdx +1 -5
  333. package/docs/zh/guides/get-started/quick-start.mdx +5 -72
  334. package/docs/zh/guides/get-started/tech-stack.mdx +8 -28
  335. package/docs/zh/guides/get-started/upgrade.mdx +30 -23
  336. package/docs/zh/guides/topic-detail/_meta.json +0 -12
  337. package/docs/zh/guides/topic-detail/module-federation/_meta.json +1 -1
  338. package/docs/zh/guides/topic-detail/module-federation/application.mdx +18 -16
  339. package/docs/zh/guides/topic-detail/module-federation/i18n.mdx +623 -0
  340. package/docs/zh/guides/topic-detail/module-federation/introduce.mdx +4 -4
  341. package/docs/zh/guides/topic-detail/module-federation/ssr.mdx +51 -5
  342. package/docs/zh/guides/topic-detail/module-federation/usage.mdx +11 -31
  343. package/docs/zh/guides/troubleshooting/builder.mdx +4 -85
  344. package/docs/zh/guides/troubleshooting/cli.mdx +6 -30
  345. package/docs/zh/guides/troubleshooting/dependencies.mdx +23 -23
  346. package/docs/zh/guides/upgrade/_meta.json +1 -0
  347. package/docs/zh/guides/upgrade/config.mdx +940 -0
  348. package/docs/zh/guides/upgrade/entry.mdx +463 -0
  349. package/docs/zh/guides/upgrade/other.md +90 -0
  350. package/docs/zh/guides/upgrade/overview.mdx +36 -0
  351. package/docs/zh/guides/upgrade/tailwindcss.mdx +130 -0
  352. package/docs/zh/guides/upgrade/web-server.md +93 -0
  353. package/docs/zh/plugin/_meta.json +5 -0
  354. package/docs/zh/plugin/cli-plugins/_meta.json +1 -1
  355. package/docs/zh/plugin/cli-plugins/api.mdx +19 -70
  356. package/docs/zh/plugin/cli-plugins/life-cycle.mdx +0 -4
  357. package/docs/zh/plugin/introduction.mdx +40 -40
  358. package/docs/zh/plugin/official/_meta.json +0 -5
  359. package/docs/zh/plugin/official/cli-plugins/_meta.json +1 -1
  360. package/docs/zh/plugin/official/cli-plugins/plugin-styled-components.mdx +5 -0
  361. package/docs/zh/plugin/official/cli-plugins.mdx +0 -2
  362. package/docs/zh/plugin/plugin-system.mdx +43 -51
  363. package/docs/zh/plugin/runtime-plugins/_meta.json +1 -1
  364. package/docs/zh/plugin/runtime-plugins/api.mdx +58 -56
  365. package/docs/zh/plugin/server-plugins/_meta.json +1 -0
  366. package/docs/zh/plugin/server-plugins/api.mdx +210 -1
  367. package/docs/zh/plugin/server-plugins/life-cycle.mdx +41 -1
  368. package/docs/zh/tutorials/_meta.json +0 -10
  369. package/docs/zh/tutorials/examples/csr-auth.mdx +1 -1
  370. package/docs/zh/tutorials/foundations/introduction.mdx +8 -25
  371. package/i18n.json +0 -16
  372. package/package.json +12 -12
  373. package/rspress.config.ts +5 -8
  374. package/src/components/ContentCard/index.module.scss +11 -7
  375. package/src/components/ContentCard/index.tsx +1 -1
  376. package/src/components/FeatureLayout/index.module.css +1 -1
  377. package/src/components/Footer/index.tsx +2 -14
  378. package/src/components/Footer/styles.module.scss +5 -5
  379. package/src/components/FrameworkCode/index.tsx +605 -0
  380. package/src/components/ListCard/index.tsx +1 -1
  381. package/src/components/RandomMemberList/index.tsx +1 -1
  382. package/src/components/RsbuildLink/index.tsx +1 -1
  383. package/src/components/Sandpack/index.tsx +1 -1
  384. package/src/custom.scss +15 -0
  385. package/src/i18n/enUS.ts +2 -4
  386. package/src/i18n/index.ts +1 -1
  387. package/src/i18n/zhCN.ts +2 -4
  388. package/src/index.ts +2 -1
  389. package/src/pages/index.module.scss +59 -41
  390. package/src/pages/index.tsx +9 -24
  391. package/docs/en/apis/app/hooks/server/index_.mdx +0 -10
  392. package/docs/en/apis/app/hooks/src/index_.mdx +0 -38
  393. package/docs/en/apis/app/hooks/src/stories.mdx +0 -16
  394. package/docs/en/apis/app/runtime/app/define-config.mdx +0 -67
  395. package/docs/en/apis/app/runtime/core/bootstrap.mdx +0 -74
  396. package/docs/en/apis/app/runtime/core/create-app.mdx +0 -49
  397. package/docs/en/apis/app/runtime/core/use-loader.mdx +0 -89
  398. package/docs/en/apis/app/runtime/core/use-module-apps.mdx +0 -140
  399. package/docs/en/apis/app/runtime/core/use-runtime-context.mdx +0 -116
  400. package/docs/en/apis/app/runtime/model/Provider.mdx +0 -36
  401. package/docs/en/apis/app/runtime/model/auto-actions.mdx +0 -122
  402. package/docs/en/apis/app/runtime/model/connect.mdx +0 -146
  403. package/docs/en/apis/app/runtime/model/create-app.mdx +0 -75
  404. package/docs/en/apis/app/runtime/model/create-store.mdx +0 -61
  405. package/docs/en/apis/app/runtime/model/handle-effect.mdx +0 -107
  406. package/docs/en/apis/app/runtime/model/model_.mdx +0 -198
  407. package/docs/en/apis/app/runtime/model/use-local-model.mdx +0 -29
  408. package/docs/en/apis/app/runtime/model/use-model.mdx +0 -89
  409. package/docs/en/apis/app/runtime/model/use-static-model.mdx +0 -51
  410. package/docs/en/apis/app/runtime/model/use-store.mdx +0 -26
  411. package/docs/en/apis/app/runtime/ssr/pre-render.mdx +0 -96
  412. package/docs/en/apis/app/runtime/web-server/hook.mdx +0 -134
  413. package/docs/en/apis/app/runtime/web-server/middleware.mdx +0 -113
  414. package/docs/en/apis/app/runtime/web-server/unstable_middleware.mdx +0 -167
  415. package/docs/en/components/bff-proxy-path-rewrite.mdx +0 -16
  416. package/docs/en/components/bff-proxy-principle.mdx +0 -1
  417. package/docs/en/components/builder.mdx +0 -3
  418. package/docs/en/components/create-bff-api-app.mdx +0 -25
  419. package/docs/en/components/custom-router-micro-frontend.mdx +0 -40
  420. package/docs/en/components/enable-micro-frontend.mdx +0 -30
  421. package/docs/en/components/enableSwc.mdx +0 -17
  422. package/docs/en/components/global-proxy-config.mdx +0 -85
  423. package/docs/en/components/global-proxy.mdx +0 -29
  424. package/docs/en/components/package-manager.mdx +0 -11
  425. package/docs/en/components/reduck-notify.mdx +0 -27
  426. package/docs/en/components/reduck-tip.mdx +0 -8
  427. package/docs/en/configure/app/auto-load-plugin.mdx +0 -66
  428. package/docs/en/configure/app/deploy/microFrontend.mdx +0 -53
  429. package/docs/en/configure/app/dev/port.mdx +0 -25
  430. package/docs/en/configure/app/dev/proxy.mdx +0 -9
  431. package/docs/en/configure/app/experiments/lazy-compilation.mdx +0 -106
  432. package/docs/en/configure/app/html/disable-html-folder.mdx +0 -46
  433. package/docs/en/configure/app/html/favicon-by-entries.mdx +0 -36
  434. package/docs/en/configure/app/html/inject-by-entries.mdx +0 -36
  435. package/docs/en/configure/app/html/meta-by-entries.mdx +0 -48
  436. package/docs/en/configure/app/html/tags-by-entries.mdx +0 -44
  437. package/docs/en/configure/app/html/template-by-entries.mdx +0 -33
  438. package/docs/en/configure/app/html/template-parameters-by-entries.mdx +0 -35
  439. package/docs/en/configure/app/html/title-by-entries.mdx +0 -37
  440. package/docs/en/configure/app/output/css-module-local-ident-name.mdx +0 -21
  441. package/docs/en/configure/app/output/disable-css-extract.mdx +0 -16
  442. package/docs/en/configure/app/output/disable-filename-hash.mdx +0 -16
  443. package/docs/en/configure/app/output/disable-minimize.mdx +0 -14
  444. package/docs/en/configure/app/output/disable-node-polyfill.mdx +0 -22
  445. package/docs/en/configure/app/output/disable-source-map.mdx +0 -31
  446. package/docs/en/configure/app/output/enable-asset-fallback.mdx +0 -36
  447. package/docs/en/configure/app/output/enable-inline-scripts.mdx +0 -22
  448. package/docs/en/configure/app/output/enable-inline-styles.mdx +0 -22
  449. package/docs/en/configure/app/output/enable-latest-decorators.mdx +0 -14
  450. package/docs/en/configure/app/performance/bundle-analyze.mdx +0 -24
  451. package/docs/en/configure/app/performance/transform-lodash.mdx +0 -52
  452. package/docs/en/configure/app/runtime/master-app.mdx +0 -36
  453. package/docs/en/configure/app/runtime/state.mdx +0 -52
  454. package/docs/en/configure/app/source/disable-entry-dirs.mdx +0 -38
  455. package/docs/en/configure/app/source/enable-custom-entry.mdx +0 -68
  456. package/docs/en/configure/app/source/module-scopes.mdx +0 -72
  457. package/docs/en/configure/app/source/resolve-extension-prefix.mdx +0 -55
  458. package/docs/en/configure/app/source/resolve-main-fields.mdx +0 -46
  459. package/docs/en/configure/app/tools/babel.mdx +0 -225
  460. package/docs/en/configure/app/tools/esbuild.mdx +0 -44
  461. package/docs/en/configure/app/tools/pug.mdx +0 -54
  462. package/docs/en/configure/app/tools/styled-components.mdx +0 -55
  463. package/docs/en/configure/app/tools/tailwindcss.mdx +0 -98
  464. package/docs/en/configure/app/tools/terser.mdx +0 -58
  465. package/docs/en/configure/app/tools/ts-loader.mdx +0 -76
  466. package/docs/en/configure/app/tools/webpack-chain.mdx +0 -253
  467. package/docs/en/configure/app/tools/webpack.mdx +0 -309
  468. package/docs/en/guides/deprecated.md +0 -17
  469. package/docs/en/guides/topic-detail/micro-frontend/c01-introduction.mdx +0 -27
  470. package/docs/en/guides/topic-detail/micro-frontend/c02-development.mdx +0 -290
  471. package/docs/en/guides/topic-detail/micro-frontend/c03-main-app.mdx +0 -298
  472. package/docs/en/guides/topic-detail/micro-frontend/c04-communicate.mdx +0 -58
  473. package/docs/en/guides/topic-detail/micro-frontend/c05-mixed-stack.mdx +0 -26
  474. package/docs/en/guides/topic-detail/model/_meta.json +0 -14
  475. package/docs/en/guides/topic-detail/model/auto-actions.mdx +0 -85
  476. package/docs/en/guides/topic-detail/model/computed-state.mdx +0 -148
  477. package/docs/en/guides/topic-detail/model/define-model.mdx +0 -62
  478. package/docs/en/guides/topic-detail/model/faq.mdx +0 -35
  479. package/docs/en/guides/topic-detail/model/manage-effects.mdx +0 -247
  480. package/docs/en/guides/topic-detail/model/model-communicate.mdx +0 -217
  481. package/docs/en/guides/topic-detail/model/performance.mdx +0 -167
  482. package/docs/en/guides/topic-detail/model/quick-start.mdx +0 -117
  483. package/docs/en/guides/topic-detail/model/redux-integration.mdx +0 -20
  484. package/docs/en/guides/topic-detail/model/typescript-best-practice.mdx +0 -68
  485. package/docs/en/guides/topic-detail/model/use-model.mdx +0 -243
  486. package/docs/en/guides/topic-detail/model/use-out-of-modernjs.mdx +0 -46
  487. package/docs/en/plugin/cli-plugins/migration.mdx +0 -98
  488. package/docs/en/plugin/official/cli-plugins/plugin-swc.mdx +0 -363
  489. package/docs/en/plugin/official/cli-plugins/plugin-tailwind.mdx +0 -5
  490. package/docs/en/plugin/official/rsbuild-plugins/_meta.json +0 -1
  491. package/docs/en/plugin/official/rsbuild-plugins/plugin-esbuild.mdx +0 -205
  492. package/docs/en/plugin/official/rsbuild-plugins.mdx +0 -3
  493. package/docs/en/plugin/runtime-plugins/migration.mdx +0 -101
  494. package/docs/en/tutorials/first-app/c01-start.mdx +0 -99
  495. package/docs/en/tutorials/first-app/c02-component.mdx +0 -60
  496. package/docs/en/tutorials/first-app/c03-css.mdx +0 -324
  497. package/docs/en/tutorials/first-app/c04-routes.mdx +0 -172
  498. package/docs/en/tutorials/first-app/c05-loader.mdx +0 -87
  499. package/docs/en/tutorials/first-app/c06-model.mdx +0 -278
  500. package/docs/en/tutorials/first-app/c07-container.mdx +0 -281
  501. package/docs/en/tutorials/first-app/c08-entries.mdx +0 -135
  502. package/docs/zh/apis/app/hooks/server/index_.mdx +0 -10
  503. package/docs/zh/apis/app/hooks/src/index_.mdx +0 -39
  504. package/docs/zh/apis/app/hooks/src/stories.mdx +0 -16
  505. package/docs/zh/apis/app/runtime/app/define-config.mdx +0 -67
  506. package/docs/zh/apis/app/runtime/core/bootstrap.mdx +0 -74
  507. package/docs/zh/apis/app/runtime/core/create-app.mdx +0 -35
  508. package/docs/zh/apis/app/runtime/core/use-loader.mdx +0 -89
  509. package/docs/zh/apis/app/runtime/core/use-module-apps.mdx +0 -179
  510. package/docs/zh/apis/app/runtime/core/use-runtime-context.mdx +0 -116
  511. package/docs/zh/apis/app/runtime/model/Provider.mdx +0 -36
  512. package/docs/zh/apis/app/runtime/model/auto-actions.mdx +0 -122
  513. package/docs/zh/apis/app/runtime/model/connect.mdx +0 -143
  514. package/docs/zh/apis/app/runtime/model/create-app.mdx +0 -75
  515. package/docs/zh/apis/app/runtime/model/create-store.mdx +0 -61
  516. package/docs/zh/apis/app/runtime/model/handle-effect.mdx +0 -108
  517. package/docs/zh/apis/app/runtime/model/model_.mdx +0 -201
  518. package/docs/zh/apis/app/runtime/model/use-local-model.mdx +0 -29
  519. package/docs/zh/apis/app/runtime/model/use-model.mdx +0 -89
  520. package/docs/zh/apis/app/runtime/model/use-static-model.mdx +0 -49
  521. package/docs/zh/apis/app/runtime/model/use-store.mdx +0 -26
  522. package/docs/zh/apis/app/runtime/ssr/pre-render.mdx +0 -96
  523. package/docs/zh/apis/app/runtime/web-server/hook.mdx +0 -136
  524. package/docs/zh/apis/app/runtime/web-server/middleware.mdx +0 -114
  525. package/docs/zh/apis/app/runtime/web-server/unstable_middleware.mdx +0 -165
  526. package/docs/zh/components/bff-proxy-path-rewrite.mdx +0 -16
  527. package/docs/zh/components/bff-proxy-principle.mdx +0 -1
  528. package/docs/zh/components/builder.mdx +0 -3
  529. package/docs/zh/components/create-bff-api-app.mdx +0 -25
  530. package/docs/zh/components/custom-router-micro-frontend.mdx +0 -40
  531. package/docs/zh/components/default-mwa-generate.mdx +0 -4
  532. package/docs/zh/components/enable-micro-frontend.mdx +0 -30
  533. package/docs/zh/components/enableSwc.mdx +0 -17
  534. package/docs/zh/components/global-proxy-config.mdx +0 -85
  535. package/docs/zh/components/global-proxy.mdx +0 -29
  536. package/docs/zh/components/package-manager.mdx +0 -11
  537. package/docs/zh/components/reduck-notify.mdx +0 -27
  538. package/docs/zh/components/reduck-tip.mdx +0 -8
  539. package/docs/zh/configure/app/auto-load-plugin.mdx +0 -66
  540. package/docs/zh/configure/app/deploy/microFrontend.mdx +0 -55
  541. package/docs/zh/configure/app/dev/port.mdx +0 -25
  542. package/docs/zh/configure/app/dev/proxy.mdx +0 -9
  543. package/docs/zh/configure/app/experiments/lazy-compilation.mdx +0 -105
  544. package/docs/zh/configure/app/html/disable-html-folder.mdx +0 -45
  545. package/docs/zh/configure/app/html/favicon-by-entries.mdx +0 -37
  546. package/docs/zh/configure/app/html/inject-by-entries.mdx +0 -37
  547. package/docs/zh/configure/app/html/meta-by-entries.mdx +0 -48
  548. package/docs/zh/configure/app/html/tags-by-entries.mdx +0 -44
  549. package/docs/zh/configure/app/html/template-by-entries.mdx +0 -33
  550. package/docs/zh/configure/app/html/template-parameters-by-entries.mdx +0 -36
  551. package/docs/zh/configure/app/html/title-by-entries.mdx +0 -37
  552. package/docs/zh/configure/app/output/css-module-local-ident-name.mdx +0 -21
  553. package/docs/zh/configure/app/output/disable-css-extract.mdx +0 -16
  554. package/docs/zh/configure/app/output/disable-filename-hash.mdx +0 -16
  555. package/docs/zh/configure/app/output/disable-minimize.mdx +0 -14
  556. package/docs/zh/configure/app/output/disable-node-polyfill.mdx +0 -22
  557. package/docs/zh/configure/app/output/disable-source-map.mdx +0 -31
  558. package/docs/zh/configure/app/output/enable-asset-fallback.mdx +0 -36
  559. package/docs/zh/configure/app/output/enable-inline-scripts.mdx +0 -22
  560. package/docs/zh/configure/app/output/enable-inline-styles.mdx +0 -22
  561. package/docs/zh/configure/app/output/enable-latest-decorators.mdx +0 -14
  562. package/docs/zh/configure/app/performance/bundle-analyze.mdx +0 -24
  563. package/docs/zh/configure/app/performance/transform-lodash.mdx +0 -52
  564. package/docs/zh/configure/app/runtime/master-app.mdx +0 -38
  565. package/docs/zh/configure/app/runtime/state.mdx +0 -52
  566. package/docs/zh/configure/app/source/disable-entry-dirs.mdx +0 -38
  567. package/docs/zh/configure/app/source/enable-custom-entry.mdx +0 -67
  568. package/docs/zh/configure/app/source/module-scopes.mdx +0 -72
  569. package/docs/zh/configure/app/source/resolve-extension-prefix.mdx +0 -57
  570. package/docs/zh/configure/app/source/resolve-main-fields.mdx +0 -46
  571. package/docs/zh/configure/app/tools/babel.mdx +0 -224
  572. package/docs/zh/configure/app/tools/esbuild.mdx +0 -44
  573. package/docs/zh/configure/app/tools/pug.mdx +0 -54
  574. package/docs/zh/configure/app/tools/styled-components.mdx +0 -54
  575. package/docs/zh/configure/app/tools/tailwindcss.mdx +0 -98
  576. package/docs/zh/configure/app/tools/terser.mdx +0 -58
  577. package/docs/zh/configure/app/tools/ts-loader.mdx +0 -76
  578. package/docs/zh/configure/app/tools/webpack-chain.mdx +0 -257
  579. package/docs/zh/configure/app/tools/webpack.mdx +0 -309
  580. package/docs/zh/guides/advanced-features/rspack-start.mdx +0 -154
  581. package/docs/zh/guides/deprecated.md +0 -19
  582. package/docs/zh/guides/topic-detail/micro-frontend/c01-introduction.mdx +0 -26
  583. package/docs/zh/guides/topic-detail/micro-frontend/c02-development.mdx +0 -332
  584. package/docs/zh/guides/topic-detail/micro-frontend/c03-main-app.mdx +0 -296
  585. package/docs/zh/guides/topic-detail/micro-frontend/c04-communicate.mdx +0 -58
  586. package/docs/zh/guides/topic-detail/micro-frontend/c05-mixed-stack.mdx +0 -27
  587. package/docs/zh/guides/topic-detail/model/_meta.json +0 -14
  588. package/docs/zh/guides/topic-detail/model/auto-actions.mdx +0 -88
  589. package/docs/zh/guides/topic-detail/model/computed-state.mdx +0 -147
  590. package/docs/zh/guides/topic-detail/model/define-model.mdx +0 -63
  591. package/docs/zh/guides/topic-detail/model/faq.mdx +0 -36
  592. package/docs/zh/guides/topic-detail/model/manage-effects.mdx +0 -256
  593. package/docs/zh/guides/topic-detail/model/model-communicate.mdx +0 -217
  594. package/docs/zh/guides/topic-detail/model/performance.mdx +0 -167
  595. package/docs/zh/guides/topic-detail/model/quick-start.mdx +0 -117
  596. package/docs/zh/guides/topic-detail/model/redux-integration.mdx +0 -20
  597. package/docs/zh/guides/topic-detail/model/typescript-best-practice.mdx +0 -67
  598. package/docs/zh/guides/topic-detail/model/use-model.mdx +0 -248
  599. package/docs/zh/guides/topic-detail/model/use-out-of-modernjs.mdx +0 -46
  600. package/docs/zh/plugin/cli-plugins/migration.mdx +0 -98
  601. package/docs/zh/plugin/official/cli-plugins/plugin-swc.mdx +0 -351
  602. package/docs/zh/plugin/official/cli-plugins/plugin-tailwind.mdx +0 -5
  603. package/docs/zh/plugin/official/rsbuild-plugins/_meta.json +0 -1
  604. package/docs/zh/plugin/official/rsbuild-plugins/plugin-esbuild.mdx +0 -201
  605. package/docs/zh/plugin/official/rsbuild-plugins.mdx +0 -3
  606. package/docs/zh/plugin/runtime-plugins/migration.mdx +0 -101
  607. package/docs/zh/tutorials/first-app/c01-start.mdx +0 -99
  608. package/docs/zh/tutorials/first-app/c02-component.mdx +0 -60
  609. package/docs/zh/tutorials/first-app/c03-css.mdx +0 -323
  610. package/docs/zh/tutorials/first-app/c04-routes.mdx +0 -172
  611. package/docs/zh/tutorials/first-app/c05-loader.mdx +0 -89
  612. package/docs/zh/tutorials/first-app/c06-model.mdx +0 -274
  613. package/docs/zh/tutorials/first-app/c07-container.mdx +0 -281
  614. package/docs/zh/tutorials/first-app/c08-entries.mdx +0 -135
  615. /package/docs/en/components/{reduck-migration.mdx → auto-upgrade.mdx} +0 -0
  616. /package/docs/en/components/{router-legacy-tip.mdx → international/platform-support.mdx} +0 -0
  617. /package/docs/{zh/components/reduck-migration.mdx → en/components/new-entry-tooltip.mdx} +0 -0
  618. /package/docs/{zh/components/router-legacy-tip.mdx → en/components/upgrade-browserslist.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.
@@ -13,21 +13,6 @@ import Prerequisites from '@site-docs-en/components/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
18
  import InitApp from '@site-docs-en/components/init-app';
@@ -46,21 +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: [
60
- appTools({
61
- bundler: 'rspack',
62
- }),
63
- ],
41
+ plugins: [appTools()],
64
42
  });
65
43
  ```
66
44
 
@@ -71,7 +49,6 @@ After running `pnpm run dev` again, you can find that the project has completed
71
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:
72
50
 
73
51
  - It offers commonly used CLI commands such as `modern dev`, `modern build`, and more.
74
- - It integrates Modern.js Core, providing capabilities for configuration parsing, plugin loading, and more.
75
52
  - It integrates Rsbuild, providing build capabilities.
76
53
  - It integrates Modern.js Server, providing capabilities for development and production servers.
77
54
 
@@ -87,51 +64,9 @@ export default defineConfig({
87
64
 
88
65
  ## Build the project
89
66
 
90
- 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';
91
68
 
92
- ```bash
93
- $ pnpm run build
94
-
95
- > modern build
96
-
97
- Modern.js Framework
98
-
99
- info Starting production build...
100
- info Type checker is enabled. It may take some time.
101
- ready Client compiled in 6.19 s
102
- info Production file sizes:
103
-
104
- File Size Gzipped
105
- dist/routes-manifest.json 0.74 kB 0.28 kB
106
- dist/static/css/async/page.d7915515.css 1.4 kB 0.69 kB
107
- dist/static/js/main.5ae469e7.js 3.0 kB 1.3 kB
108
- dist/html/main/index.html 6.0 kB 2.6 kB
109
- dist/static/js/async/page.ddc8a4c1.js 19.2 kB 6.7 kB
110
- dist/static/js/34.171fffdb.js 21.3 kB 7.1 kB
111
- dist/static/js/lib-router.8995a55e.js 55.3 kB 18.1 kB
112
- dist/static/js/lib-lodash.53ec3384.js 71.4 kB 24.8 kB
113
- dist/static/js/lib-react.b5856db9.js 140.0 kB 45.2 kB
114
- dist/static/js/lib-polyfill.86c452b3.js 213.3 kB 69.9 kB
115
-
116
- Total size: 531.8 kB
117
- Gzipped size: 176.7 kB
118
- ```
119
-
120
- By default, the build artifacts are generated in `dist/`, with the following directory structure:
121
-
122
- ```
123
- dist
124
- ├── html
125
- │   └── main
126
- ├── modern.config.json
127
- ├── route.json
128
- ├── routes-manifest.json
129
- └── static
130
- ├── css
131
- └── js
132
- ```
133
-
134
- > If you need to customize the directory of the build artifacts, please refer to [Output files](/guides/basic-features/output-files).
69
+ <BuildOutput />
135
70
 
136
71
  ## Verify
137
72
 
@@ -140,8 +75,6 @@ Run `pnpm run serve` in the project to verify whether the build artifacts run no
140
75
  ```bash
141
76
  $ pnpm run serve
142
77
 
143
- > modern serve
144
-
145
78
  Modern.js Framework
146
79
 
147
80
  info Starting production server...