@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
@@ -14,7 +14,7 @@ sidebar_position: 3
14
14
 
15
15
  ### 安装 Node.js
16
16
 
17
- 我们推荐使用 Node.js 18。你可以通过以下命令查看当前使用的 Node.js 版本:
17
+ 我们推荐使用 Node.js 22。你可以通过以下命令查看当前使用的 Node.js 版本:
18
18
 
19
19
  ```bash
20
20
  node -v
@@ -22,17 +22,17 @@ node -v
22
22
 
23
23
  如果你当前环境没有安装 Node.js,可以使用 [nvm](https://github.com/nvm-sh/nvm)或者 [fnm](https://github.com/Schniz/fnm) 来安装它。
24
24
 
25
- 以下是如何通过 nvm 安装 Node.js 18 LTS 版本的示例:
25
+ 以下是如何通过 nvm 安装 Node.js 22 LTS 版本的示例:
26
26
 
27
27
  ```bash
28
- # 安装 Node.js 18 的 LTS 版本
29
- nvm install 18 --lts
28
+ # 安装 Node.js 22 的 LTS 版本
29
+ nvm install 22 --lts
30
30
 
31
- # 将新安装的 Node.js 18 设为默认版本
32
- nvm alias default 18
31
+ # 将新安装的 Node.js 22 设为默认版本
32
+ nvm alias default 22
33
33
 
34
- # 切换到新安装的 Node.js 18
35
- nvm use 18
34
+ # 切换到新安装的 Node.js 22
35
+ nvm use 22
36
36
  ```
37
37
 
38
38
  ### 安装 pnpm
@@ -124,7 +124,7 @@ pnpm run reset
124
124
 
125
125
  如果你进行了 bugfix,或者添加了需要测试的代码,请添加一些测试代码。
126
126
 
127
- 你可以在 `<PACKAGE_DIR>/tests` 文件夹中添加单元测试用例。测试语法基于 [Jest](https://jestjs.io/) 和 [Vitest](https://vitest.dev/)。
127
+ 你可以在 `<PACKAGE_DIR>/tests` 文件夹中添加单元测试用例。测试语法基于 [Jest](https://jestjs.io/) 和 [Rstest](https://rstest.rs/)。
128
128
 
129
129
  ### 运行单元测试
130
130
 
@@ -184,9 +184,7 @@ pnpm run lint
184
184
  ```sh
185
185
  root
186
186
  └─ packages
187
- └─ document
188
- ├─ main-doc # Modern.js Framework 文档
189
- └─ module-doc # Modern.js Module 文档
187
+ └─ document # Modern.js Framework 文档
190
188
  ```
191
189
 
192
190
  文档站使用 Rspress 构建,文档内容可以使用 markdown 或 mdx 语法编写。详细使用方法可以参考 [Rspress 文档](https://rspress.rs/)。
File without changes
@@ -0,0 +1,5 @@
1
+ import FrameworkCode from '@site/src/components/FrameworkCode';
2
+
3
+ <FrameworkCode sourcePath="@modern-js/plugin-bff/server">
4
+ {props.children}
5
+ </FrameworkCode>
@@ -1,11 +1,9 @@
1
- BFF 搭配运行时框架提供了文件上传能力,支持一体化调用及纯函数手动调用。
2
-
3
1
  ### BFF 函数
4
2
 
5
3
  首先创建 `api/lambda/upload.ts` 文件:
6
4
 
7
5
  ```ts title="api/lambda/upload.ts"
