@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
@@ -6,15 +6,13 @@ Modern.js 采用高度可扩展的插件化架构,其核心功能和扩展能
6
6
 
7
7
  Modern.js 秉承“一切皆插件”的设计哲学,将框架的各项功能模块化,通过插件的形式进行组装和扩展。这种设计带来了诸多优势,包括:
8
8
 
9
- - **高内聚,低耦合**:各功能模块独立开发、测试和维护,降低系统复杂度。
10
- - **灵活可扩展**:用户可通过编写或组合插件,轻松定制框架行为,无需修改核心代码。
11
- - **易于复用**:插件可跨项目共享,提高开发效率。
12
- - **渐进式增强**:按需引入插件,无需一开始就承载所有功能的复杂性。
9
+ - **高内聚,低耦合**:各功能模块独立开发、测试和维护,降低系统复杂度。
10
+ - **灵活可扩展**:用户可通过编写或组合插件,轻松定制框架行为,无需修改核心代码。
11
+ - **易于复用**:插件可跨项目共享,提高开发效率。
12
+ - **渐进式增强**:按需引入插件,无需一开始就承载所有功能的复杂性。
13
13
 
14
14
  ## 插件类型与适用场景
15
15
 
16
- Modern.js 提供了三种主要插件类型,分别对应应用开发的不同阶段:
17
-
18
16
  **CLI 插件**:
19
17
  - **作用阶段**:构建时(执行 `modern` 命令时)。
20
18
  - **典型场景**:
@@ -47,25 +45,29 @@ Modern.js 提供了三种主要插件类型,分别对应应用开发的不同
47
45
  一个典型的 Modern.js 插件包含以下几个关键部分:
48
46
 
49
47
  ```ts
50
- import type { Plugin } from '@modern-js/plugin-v2';
48
+ import type { Plugin } from '@modern-js/plugin';
51
49
 
52
50
  const myPlugin: Plugin = {
53
51
  name: 'my-awesome-plugin', // 插件的唯一标识符(必需)
54
52
 
55
53
  // 插件依赖和执行顺序(可选)
56
- pre: [], // 在此插件之前执行的插件名列表,默认为空数组
57
- post: [], // 在此插件之后执行的插件名列表,默认为空数组
58
- required: [],// 必需的插件列表,若依赖的插件未注册,则会报错,默认为空数组
54
+ pre: [], // 在此插件之前执行的插件名列表,默认为空数组
55
+ post: [], // 在此插件之后执行的插件名列表,默认为空数组
56
+ required: [], // 必需的插件列表,若依赖的插件未注册,则会报错,默认为空数组
59
57
  usePlugins: [], // 内部使用的插件实例列表,默认为空数组
60
58
 
61
59
  // 注册新的 Hook (可选)
62
- registryHook: {},
60
+ registryHooks: {},
63
61
 
64
62
  // 插件的入口函数(必需)
65
63
  setup(api) {
66
64
  // 插件的核心逻辑,通过 api 对象调用插件 API
67
- api.modifyWebpackConfig(config => { /* ... */ });
68
- api.onPrepare(() => { /* ... */ });
65
+ api.modifyRspackConfig(config => {
66
+ /* ... */
67
+ });
68
+ api.onPrepare(() => {
69
+ /* ... */
70
+ });
69
71
  // ... 其他 API 调用
70
72
  },
71
73
  };
@@ -129,98 +131,88 @@ export default myPlugin;
129
131
  - 类型: `Record<string, PluginHook<(...args: any[]) => any>>`
130
132
  - 说明:扩展当前支持的 Hook 函数,以实现自定义功能。
131
133
 
132
-
133
134
  ## 插件 Hook 模型
134
135
 
135
136
  Modern.js 插件系统的核心是其 Hook 模型,它定义了插件之间的通信机制。Modern.js 主要提供两种 Hook 类型:
136
137
 
137
138
  ### Async Hook(异步 Hook)
138
139
 
139
- - **特点**:
140
- - Hook 函数异步执行,支持 `async/await`。
141
- - 前一个 Hook 函数的返回值会作为下一个 Hook 函数的第一个参数。
142
- - 最终返回最后一个 Hook 函数的返回值。
143
- - **适用场景**:涉及异步操作的场景(如网络请求、文件读写等)。
144
- - **创建方式**:使用 `createAsyncHook` 创建。
140
+ - **特点**:
141
+ - Hook 函数异步执行,支持 `async/await`。
142
+ - 前一个 Hook 函数的返回值会作为下一个 Hook 函数的第一个参数。
143
+ - 最终返回最后一个 Hook 函数的返回值。
144
+ - **适用场景**:涉及异步操作的场景(如网络请求、文件读写等)。
145
+ - **创建方式**:使用 `createAsyncHook` 创建。
145
146
 
146
147
  示例:
147
148
 
148
149
  ```ts
149
150
  // 定义 Hooks
150
- import { createAsyncHook } from '@modern-js/plugin-v2';
151
+ import { createAsyncHook } from '@modern-js/plugin';
151
152
 
152
153
  export type AfterPrepareFn = () => Promise<void> | void;
153
154
  export const onAfterPrepare = createAsyncHook<AfterPrepareFn>();
154
155
 
155
156
  // 插件中注册 Hooks
156
157
  const myPlugin = () => ({
157
- name: "my-plugin",
158
+ name: 'my-plugin',
158
159
  registryHooks: {
159
160
  onAfterPrepare,
160
161
  },
161
- setup: (api) => {
162
+ setup: api => {
162
163
  api.onPrepare(async () => {
163
164
  // 插件中使用注册的 Hooks
164
165
  const hooks = api.getHooks();
165
166
  await hooks.onAfterPrepare.call();
166
167
  });
167
- }
168
+ },
168
169
  });
169
170
 
170
171
  // 在其他插件中使用 Hook
171
172
  const myPlugin2 = () => ({
172
- name: "my-plugin-2",
173
- setup: (api) => {
173
+ name: 'my-plugin-2',
174
+ setup: api => {
174
175
  api.onAfterPrepare(async () => {
175
- // TOOD
176
+ // TODO
176
177
  });
177
- }
178
- })
178
+ },
179
+ });
179
180
  ```
180
181
 
181
182
  ### Sync Hook(同步 Hook)
182
183
 
183
- - **特点**:
184
- - Hook 函数同步执行。
185
- - 前一个 Hook 函数的返回值会作为下一个 Hook 函数的第一个参数。
186
- - 最终返回最后一个 Hook 函数的返回值。
187
- - **适用场景**:需要同步修改数据的场景(如修改配置、路由等)。
188
- - **创建方式**:使用 `createSyncHook` 创建。
184
+ - **特点**:
185
+ - Hook 函数同步执行。
186
+ - 前一个 Hook 函数的返回值会作为下一个 Hook 函数的第一个参数。
187
+ - 最终返回最后一个 Hook 函数的返回值。
188
+ - **适用场景**:需要同步修改数据的场景(如修改配置、路由等)。
189
+ - **创建方式**:使用 `createSyncHook` 创建。
189
190
 
190
191
  示例:
191
192
 
192
193
  ```ts
193
194
  // 定义 Hooks
194
- import { createSyncHook } from '@modern-js/plugin-v2';
195
+ import { createSyncHook } from '@modern-js/plugin';
195
196
 
196
- type RouteObject = {/** TODO **/};
197
+ type RouteObject = {
198
+ /** TODO **/
199
+ };
197
200
  const modifyRoutes = createSyncHook<(routes: RouteObject[]) => RouteObject[]>();
198
201
 
199
202
  // 插件中注册 Hooks