8
- export const post = async ({ formData }: {formData: Record<string, any>}) => {
6
+ export const post = async ({ formData }: { formData: Record<string, any> }) => {
9
7
  console.info('formData:', formData);
10
8
  // do somethings
11
9
  return {
@@ -15,6 +13,7 @@ export const post = async ({ formData }: {formData: Record<string, any>}) => {
15
13
  };
16
14
  };
17
15
  ```
16
+
18
17
  :::tip
19
18
  通过接口处理函数入参中的 `formData` 可以获取客户端上传的文件。值为 `Object`,key 为上传时的字段名。
20
19
  :::
@@ -22,9 +21,10 @@ export const post = async ({ formData }: {formData: Record<string, any>}) => {
22
21
  ### 一体化调用
23
22
 
24
23
  接着在 `src/routes/upload/page.tsx` 中直接引入函数并调用:
24
+
25
25
  ```tsx title="routes/upload/page.tsx"
26
26
  import { post } from '@api/upload';
27
- import React from 'react';
27
+ import React, { type JSX } from 'react';
28
28
 
29
29
  export default (): JSX.Element => {
30
30
  const [file, setFile] = React.useState<FileList | null>();
@@ -33,7 +33,7 @@ export default (): JSX.Element => {
33
33
  setFile(e.target.files);
34
34
  };
35
35
 
36
- const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {
36
+ const handleSubmit = async (e: React.MouseEvent<HTMLButtonElement>) => {
37
37
  e.preventDefault();
38
38
  const formData = new FormData();
39
39
  if (file) {
@@ -49,17 +49,19 @@ export default (): JSX.Element => {
49
49
  return (
50
50
  <div>
51
51
  <input multiple type="file" onChange={handleChange} />
52
- <button onClick={handleUpload}>upload</button>
52
+ <button onClick={handleSubmit}>upload</button>
53
53
  </div>
54
54
  );
55
55
  };
56
56
  ```
57
+
57
58
  :::tip
58
59
  注意:入参类型必须为:`{ formData: FormData }` 才会正确上传。
59
60
 
60
61
  :::
61
62
 
62
63
  ### 手动上传
64
+
63
65
  可以基于 `fetch API` 手动上传文件,需要在调用 `fetch` 时,将 `body` 设置为 `FormData` 类型并提交 `post` 请求。
64
66
 
65
67
  ```tsx title="routes/upload/page.tsx"
@@ -93,5 +95,4 @@ export default (): JSX.Element => {
93
95
  </form>
94
96
  );
95
97
  };
96
-
97
98
  ```
@@ -0,0 +1,45 @@
1
+ 在项目中执行 `pnpm run build` 即可构建项目生产环境产物:
2
+
3
+ ```bash
4
+ $ pnpm run build
5
+
6
+ > modern build
7
+
8
+ Modern.js Framework
9
+
10
+ info Starting production build...
11
+ info Type checker is enabled. It may take some time.
12
+ ready Client compiled in 6.19 s
13
+ info Production file sizes:
14
+
15
+ File Size Gzipped
16
+ dist/routes-manifest.json 0.74 kB 0.28 kB
17
+ dist/static/css/async/page.d7915515.css 1.4 kB 0.69 kB
18
+ dist/static/js/main.5ae469e7.js 3.0 kB 1.3 kB
19
+ dist/html/index/index.html 6.0 kB 2.6 kB
20
+ dist/static/js/async/page.ddc8a4c1.js 19.2 kB 6.7 kB
21
+ dist/static/js/34.171fffdb.js 21.3 kB 7.1 kB
22
+ dist/static/js/lib-router.8995a55e.js 55.3 kB 18.1 kB
23
+ dist/static/js/lib-lodash.53ec3384.js 71.4 kB 24.8 kB
24
+ dist/static/js/lib-react.b5856db9.js 140.0 kB 45.2 kB
25
+ dist/static/js/lib-polyfill.86c452b3.js 213.3 kB 69.9 kB
26
+
27
+ Total size: 531.8 kB
28
+ Gzipped size: 176.7 kB
29
+ ```
30
+
31
+ 构建产物默认生成到 `dist/`,目录结构如下:
32
+
33
+ ```
34
+ dist
35
+ ├── html
36
+ │ └── index
37
+ ├── modern.config.json
38
+ ├── route.json
39
+ ├── routes-manifest.json
40
+ └── static
41
+ ├── css
42
+ └── js
43
+ ```
44
+
45
+ > 如果你需要自定义构建产物的目录,请参考 [构建产物目录](/guides/basic-features/output-files)。
@@ -1,3 +1,3 @@
1
- 指 [webpack](https://webpack.js.org/)、[Rspack](https://rspack.rs/) 等模块打包工具。
1
+ 指 [Rspack](https://rspack.rs/) 等模块打包工具。
2
2
 
3
3
  打包工具的主要目标是将 JavaScript、CSS 等文件打包在一起,打包后的文件可以在浏览器、Node.js 等环境中使用。当 Bundler 处理 Web 应用时,它会构建一个依赖关系图,其中包含应用需要的各个模块,然后将所有模块打包成一个或多个 bundle。
@@ -13,4 +13,4 @@ ready Client compiled in 0.86 s
13
13
  > Network: http://192.168.0.1:8080/
14
14
  ```
15
15
 
16
- 在浏览器中打开 `http://localhost:8000/`,可以看到页面内容。
16
+ 在浏览器中打开 `http://localhost:8080/`,可以看到页面内容。
@@ -1,4 +1,4 @@
1
1
  :::tip
2
- 请先在当前项目的根目录使用 [new 命令](/apis/app/commands#modern-new) 启用 BFF 功能。
2
+ 请先参考[基础用法](/guides/advanced-features/bff/function.html#启用-bff)中的"启用 BFF"部分,完成 BFF 功能的启用。
3
3
 
4
4
  :::
@@ -1,23 +1,56 @@
1
- import { PackageManagerTabs } from '@theme';
1
+ 要在 Modern.js 项目中启用 BFF 功能,请按照以下步骤修改代码:
2
2
 
3
- 1. 执行 `new` 命令:
3
+ 1. 安装 BFF 插件依赖
4
4
 
5
- <PackageManagerTabs command="run new" />
5
+ 如果项目尚未安装 BFF 插件,请先安装:
6
6
 
7
- 2. 按照提示,选择**启用 BFF 功能**:
7
+ ```bash
8
+ pnpm add @modern-js/plugin-bff
9
+ ```
10
+
11
+ :::tip 版本一致性
12
+ 请确保 `@modern-js/plugin-bff` 的版本与项目中 `@modern-js/app-tools` 的版本保持一致。Modern.js 的所有官方包使用统一版本号发布,版本不一致可能导致兼容性问题。
13
+
14
+ 请先查看 `@modern-js/app-tools` 的版本,然后安装相同版本的 `@modern-js/plugin-bff`:
8
15
 
9
16
  ```bash
10
- ? 请选择你想要的操作 启用可选功能
11
- ? 请选择功能名称 启用「BFF」功能
17
+ # 查看当前 @modern-js/app-tools 的版本
18
+ pnpm list @modern-js/app-tools
19
+
20
+ # 安装相同版本的 @modern-js/plugin-bff
21
+ pnpm add @modern-js/plugin-bff@<版本号>
12
22
  ```
13
23
 
14
- 3. 将下面的代码添加到 `modern.config.[tj]s` 中:
24
+ :::
25
+
26
+ 2. 配置 `modern.config.ts`
15
27
 
28
+ 在 `modern.config.[tj]s` 文件中导入并添加 BFF 插件:
16
29
 
17
30
  ```ts title="modern.config.ts"
31
+ import { defineConfig, appTools } from '@modern-js/app-tools';
18
32
  import { bffPlugin } from '@modern-js/plugin-bff';
19
33
 
20
34
  export default defineConfig({
21
- plugins: [bffPlugin()],
35
+ plugins: [appTools(), bffPlugin()],
22
36
  });
23
37
  ```
38
+
39
+ 3. 配置 TypeScript 别名
40
+
41
+ 为了在 TypeScript 中正确识别 `@api` 别名,建议在 `tsconfig.json` 中添加路径映射:
42
+
43
+ ```json title="tsconfig.json"
44
+ {
45
+ "compilerOptions": {
46
+ "paths": {
47
+ ..., // other paths,
48
+ "@api/*": ["./api/lambda/*"]
49
+ }
50
+ },
51
+ "include": [
52
+ ..., // 其他 include 目录
53
+ "api" // 添加 api 目录
54
+ ]
55
+ }
56
+ ```
@@ -0,0 +1,49 @@
1
+ 要在 Modern.js 项目中启用 SSG 功能,请按照以下步骤修改代码:
2
+
3
+ 1. 安装 SSG 插件依赖
4
+
5
+ 如果项目尚未安装 SSG 插件,请先安装:
6
+
7
+ ```bash
8
+ pnpm add @modern-js/plugin-ssg
9
+ ```
10
+
11
+ :::tip 版本一致性
12
+
13
+ 请确保 `@modern-js/plugin-ssg` 的版本与项目中 `@modern-js/app-tools` 的版本保持一致。Modern.js 的所有官方包使用统一版本号发布,版本不一致可能导致兼容性问题。
14
+
15
+ 请先查看 `@modern-js/app-tools` 的版本,然后安装相同版本的 `@modern-js/plugin-ssg`:
16
+
17
+ ```bash
18
+ # 查看当前 @modern-js/app-tools 的版本
19
+ pnpm list @modern-js/app-tools
20
+
21
+ # 安装相同版本的 @modern-js/plugin-ssg
22
+ pnpm add @modern-js/plugin-ssg@<版本号>
23
+ ```
24
+
25
+ :::
26
+
27
+ 2. 配置 modern.config.ts
28
+
29
+ 在 `modern.config.[tj]s` 文件中导入并添加 SSG 插件,同时配置 `output.ssg`:
30
+
31
+ ```ts title="modern.config.ts"
32
+ import { defineConfig, appTools } from '@modern-js/app-tools';
33
+ import { ssgPlugin } from '@modern-js/plugin-ssg';
34
+
35
+ export default defineConfig({
36
+ plugins: [appTools(), ssgPlugin()],
37
+ output: {
38
+ ssg: true,
39
+ },
40
+ });
41
+ ```
42
+
43
+ :::info 适用范围
44
+
45
+ - 单入口请使用 `output.ssg`。
46
+ - 多入口请使用 `output.ssgByEntries`。
47
+ - 当仅设置 `output.ssg: true` 且未配置 `output.ssgByEntries` 时,所有入口下的所有路由都会作为 SSG 路由处理。
48
+
49
+ :::
@@ -0,0 +1,7 @@
1
+ :::tip 入口扫描逻辑
2
+ - 如果 `src/` 本身满足入口条件 → 单入口应用
3
+ - 如果 `src/` 不满足条件 → 扫描 `src/` 下的子目录 → 多入口应用
4
+ - 单入口应用中,默认入口名为 `index`
5
+
6
+ :::
7
+
@@ -1,3 +1,3 @@
1
- [esbuild](https://esbuild.github.io/) 是一款基于 Golang 开发的前端构建工具,具有打包、编译和压缩 JavaScript 代码的功能,相比传统的打包编译工具,esbuild 在性能上有显著提升。在代码压缩方面,相比 webpack 内置的 terser 压缩器,esbuild 在性能上有数十倍的提升。
1
+ [esbuild](https://esbuild.github.io/) 是一款基于 Golang 开发的前端构建工具,具有打包、编译和压缩 JavaScript 代码的功能,相比传统的打包编译工具,esbuild 在性能上有显著提升。在代码压缩方面,esbuild 在性能上有数十倍的提升。
2
2
 
3
- Modern.js 提供了 esbuild 插件,让你能使用 esbuild 代替 babel-loader、ts-loader 和 terser 等库进行代码编译和压缩。在大型工程中启用 esbuild 后,**可以大幅度减少代码编译和压缩所需的时间,同时有效避免 OOM (heap out of memory) 问题**。
3
+ Modern.js 提供了 esbuild 插件,让你能使用 esbuild 代替 babel-loader、ts-loader 等库进行代码编译和压缩。在大型工程中启用 esbuild 后,**可以大幅度减少代码编译和压缩所需的时间,同时有效避免 OOM (heap out of memory) 问题**。
@@ -1,5 +1,3 @@
1
- 普通的 BFF 函数写法有时并不能满足需求,我们正在设计一套更强大的 BFF 函数写法,让开发者更方便地扩展 BFF 函数。
1
+ 普通的 BFF 函数写法有时并不能满足需求,例如业务场景下复杂的 TS 类型需要,EdenX 提供了一种更强大的 BFF 函数写法。
2
2
 
3
- :::note
4
- 敬请期待
5
- :::
3
+ 详细内容可参考 - [创建可扩展的 BFF 函数](/guides/advanced-features/bff/operators)。
@@ -0,0 +1,119 @@
1
+ ### 获取请求上下文
2
+
3
+ 在 BFF 函数中,有时需要获取请求上下文,来处理更多逻辑。此时,你可以通过 `useHonoContext` 来获取:
4
+
5
+ ```ts title="api/lambda/hello.ts"
6
+ import { useHonoContext } from '@modern-js/plugin-bff/server';
7
+
8
+ export const get = async () => {
9
+ const c = useHonoContext();
10
+ console.info(`access url: ${c.req.url}`);
11
+ return 'Hello Modern.js';
12
+ };
13
+ ```
14
+
15
+ :::info
16
+ 详细内容可以参考 [useHonoContext](/apis/app/runtime/bff/use-hono-context)。
17
+ :::
18
+
19
+ ### 获取 Cookie
20
+
21
+ 在 BFF 函数中获取 Cookie 时,需要通过 `useHonoContext` 获取请求上下文,然后使用 `c.req.header('cookie')` 获取 Cookie 字符串并手动解析:
22
+
23
+ ```ts title="api/lambda/cookies.ts"
24
+ import { Api, Get, useHonoContext } from '@modern-js/plugin-bff/server';
25
+
26
+ // 解析 Cookie 字符串的辅助函数
27
+ function parseCookies(
28
+ cookieHeader: string | undefined,
29
+ ): Record<string, string> {
30
+ const cookies: Record<string, string> = {};
31
+ if (!cookieHeader) return cookies;
32
+
33
+ cookieHeader.split(';').forEach(cookie => {
34
+ const [name, ...rest] = cookie.trim().split('=');
35
+ if (name) {
36
+ cookies[name] = rest.join('=');
37
+ }
38
+ });
39
+
40
+ return cookies;
41
+ }
42
+
43
+ export const getCookies = Api(Get('/cookies'), async () => {
44
+ const c = useHonoContext();
45
+ const cookieHeader = c.req.header('cookie');
46
+ const cookies = parseCookies(cookieHeader);
47
+ const token = cookies.token;
48
+ const sessionId = cookies.sessionId;
49
+ return {
50
+ hasToken: !!token,
51
+ token: token || null,
52
+ sessionId: sessionId || null,
53
+ };
54
+ });
55
+ ```
56
+
57
+ :::caution 注意
58
+ `c.req.cookie()` 方法在当前版本中不存在,需要使用 `c.req.header('cookie')` 获取 Cookie 字符串,然后手动解析。
59
+ :::
60
+
61
+ ### 定义 BFF 函数
62
+
63
+ 使用 Hono 作为运行时框架时,可以通过 [Api 函数](/guides/advanced-features/bff/operators.html) 定义接口:
64
+
65
+ ```ts title="api/lambda/user.ts"
66
+ import { Api, Get, Query } from '@modern-js/plugin-bff/server';
67
+ import { z } from 'zod';
68
+
69
+ const QuerySchema = z.object({
70
+ id: z.string(),
71
+ });
72
+
73
+ export const getUser = Api(
74
+ Get('/user'),
75
+ Query(QuerySchema),
76
+ async ({ query }) => {
77
+ return {
78
+ id: query.id,
79
+ name: 'Modern.js',
80
+ email: 'modernjs@bytedance.com',
81
+ };
82
+ },
83
+ );
84
+ ```
85
+
86
+ :::info
87
+ 更多关于 Api 函数和操作符的详细内容,可以参考 [创建可扩展的 BFF 函数](/guides/advanced-features/bff/operators.html)。
88
+ :::
89
+
90
+ ### 使用中间件
91
+
92
+ Hono 支持丰富的中间件生态,可以在 BFF 函数中使用中间件:
93
+
94
+ ```ts title="api/lambda/user.ts"
95
+ import { Api, Get, Middleware } from '@modern-js/plugin-bff/server';
96
+
97
+ export const getUser = Api(
98
+ Get('/user'),
99
+ Middleware(async (c, next) => {
100
+ // 在中间件中可以访问 Hono 的 Context
101
+ c.res.headers.set('X-Powered-By', 'Modern.js');
102
+ await next();
103
+ }),
104
+ async () => {
105
+ return {
106
+ name: 'Modern.js',
107
+ email: 'modernjs@bytedance.com',
108
+ };
109
+ },
110
+ );
111
+ ```
112
+
113
+ :::info
114
+ 更多关于中间件的详细内容,可以参考 [创建可扩展的 BFF 函数](/guides/advanced-features/bff/operators.html#中间件-middleware)。
115
+ :::
116
+
117
+ ### 更多 Hono 文档
118
+
119
+ 更多关于 Hono 的详细信息可查看 [Hono 官方文档](https://hono.dev/)。
@@ -1,38 +1,60 @@
1
- `@modern-js/create` 会提供一个可交互的问答界面,根据结果初始化项目,按照默认的选择进行初始化:
1
+ Modern.js 提供了 `@modern-js/create` 工具来创建项目,不需要全局安装,直接使用 `npx` 按需运行即可。
2
+
3
+ 你可以在已有的空目录来创建项目:
4
+
5
+ ```bash
6
+ mkdir myapp && cd myapp
7
+ npx @modern-js/create@latest
8
+ ```
9
+
10
+ 也可以直接用新目录创建项目:
2
11
 
3
12
  ```bash
4
- ? 请选择开发语言 TS
5
- ? 请选择包管理工具 pnpm
13
+ npx @modern-js/create@latest myapp
6
14
  ```
7
15
 
8
- 在生成项目后,Modern.js 会自动安装依赖、创建 git 仓库。
16
+ `@modern-js/create` 会直接创建应用,不再提供问答界面:
9
17
 
10
18
  ```bash
11
- [INFO] 依赖自动安装成功
12
- [INFO] git 仓库初始化成功
13
- [INFO] 创建成功!
14
- 可在新项目的目录下运行以下命令:
15
- pnpm run dev # 启动开发服务器
16
- pnpm run build # 构建生产环境产物
17
- pnpm run serve # 启动生产环境服务
18
- pnpm run lint # 运行 ESLint 并自动修复问题
19
- pnpm run new # 启用可选功能或创建项目要素
19
+ 🚀 欢迎使用 Modern.js
20
+
21
+ 📦 正在创建项目 "myapp"...
22
+
23
+ 项目创建成功!🎉
24
+
25
+ 📋 接下来你可以执行以下命令:
26
+
27
+ 📁 进入项目目录:
28
+
29
+ cd myapp
30
+
31
+ 🔧 初始化 Git 仓库:
32
+
33
+ git init
34
+
35
+ 📥 安装项目依赖:
36
+
37
+ pnpm install
38
+
39
+ ⚡ 启动开发服务器:
40
+
41
+ pnpm start
20
42
  ```
21
43
 
22
44
  现在,项目结构如下:
23
45
 
24
46
  ```
25
47
  .
26
- ├── node_modules
48
+ ├── biome.json
49
+ ├── modern.config.ts
50
+ ├── package.json
51
+ ├── README.md
27
52
  ├── src
28
53
  │ ├── modern-app-env.d.ts
54
+ │ ├── modern.runtime.ts
29
55
  │ └── routes
30
56
  │ ├── index.css
31
57
  │ ├── layout.tsx
32
58
  │ └── page.tsx
33
- ├── modern.config.ts
34
- ├── package.json
35
- ├── pnpm-lock.yaml
36
- ├── README.md
37
59
  └── tsconfig.json
38
60
  ```
@@ -0,0 +1,16 @@
1
+ ```ts
2
+ import { defineRuntimeConfig } from '@modern-js/runtime';
3
+ import i18next from 'i18next';
4
+
5
+ // 创建自定义实例
6
+ const customI18n = i18next.createInstance({
7
+ // 自定义配置
8
+ });
9
+
10
+ export default defineRuntimeConfig({
11
+ i18n: {
12
+ i18nInstance: customI18n,
13
+ },
14
+ });
15
+ ```
16
+
@@ -0,0 +1 @@
1
+ `initOptions` 会传递给 i18next 的 `init` 方法,支持所有 i18next 配置选项:
@@ -0,0 +1,23 @@
1
+ ```bash
2
+ pnpm add @modern-js/plugin-i18n i18next react-i18next
3
+ ```
4
+
5
+ :::tip 版本一致性
6
+ 请确保 `@modern-js/plugin-i18n` 的版本与项目中 `@modern-js/app-tools` 的版本一致。所有 Modern.js 官方包都使用统一的版本号发布,版本不匹配可能会导致兼容性问题。
7
+
8
+ 请先检查 `@modern-js/app-tools` 的版本,然后安装相同版本的 `@modern-js/plugin-i18n`:
9
+
10
+ ```bash
11
+ # 检查当前 @modern-js/app-tools 的版本
12
+ pnpm list @modern-js/app-tools
13
+
14
+ # 安装相同版本的 @modern-js/plugin-i18n
15
+ pnpm add @modern-js/plugin-i18n@<version> i18next react-i18next
16
+ ```
17
+
18
+ :::
19
+
20
+ :::info
21
+ `i18next` 和 `react-i18next` 是 peer dependencies,需要手动安装。
22
+
23
+ :::
@@ -0,0 +1,26 @@
1
+ 创建 `src/modern.runtime.ts` 文件并配置 i18n 运行时选项:
2
+
3
+ ```ts
4
+ import { defineRuntimeConfig } from '@modern-js/runtime';
5
+ import i18next from 'i18next';
6
+
7
+ // 建议创建一个新的 i18next 实例,避免使用全局默认实例
8
+ const i18nInstance = i18next.createInstance();
9
+
10
+ export default defineRuntimeConfig({
11
+ i18n: {
12
+ i18nInstance: i18nInstance,
13
+ initOptions: {
14
+ fallbackLng: 'en',
15
+ supportedLngs: ['zh', 'en'],
16
+ },
17
+ },
18
+ });
19
+ ```
20
+
21
+ :::info
22
+ `modern.runtime.ts` 是运行时配置文件,用于配置 i18next 的初始化选项。即使是最基础的配置,也建议创建此文件以确保插件正常工作。
23
+
24
+ 建议使用 `i18next.createInstance()` 创建一个新的实例,而不是直接使用默认导出的 `i18next`,这样可以避免全局状态污染,并确保每个应用都有独立的 i18n 实例。
25
+
26
+ :::
@@ -0,0 +1,2 @@
1
+ `@modern-js/plugin-i18n` 是 Modern.js 的国际化插件,基于
2
+ [i18next](https://www.i18next.com/) 和 [react-i18next](https://react.i18next.com/) 构建,为 Modern.js 应用提供完整的国际化解决方案。
@@ -1,7 +1,7 @@
1
- 模块联邦(Module Federation,简称 MF)是 Webpack 的一个特性。它允许 JavaScript 应用从另一个应用动态加载代码,并在此过程中共享依赖关系。如果使用联邦模块的应用缺少联邦代码所需的依赖项,Webpack 将从该联邦的构建源下载缺失的依赖项。
1
+ 模块联邦(Module Federation,简称 MF)是一种让多个 JavaScript 应用可以共享代码和资源的技术方案。它类似于服务端的微服务架构,允许你将大型应用拆分成多个独立的小应用,这些小应用可以独立开发、测试和部署,同时还能在运行时动态加载其他应用的模块。
2
2
 
3
- 这使得可以创建微前端风格的应用程序,多个系统可以共享代码,并在不需要重新构建整个应用程序的情况下进行动态更新。
3
+ 使用模块联邦可以解决多个前端应用之间代码重复的问题。传统方式下,如果多个应用需要使用相同的组件或工具函数,需要在每个应用中重复安装这些代码,导致代码重复、维护成本高、应用体积变大。使用模块联邦后,你可以将公共代码放在一个应用中,其他应用按需动态加载,实现代码共享,减少重复。
4
4
 
5
- Modern.js 提供了一个 Module Federation 的示例项目,请参考 [module-federation-examples - modernjs](https://github.com/module-federation/module-federation-examples/tree/db5bdbeee56f779999a2c591fc553eb94eb20b36/modernjs)
5
+ Module Federation 2.0 支持 [Rspack](https://rspack.rs/) 构建工具,并提供了动态类型提示、Manifest、Federation Runtime、运行时插件系统和 Chrome Devtools 等增强功能,提供更好的开发体验和调试能力。你可以访问 [Module Federation 官方文档](https://module-federation.io/zh/index.html) 了解更多信息。
6
6
 
7
- 你也可以阅读 [webpack Module Federation 文档](https://webpack.docschina.org/concepts/module-federation/) 来了解更多概念。
7
+ Modern.js 提供了一个 Module Federation 的示例项目,请参考 [module-federation-examples - modernjs](https://github.com/module-federation/module-federation-examples/tree/db5bdbeee56f779999a2c591fc553eb94eb20b36/modernjs)
File without changes
@@ -1,4 +1,4 @@
1
- 在开始使用前,你需要安装 [Node.js](https://nodejs.org/),并保证 Node.js 版本不低于 18.20.8,**我们推荐使用 Node.js 22 的 LTS 版本**。
1
+ 在开始使用前,你需要安装 [Node.js](https://nodejs.org/),并保证 Node.js 版本不低于 v20.19.5,**我们推荐使用 Node.js 22 的 LTS 版本**。
2
2
 
3
3
  你可以通过以下命令检查当前使用的 Node.js 版本:
4
4
 
@@ -6,9 +6,9 @@
6
6
  node -v
7
7
  ```
8
8
 
9
- 如果你当前的环境中尚未安装 Node.js,或是安装的版本低于 18,可以通过 [nvm](https://github.com/nvm-sh/nvm) 或 [fnm](https://github.com/Schniz/fnm) 安装需要的版本。
9
+ 如果你当前的环境中尚未安装 Node.js,或是安装的版本低于 v20.19.5,可以通过 [nvm](https://github.com/nvm-sh/nvm) 或 [fnm](https://github.com/Schniz/fnm) 安装需要的版本。
10
10
 
11
- 下面是通过 nvm 安装 Node.js 22 LTS 版本的例子:
11
+ 下面是通过 nvm 安装 Node.js 22 LTS 版本的例子:
12
12
 
13
13
  ```bash
14
14
  # 安装 Node.js 22 的长期支持版本
@@ -26,7 +26,3 @@ nvm 和 fnm 都是 Node.js 版本管理工具。相对来说,nvm 较为成熟
26
26
  :::
27
27
 
28
28
  此外,在安装 nvm 或 fnm 后,然后只要仓库根目录下有内容为 `lts/jod` 的 `.nvmrc` 文件,进入这个仓库时就会自动安装或切换到正确的 Node.js 版本。
29
-
30
- :::warning
31
- Modern.js 目前仍支持 Node 16,但会在 2025 年 6 月正式终止对 Node.js 16 的支持,为确保您的项目顺利过渡,请在 2025 年 6 月前完成 Node.js 版本升级。
32
- :::