200
203
  const myPlugin = () => ({
201
- name: "my-plugin",
204
+ name: 'my-plugin',
202
205
  registryHooks: {
203
206
  modifyRoutes,
204
207
  },
205
- setup: (api) => {
208
+ setup: api => {
206
209
  api.onPrepare(async () => {
207
210
  const routes = {};
208
211
  // 在插件中使用注册的 Hooks
209
212
  const hooks = api.getHooks();
210
213
  const routesResult = hooks.modifyRoutes.call(routes);
211
214
  });
212
- }
213
- });
214
-
215
- // 其他插件使用 Hooks
216
- const myPlugin2 = () => ({
217
- name: "my-plugin",
218
- setup: (api) => {
219
- api.modifyRoutes(async (routes) => {
220
- // 修改 routes
221
- return routes;
222
- });
223
- }
215
+ },
224
216
  });
225
217
  ```
226
218
 
@@ -1 +1 @@
1
- ["api", "life-cycle", "migration"]
1
+ ["api", "life-cycle"]
@@ -13,18 +13,18 @@ Runtime 插件需要通过 `src/modern.runtime.ts` 中的 [`plugins`](/configure
13
13
  一个典型的 Runtime 插件如下所示:
14
14
 
15
15
  ```ts
16
- import type { RuntimePluginFuture } from '@modern-js/runtime';
16
+ import type { RuntimePlugin } from '@modern-js/runtime';
17
17
 
18
- const myRuntimePlugin = (): RuntimePluginFuture => ({
18
+ const myRuntimePlugin = (): RuntimePlugin => ({
19
19
  name: 'my-runtime-plugin',
20
- setup: (api) => {
20
+ setup: api => {
21
21
  // 使用 api 注册钩子
22
- api.onBeforeRender((context) => {
22
+ api.onBeforeRender(context => {
23
23
  console.log('Before rendering:', context);
24
24
  });
25
25
 
26
- api.wrapRoot((App) => {
27
- return (props) => (
26
+ api.wrapRoot(App => {
27
+ return props => (
28
28
  <MyContextProvider>
29
29
  <App {...props} />
30
30
  </MyContextProvider>
@@ -34,18 +34,17 @@ const myRuntimePlugin = (): RuntimePluginFuture => ({
34
34
  });
35
35
 
36
36
  export default myRuntimePlugin;
37
-
38
37
  ```
39
38
 
40
- - `name`: 插件的唯一标识符。
41
- - `setup`: 插件的主要逻辑,接收一个 `api` 对象作为参数,用于注册钩子。
39
+ - `name`: 插件的唯一标识符。
40
+ - `setup`: 函数接收一个 `api` 对象,该对象提供了所有可用的 Runtime 插件 API。
42
41
 
43
42
  ## API 概览
44
43
 
45
44
  Runtime 插件 API 主要分为以下几类:
46
45
 
47
- - **信息获取**:获取运行时配置和钩子函数。
48
- - **生命周期钩子**:在应用渲染的不同阶段执行自定义逻辑。
46
+ - **信息获取**:获取运行时配置和钩子函数。
47
+ - **生命周期钩子**:在应用渲染的不同阶段执行自定义逻辑。
49
48
 
50
49
  ### 信息获取
51
50
 
@@ -53,7 +52,7 @@ Runtime 插件 API 主要分为以下几类:
53
52
 
54
53
  获取用户在 `modern.runtime.ts` 文件中定义的运行时配置。
55
54
 
56
- - **用法**:
55
+ - **用法**:
57
56
 
58
57
  ```ts
59
58
  const config = api.getRuntimeConfig();
@@ -69,16 +68,18 @@ console.log(config.myCustomSetting);
69
68
 
70
69
  获取可用于手动触发的钩子函数。
71
70
 
72
- - **类型:**
71
+ - **类型:**
73
72
 
74
73
  ```ts
75
74
  () => {
76
- onBeforeRender: { call: (context: any) => Promise<void> };
75
+ onBeforeRender: {
76
+ call: (context: any) => Promise<void>;
77
+ }
77
78
  // 其他钩子...
78
79
  };
79
80
  ```
80
81
 
81
- - **用法:**
82
+ - **用法:**
82
83
 
83
84
  ```ts
84
85
  const hooks = api.getHooks();
@@ -91,21 +92,24 @@ await hooks.onBeforeRender.call(myContext);
91
92
 
92
93
  在应用渲染(包括服务器端渲染和客户端渲染)之前执行。您可以在此钩子中执行数据预取、修改渲染上下文等操作。
93
94
 
94
- - **类型:**
95
+ - **类型:**
95
96
 
96
- ```ts
97
- type OnBeforeRenderFn<RuntimeContext> = (context: RuntimeContext) => Promise<void> | void;
98
- ```
99
- `RuntimeContext` 包含当前请求的上下文信息,如请求对象、响应对象等。
97
+ ```ts
98
+ type OnBeforeRenderFn<RuntimeContext> = (
99
+ context: RuntimeContext,
100
+ ) => Promise<void> | void;
101
+ ```
100
102
 
101
- - **用法:**
103
+ `RuntimeContext` 包含当前请求的上下文信息,如请求对象、响应对象等。
102
104
 
103
- ```ts
104
- api.onBeforeRender(async (context) => {
105
- const data = await fetchData(context.req);
106
- context.data = data; // 将数据添加到上下文中
107
- });
108
- ```
105
+ - **用法:**
106
+
107
+ ```ts
108
+ api.onBeforeRender(async context => {
109
+ const data = await fetchData(context.req);
110
+ context.data = data; // 将数据添加到上下文中
111
+ });
112
+ ```
109
113
 
110
114
  :::warning
111
115
 
@@ -118,35 +122,33 @@ await hooks.onBeforeRender.call(myContext);
118
122
 
119
123
  允许您使用自定义的 React 组件包裹应用的根组件。常用于添加全局的 Provider、布局组件等。
120
124
 
121
- - **类型:**
122
-
123
- ```ts
124
- type WrapRootFn = (
125
- App: React.ComponentType<any>
126
- ) => React.ComponentType<any>;
127
- ```
128
-
129
- - **用法:**
130
-
131
- ```ts
132
- api.wrapRoot((App) => {
133
- const AppWrapper = (props) => {
134
- return (
135
- <MyGlobalProvider>
136
- <Layout>
137
- <App {...props} /> {/* 确保传递 props */}
138
- </Layout>
139
- </MyGlobalProvider>
140
- );
141
- };
142
- return AppWrapper;
143
- });
144
- ```
125
+ - **类型:**
126
+
127
+ ```ts
128
+ type WrapRootFn = (App: React.ComponentType<any>) => React.ComponentType<any>;
129
+ ```
130
+
131
+ - **用法:**
132
+
133
+ ```ts
134
+ api.wrapRoot(App => {
135
+ const AppWrapper = props => {
136
+ return (
137
+ <MyGlobalProvider>
138
+ <Layout>
139
+ <App {...props} /> {/* 确保传递 props */}
140
+ </Layout>
141
+ </MyGlobalProvider>
142
+ );
143
+ };
144
+ return AppWrapper;
145
+ });
146
+ ```
145
147
 
146
148
  :::warning
147
149
 
148
- - **务必将 `props` 传递给原始的 `App` 组件**,否则可能导致应用无法正常工作。
149
- - `wrapRoot` 返回的组件会在每次渲染时重新创建,因此应避免在其中定义复杂的逻辑或状态。
150
+ - **务必将 `props` 传递给原始的 `App` 组件**,否则可能导致应用无法正常工作。
151
+ - `wrapRoot` 返回的组件会在每次渲染时重新创建,因此应避免在其中定义复杂的逻辑或状态。
150
152
 
151
153
  :::
152
154
 
@@ -157,12 +159,12 @@ await hooks.onBeforeRender.call(myContext);
157
159
  您可以组合使用多个钩子来实现更复杂的功能。例如,您可以使用 `onBeforeRender` 获取数据,然后使用 `wrapRoot` 将数据通过 Context 传递给整个应用:
158
160
 
159
161
  ```ts
160
- import { RuntimePluginFuture, RuntimeReactContext } from '@modern-js/runtime';
162
+ import { RuntimePlugin, RuntimeContext } from '@modern-js/runtime';
161
163
  import { useContext, createContext } from 'react';
162
164
 
163
165
  export const ThemeContext = createContext<{ theme: string } | null>(null);
164
166
 
165
- export const themePlugin = (): RuntimePluginFuture => {
167
+ export const themePlugin = (): RuntimePlugin => {
166
168
  return {
167
169
  name: 'theme-plugin',
168
170
  setup: api => {
@@ -177,7 +179,7 @@ export const themePlugin = (): RuntimePluginFuture => {
177
179
 
178
180
  api.wrapRoot(App => {
179
181
  return props => {
180
- const context = useContext(RuntimeReactContext);
182
+ const context = useContext(RuntimeContext);
181
183
  return (
182
184
  <ThemeContext.Provider value={context.data}>
183
185
  <App {...props} />
@@ -0,0 +1 @@
1
+ ["api", "life-cycle"]
@@ -1,3 +1,212 @@
1
1
  # 插件 API
2
2
 
3
- 敬请期待...
3
+ Modern.js 的 Server 插件允许您在服务端请求处理阶段扩展和定制功能,例如添加中间件、修改请求响应等。
4
+
5
+ :::info
6
+
7
+ Server 插件需要通过 `server/modern.server.ts` 中的 `plugins` 字段配置。
8
+
9
+ :::
10
+
11
+ ## 插件基础结构
12
+
13
+ 一个典型的 Server 插件结构如下:
14
+
15
+ ```typescript
16
+ import type { ServerPlugin } from '@modern-js/server-runtime';
17
+
18
+ const myServerPlugin = (): ServerPlugin => ({
19
+ name: '@my-org/my-server-plugin', // 插件名称,确保唯一性
20
+ setup: api => {
21
+ // 在这里使用 API 注册钩子、添加中间件等
22
+ api.onPrepare(() => {
23
+ const { middlewares } = api.getServerContext();
24
+ middlewares?.push({
25
+ name: 'my-middleware',
26
+ handler: async (c, next) => {
27
+ console.log('处理请求...');
28
+ await next();
29
+ },
30
+ });
31
+ });
32
+ },
33
+ });
34
+
35
+ export default myServerPlugin;
36
+ ```
37
+
38
+ - `name`: 插件的唯一标识符。
39
+ - `setup` 函数接收一个 `api` 对象,该对象提供了所有可用的 Server 插件 API。
40
+
41
+ ## 信息获取
42
+
43
+ #### `api.getServerContext`
44
+
45
+ 获取 Modern.js 服务器的上下文信息。
46
+
47
+ - **返回值:** `ServerContext` 对象,包含以下字段:
48
+
49
+ | 字段名 | 类型 | 描述 |
50
+ | ----------------- | ------------------- | ------------------------------ |
51
+ | `middlewares` | `MiddlewareObj[]` | 中间件列表 |
52
+ | `renderMiddlewares` | `MiddlewareObj[]` | 渲染中间件列表 |
53
+ | `routes` | `ServerRoute[]` | 服务器路由信息 |
54
+ | `appDirectory` | `string` | 项目根目录的绝对路径 |
55
+ | `apiDirectory` | `string` | API 模块目录的绝对路径 |
56
+ | `lambdaDirectory` | `string` | Lambda 模块目录的绝对路径 |
57
+ | `sharedDirectory` | `string` | 公共模块目录的绝对路径 |
58
+ | `distDirectory` | `string` | 项目产物输出目录的绝对路径 |
59
+ | `plugins` | `ServerPlugin[]` | 当前已注册的插件列表 |
60
+
61
+ - **示例:**
62
+
63
+ ```typescript
64
+ api.onPrepare(() => {
65
+ const serverContext = api.getServerContext();
66
+ console.log(`应用目录:${serverContext.appDirectory}`);
67
+ console.log(`已注册 ${serverContext.plugins.length} 个插件`);
68
+ });
69
+ ```
70
+
71
+ :::info
72
+ `getServerContext` 返回的上下文信息是只读的,如需修改请使用 `updateServerContext`。
73
+ :::
74
+
75
+ ---
76
+
77
+ #### `api.getServerConfig`
78
+
79
+ 获取用户在 `server/modern.server.ts` 文件中定义的服务器配置。
80
+
81
+ - **返回值:** 用户定义的服务器配置对象。
82
+ - **示例:**
83
+
84
+ ```typescript
85
+ api.onPrepare(() => {
86
+ const serverConfig = api.getServerConfig();
87
+ if (serverConfig.middlewares) {
88
+ console.log('用户自定义了中间件配置');
89
+ }
90
+ });
91
+ ```
92
+
93
+ ---
94
+
95
+ #### `api.getHooks`
96
+
97
+ 获取所有已注册的钩子函数。
98
+
99
+ - **返回值:** 包含所有钩子函数的对象。
100
+ - **示例:**
101
+
102
+ ```typescript
103
+ const hooks = api.getHooks();
104
+ // 手动触发 onPrepare 钩子
105
+ await hooks.onPrepare.call();
106
+ ```
107
+
108
+ :::warning
109
+ 在自定义插件中,只能手动调用对应插件注册的钩子,不能调用官方钩子,以免影响正常应用的执行顺序。
110
+ :::
111
+
112
+ ---
113
+
114
+
115
+ ## 上下文修改
116
+
117
+ #### `api.updateServerContext`
118
+
119
+ 更新服务器上下文信息。
120
+
121
+ - **类型:** `api.updateServerContext(updateContext: DeepPartial<ServerContext>)`
122
+ - **参数:**
123
+ - `updateContext`: 要更新的上下文对象(部分更新)。
124
+ - **执行阶段:** 可在任何阶段使用。
125
+ - **示例:**
126
+
127
+ ```typescript
128
+ api.onPrepare(() => {
129
+ const context = api.getServerContext();
130
+ api.updateServerContext({
131
+ middlewares: [
132
+ ...context.middlewares,
133
+ {
134
+ name: 'new-middleware',
135
+ handler: async (c, next) => {
136
+ await next();
137
+ },
138
+ },
139
+ ],
140
+ });
141
+ });
142
+ ```
143
+
144
+ ---
145
+
146
+
147
+ ## 生命周期钩子
148
+
149
+ #### `api.onPrepare`
150
+
151
+ 在服务器准备阶段添加额外的逻辑。
152
+
153
+ - **类型:** `api.onPrepare(prepareFn: () => void | Promise<void>)`
154
+ - **参数:**
155
+ - `prepareFn`: 准备函数,无参数,可异步。
156
+ - **执行阶段:** 在服务器完成配置校验之后,应用中间件之前。
157
+ - **示例:**
158
+
159
+ ```typescript
160
+ api.onPrepare(async () => {
161
+ const { middlewares } = api.getServerContext();
162
+
163
+ // 添加自定义中间件
164
+ middlewares.push({
165
+ name: 'request-logger',
166
+ handler: async (c, next) => {
167
+ const start = Date.now();
168
+ await next();
169
+ const duration = Date.now() - start;
170
+ console.log(`请求耗时: ${duration}ms`);
171
+ },
172
+ });
173
+ });
174
+ ```
175
+
176
+ :::info
177
+ 在 `onPrepare` 钩子中,可以修改 `getServerContext()` 返回的上下文对象(如 `middlewares`、`renderMiddlewares`),这些修改会在服务器启动时生效。
178
+ :::
179
+
180
+ ---
181
+
182
+ #### `api.onReset`
183
+
184
+ 在服务器重置时添加额外的逻辑。
185
+
186
+ - **类型:** `api.onReset(resetFn: (params: { event: ResetEvent }) => void | Promise<void>)`
187
+ - **参数:**
188
+ - `resetFn`: 重置处理函数,接收重置事件参数。
189
+ - `event.type`: 事件类型,可能的值:
190
+ - `'repack'`: 重新打包事件
191
+ - `'file-change'`: 文件变化事件
192
+ - `event.payload`: 当 `type` 为 `'file-change'` 时,包含文件变化信息数组。
193
+ - **执行阶段:** 当文件发生变化或需要重新打包时。
194
+ - **示例:**
195
+
196
+ ```typescript
197
+ api.onReset(async ({ event }) => {
198
+ if (event.type === 'file-change') {
199
+ console.log('检测到文件变化:', event.payload);
200
+ // 执行清理或重新初始化操作
201
+ } else if (event.type === 'repack') {
202
+ }
203
+ });
204
+ ```
205
+
206
+ ---
207
+
208
+
209
+ ## 其他说明
210
+
211
+ - 可以参考 [Server 插件生命周期](./life-cycle.mdx) 了解插件钩子的执行顺序。
212
+ - 中间件的执行顺序可以通过 `order` 字段控制(`'pre'`、`'default'`、`'post'`),也可以通过 `before` 字段指定在其他中间件之前执行。
@@ -1,3 +1,43 @@
1
1
  # 生命周期
2
2
 
3
- 敬请期待...
3
+ import Mermaid from '@site/src/components/Mermaid';
4
+
5
+ <Mermaid>
6
+ {`
7
+ flowchart TD
8
+ init{{"Server 初始化"}}
9
+ load_config(加载用户配置文件)
10
+ server_plugin(加载 Server 插件<br><sub>配置文件中注册的插件<br>CLI 插件注册的 Server 插件<br>插件中使用的插件</sub>)
11
+ registry_hooks(注册 Hooks 函数<br><sub>执行插件 setup 函数,注册插件中定义的 Hook, 插件 setup 中逻辑也会在这里执行</sub>)
12
+
13
+ modifyConfig(modifyConfig<br><sub>修改服务器配置</sub>)
14
+ onPrepare(onPrepare<br><sub>在服务器完成配置校验之后,应用中间件之前执行</sub>)
15
+ apply_middlewares(应用中间件<br><sub>按照 order 和 before 规则应用中间件</sub>)
16
+
17
+ init --> load_config
18
+ load_config --> server_plugin
19
+ server_plugin --> registry_hooks
20
+ registry_hooks --> modifyConfig
21
+ modifyConfig --> onPrepare
22
+ onPrepare --> apply_middlewares
23
+
24
+ style init fill:#FDE68A,font-size:10px;
25
+ style load_config stroke-dasharray:5 5,fill:#86EFAC,font-size:10px;
26
+ style server_plugin stroke-dasharray:5 5,fill:#86EFAC,font-size:10px;
27
+ style registry_hooks stroke-dasharray:5 5,fill:#9CA3AF,font-size:10px;
28
+ style modifyConfig font-size:10px;
29
+ style onPrepare font-size:10px;
30
+ style apply_middlewares font-size:10px;
31
+ `}
32
+ </Mermaid>
33
+
34
+ :::info
35
+
36
+ **运行时钩子**
37
+
38
+ `onReset` 钩子在运行时触发,当文件发生变化或需要代码重新编译(Rspack)完成时会被调用。它不属于初始化流程,因此未在上图中展示。
39
+
40
+ - **触发时机**:文件变化(`event.type: 'file-change'`)或代码重新编译(Rspack)完成(`event.type: 'repack'`)
41
+ - **使用场景**:清理缓存、重新初始化资源等
42
+
43
+ :::
@@ -1,14 +1,4 @@
1
1
  [
2
- {
3
- "type": "dir",
4
- "name": "foundations",
5
- "label": "foundations"
6
- },
7
- {
8
- "type": "dir",
9
- "name": "first-app",
10
- "label": "first-app"
11
- },
12
2
  {
13
3
  "type": "dir",
14
4
  "name": "examples",
@@ -4,7 +4,7 @@ title: 路由鉴权
4
4
 
5
5
  # 路由鉴权
6
6
 
7
- Modern.js 默认提供的路由方式是基于 React Router 6 的约定式路由,具体可查看[路由方案](/guides/basic-features/routes.html#路由方案)。
7
+ Modern.js 默认提供的路由方式是基于 React Router v7 的约定式路由,具体可查看[路由方案](/guides/basic-features/routes/routes#路由方案)。
8
8
 
9
9
  在一个 Web 应用中如果存在多个路由,我们可能需要对部分路由进行鉴权后才能访问。例如下面这个案例:
10
10