@modern-js/main-doc 2.69.4 → 3.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (540) hide show
  1. package/docs/en/{_meta.json → _nav.json} +5 -1
  2. package/docs/en/apis/app/commands.mdx +2 -3
  3. package/docs/en/apis/app/hooks/src/entry.mdx +1 -5
  4. package/docs/en/apis/app/hooks/src/entry.server.mdx +4 -5
  5. package/docs/en/apis/app/hooks/src/routes.mdx +2 -2
  6. package/docs/en/apis/app/runtime/_meta.json +0 -18
  7. package/docs/en/apis/app/runtime/bff/use-hono-context.mdx +2 -2
  8. package/docs/en/apis/app/runtime/router/router.mdx +1 -1
  9. package/docs/en/apis/app/runtime/utility/css-in-js.mdx +3 -2
  10. package/docs/en/community/blog/v2-release-note.mdx +0 -2
  11. package/docs/en/community/contributing-guide.mdx +10 -12
  12. package/docs/en/components/bff-upload.mdx +16 -12
  13. package/docs/en/components/build-output.mdx +45 -0
  14. package/docs/en/components/debug-app.mdx +1 -1
  15. package/docs/en/components/enable-bff-caution.mdx +2 -2
  16. package/docs/en/components/enable-bff.mdx +38 -8
  17. package/docs/en/components/enable-ssg.mdx +48 -0
  18. package/docs/en/components/entry-scan-logic.mdx +7 -0
  19. package/docs/en/components/init-app.mdx +40 -17
  20. package/docs/en/components/international/install-command.mdx +9 -0
  21. package/docs/en/components/international/introduce.mdx +2 -0
  22. package/docs/en/components/module-federation.mdx +4 -4
  23. package/docs/en/components/new-entry-tooltip.mdx +0 -0
  24. package/docs/en/components/nodeVersion.mdx +2 -6
  25. package/docs/en/components/prerequisites.mdx +1 -1
  26. package/docs/en/components/ua-polyfill.mdx +16 -12
  27. package/docs/en/components/upgrade-browserslist.mdx +0 -0
  28. package/docs/en/configure/_meta.json +7 -8
  29. package/docs/en/configure/app/bff/cross-project.mdx +24 -0
  30. package/docs/en/configure/app/dev/lazy-compilation.mdx +45 -0
  31. package/docs/en/configure/app/dev/server.mdx +103 -0
  32. package/docs/en/configure/app/dev/setup-middlewares.mdx +4 -22
  33. package/docs/en/configure/app/html/app-icon.mdx +1 -23
  34. package/docs/en/configure/app/output/inline-scripts.mdx +1 -1
  35. package/docs/en/configure/app/output/override-browserslist.mdx +6 -4
  36. package/docs/en/configure/app/output/source-map.mdx +6 -3
  37. package/docs/en/configure/app/output/ssg.mdx +12 -43
  38. package/docs/en/configure/app/output/ssgByEntries.mdx +93 -0
  39. package/docs/en/configure/app/performance/build-cache.mdx +0 -4
  40. package/docs/en/configure/app/resolve/alias-strategy.mdx +14 -0
  41. package/docs/en/configure/app/resolve/alias.mdx +13 -0
  42. package/docs/en/configure/app/resolve/condition-names.mdx +18 -0
  43. package/docs/en/configure/app/resolve/dedupe.mdx +13 -0
  44. package/docs/en/configure/app/resolve/extensions.mdx +18 -0
  45. package/docs/en/configure/app/runtime/0-intro.mdx +2 -51
  46. package/docs/en/configure/app/security/check-syntax.mdx +1 -1
  47. package/docs/en/configure/app/server/port.mdx +1 -21
  48. package/docs/en/configure/app/server/rsc.mdx +30 -0
  49. package/docs/en/configure/app/server/ssr.mdx +20 -9
  50. package/docs/en/configure/app/source/decorators.mdx +4 -2
  51. package/docs/en/configure/app/source/entries.mdx +0 -2
  52. package/docs/en/configure/app/source/main-entry-name.mdx +4 -4
  53. package/docs/en/configure/app/source/transform-import.mdx +1 -59
  54. package/docs/en/configure/app/tools/bundler-chain.mdx +5 -5
  55. package/docs/en/configure/app/tools/css-extract.mdx +1 -1
  56. package/docs/en/configure/app/tools/dev-server.mdx +14 -248
  57. package/docs/en/configure/app/tools/html-plugin.mdx +3 -3
  58. package/docs/en/configure/app/tools/lightningcss-loader.mdx +0 -1
  59. package/docs/en/configure/app/tools/swc.mdx +1 -43
  60. package/docs/en/configure/app/usage.mdx +7 -17
  61. package/docs/en/guides/_meta.json +1 -2
  62. package/docs/en/guides/advanced-features/_meta.json +6 -0
  63. package/docs/en/guides/advanced-features/bff/cross-project.mdx +1 -7
  64. package/docs/en/guides/advanced-features/bff/extend-server.mdx +18 -3
  65. package/docs/en/guides/advanced-features/bff/frameworks.mdx +1 -1
  66. package/docs/en/guides/advanced-features/bff/function.mdx +2 -6
  67. package/docs/en/guides/advanced-features/bff/sdk.mdx +3 -3
  68. package/docs/en/guides/advanced-features/build-performance.mdx +23 -26
  69. package/docs/en/guides/advanced-features/compatibility.mdx +53 -9
  70. package/docs/en/guides/advanced-features/international/_meta.json +11 -0
  71. package/docs/en/guides/advanced-features/international/advanced.mdx +193 -0
  72. package/docs/en/guides/advanced-features/international/api.mdx +400 -0
  73. package/docs/en/guides/advanced-features/international/basic.mdx +417 -0
  74. package/docs/en/guides/advanced-features/international/best-practices.mdx +135 -0
  75. package/docs/en/guides/advanced-features/international/configuration.mdx +437 -0
  76. package/docs/en/guides/advanced-features/international/locale-detection.mdx +276 -0
  77. package/docs/en/guides/advanced-features/international/quick-start.mdx +154 -0
  78. package/docs/en/guides/advanced-features/international/resource-loading.mdx +417 -0
  79. package/docs/en/guides/advanced-features/international/routing.mdx +212 -0
  80. package/docs/en/guides/advanced-features/international.mdx +37 -0
  81. package/docs/en/guides/advanced-features/low-level.mdx +21 -16
  82. package/docs/en/guides/advanced-features/page-performance/code-split.mdx +4 -4
  83. package/docs/en/guides/advanced-features/page-performance/inline-assets.mdx +4 -4
  84. package/docs/en/guides/advanced-features/page-performance/optimize-bundle.mdx +7 -21
  85. package/docs/en/guides/advanced-features/page-performance/react-compiler.mdx +1 -8
  86. package/docs/en/guides/advanced-features/rspack-start.mdx +2 -22
  87. package/docs/en/guides/advanced-features/server-monitor/logger.mdx +0 -4
  88. package/docs/en/guides/advanced-features/server-monitor/monitors.mdx +62 -34
  89. package/docs/en/guides/advanced-features/web-server.mdx +82 -299
  90. package/docs/en/guides/basic-features/_meta.json +6 -1
  91. package/docs/en/guides/basic-features/css/css-in-js.mdx +46 -11
  92. package/docs/en/guides/basic-features/css/css-modules.mdx +5 -17
  93. package/docs/en/guides/basic-features/css/css.mdx +3 -3
  94. package/docs/en/guides/basic-features/css/tailwindcss.mdx +5 -89
  95. package/docs/en/guides/basic-features/data/data-cache.mdx +5 -1
  96. package/docs/en/guides/basic-features/data/data-fetch.mdx +4 -4
  97. package/docs/en/guides/basic-features/data/data-write.mdx +2 -2
  98. package/docs/en/guides/basic-features/debug/mock.mdx +4 -1
  99. package/docs/en/guides/basic-features/debug/proxy.mdx +0 -8
  100. package/docs/en/guides/basic-features/debug/rsdoctor.mdx +5 -5
  101. package/docs/en/guides/basic-features/deploy.mdx +25 -18
  102. package/docs/en/guides/basic-features/env-vars.mdx +1 -1
  103. package/docs/en/guides/basic-features/html.mdx +1 -1
  104. package/docs/en/guides/basic-features/output-files.mdx +3 -3
  105. package/docs/en/guides/basic-features/render/_meta.json +1 -1
  106. package/docs/en/guides/basic-features/render/before-render.mdx +16 -23
  107. package/docs/en/guides/basic-features/render/overview.mdx +51 -0
  108. package/docs/en/guides/basic-features/render/rsc.mdx +394 -0
  109. package/docs/en/guides/basic-features/render/ssg.mdx +26 -62
  110. package/docs/en/guides/basic-features/render/ssr-cache.mdx +6 -6
  111. package/docs/en/guides/basic-features/render/ssr.mdx +31 -31
  112. package/docs/en/guides/basic-features/render/streaming-ssr.mdx +29 -9
  113. package/docs/en/guides/basic-features/routes/_meta.json +1 -0
  114. package/docs/en/guides/basic-features/routes/config-routes.mdx +427 -0
  115. package/docs/en/guides/basic-features/{routes.mdx → routes/routes.mdx} +7 -110
  116. package/docs/en/guides/basic-features/static-assets/json-files.mdx +21 -3
  117. package/docs/en/guides/basic-features/static-assets.mdx +2 -2
  118. package/docs/en/guides/concept/builder.mdx +24 -9
  119. package/docs/en/guides/concept/entries.mdx +139 -147
  120. package/docs/en/guides/get-started/glossary.mdx +0 -18
  121. package/docs/en/guides/get-started/introduction.mdx +1 -4
  122. package/docs/en/guides/get-started/quick-start.mdx +8 -73
  123. package/docs/en/guides/get-started/tech-stack.mdx +7 -25
  124. package/docs/en/guides/get-started/upgrade.mdx +30 -23
  125. package/docs/en/guides/topic-detail/_meta.json +0 -12
  126. package/docs/en/guides/topic-detail/module-federation/_meta.json +1 -1
  127. package/docs/en/guides/topic-detail/module-federation/application.mdx +16 -15
  128. package/docs/en/guides/topic-detail/module-federation/i18n.mdx +670 -0
  129. package/docs/en/guides/topic-detail/module-federation/introduce.mdx +5 -4
  130. package/docs/en/guides/topic-detail/module-federation/ssr.mdx +50 -2
  131. package/docs/en/guides/topic-detail/module-federation/usage.mdx +10 -30
  132. package/docs/en/guides/troubleshooting/builder.mdx +3 -82
  133. package/docs/en/guides/troubleshooting/cli.mdx +6 -30
  134. package/docs/en/guides/troubleshooting/dependencies.mdx +22 -22
  135. package/docs/en/plugin/cli-plugins/api.mdx +4 -5
  136. package/docs/en/plugin/cli-plugins/migration.mdx +33 -48
  137. package/docs/en/plugin/introduction.mdx +39 -27
  138. package/docs/en/plugin/official/_meta.json +0 -5
  139. package/docs/en/plugin/official/cli-plugins/_meta.json +1 -1
  140. package/docs/en/plugin/official/cli-plugins/plugin-styled-components.mdx +5 -0
  141. package/docs/en/plugin/official/cli-plugins.mdx +0 -2
  142. package/docs/en/plugin/plugin-system.mdx +68 -61
  143. package/docs/en/plugin/runtime-plugins/api.mdx +62 -59
  144. package/docs/en/plugin/runtime-plugins/migration.mdx +29 -20
  145. package/docs/en/tutorials/_meta.json +0 -10
  146. package/docs/en/tutorials/examples/csr-auth.mdx +1 -1
  147. package/docs/en/tutorials/foundations/introduction.mdx +9 -25
  148. package/docs/zh/{_meta.json → _nav.json} +10 -6
  149. package/docs/zh/apis/app/commands.mdx +2 -3
  150. package/docs/zh/apis/app/hooks/src/entry.mdx +1 -5
  151. package/docs/zh/apis/app/hooks/src/entry.server.mdx +4 -5
  152. package/docs/zh/apis/app/hooks/src/routes.mdx +2 -2
  153. package/docs/zh/apis/app/runtime/_meta.json +0 -18
  154. package/docs/zh/apis/app/runtime/bff/use-hono-context.mdx +2 -2
  155. package/docs/zh/apis/app/runtime/utility/css-in-js.mdx +3 -2
  156. package/docs/zh/community/blog/v2-release-note.mdx +0 -2
  157. package/docs/zh/community/contributing-guide.mdx +10 -12
  158. package/docs/zh/components/auto-upgrade.mdx +0 -0
  159. package/docs/zh/components/bff-upload.mdx +8 -5
  160. package/docs/zh/components/build-output.mdx +45 -0
  161. package/docs/zh/components/debug-app.mdx +1 -1
  162. package/docs/zh/components/enable-bff-caution.mdx +1 -1
  163. package/docs/zh/components/enable-bff.mdx +37 -8
  164. package/docs/zh/components/enable-ssg.mdx +47 -0
  165. package/docs/zh/components/entry-scan-logic.mdx +7 -0
  166. package/docs/zh/components/init-app.mdx +40 -18
  167. package/docs/zh/components/international/install-command.mdx +8 -0
  168. package/docs/zh/components/international/introduce.mdx +2 -0
  169. package/docs/zh/components/international/platform-support.mdx +0 -0
  170. package/docs/zh/components/module-federation.mdx +4 -4
  171. package/docs/zh/components/new-entry-tooltip.mdx +0 -0
  172. package/docs/zh/components/nodeVersion.mdx +3 -7
  173. package/docs/zh/components/prerequisites.mdx +1 -1
  174. package/docs/zh/components/self-route-example.mdx +3 -3
  175. package/docs/zh/components/ua-polyfill.mdx +11 -6
  176. package/docs/zh/components/upgrade-browserslist.mdx +0 -0
  177. package/docs/zh/configure/_meta.json +7 -8
  178. package/docs/zh/configure/app/bff/cross-project.mdx +24 -0
  179. package/docs/zh/configure/app/dev/lazy-compilation.mdx +44 -0
  180. package/docs/zh/configure/app/dev/server.mdx +104 -0
  181. package/docs/zh/configure/app/dev/setup-middlewares.mdx +4 -23
  182. package/docs/zh/configure/app/html/app-icon.mdx +1 -23
  183. package/docs/zh/configure/app/output/inline-scripts.mdx +1 -1
  184. package/docs/zh/configure/app/output/override-browserslist.mdx +3 -3
  185. package/docs/zh/configure/app/output/source-map.mdx +10 -3
  186. package/docs/zh/configure/app/output/ssg.mdx +13 -45
  187. package/docs/zh/configure/app/output/ssgByEntries.mdx +94 -0
  188. package/docs/zh/configure/app/performance/build-cache.mdx +0 -4
  189. package/docs/zh/configure/app/resolve/alias-strategy.mdx +14 -0
  190. package/docs/zh/configure/app/resolve/alias.mdx +13 -0
  191. package/docs/zh/configure/app/resolve/condition-names.mdx +18 -0
  192. package/docs/zh/configure/app/resolve/dedupe.mdx +14 -0
  193. package/docs/zh/configure/app/resolve/extensions.mdx +18 -0
  194. package/docs/zh/configure/app/runtime/0-intro.mdx +2 -53
  195. package/docs/zh/configure/app/security/check-syntax.mdx +1 -1
  196. package/docs/zh/configure/app/server/port.mdx +2 -21
  197. package/docs/zh/configure/app/server/rsc.mdx +30 -0
  198. package/docs/zh/configure/app/server/ssr.mdx +21 -11
  199. package/docs/zh/configure/app/source/decorators.mdx +4 -4
  200. package/docs/zh/configure/app/source/entries.mdx +0 -2
  201. package/docs/zh/configure/app/source/main-entry-name.mdx +4 -4
  202. package/docs/zh/configure/app/source/transform-import.mdx +1 -59
  203. package/docs/zh/configure/app/tools/bundler-chain.mdx +6 -6
  204. package/docs/zh/configure/app/tools/css-extract.mdx +1 -1
  205. package/docs/zh/configure/app/tools/dev-server.mdx +14 -248
  206. package/docs/zh/configure/app/tools/html-plugin.mdx +3 -2
  207. package/docs/zh/configure/app/tools/lightningcss-loader.mdx +0 -1
  208. package/docs/zh/configure/app/tools/swc.mdx +1 -43
  209. package/docs/zh/configure/app/usage.mdx +8 -18
  210. package/docs/zh/guides/_meta.json +5 -1
  211. package/docs/zh/guides/advanced-features/_meta.json +6 -1
  212. package/docs/zh/guides/advanced-features/bff/cross-project.mdx +8 -16
  213. package/docs/zh/guides/advanced-features/bff/extend-server.mdx +25 -8
  214. package/docs/zh/guides/advanced-features/bff/frameworks.mdx +1 -1
  215. package/docs/zh/guides/advanced-features/bff/function.mdx +7 -12
  216. package/docs/zh/guides/advanced-features/bff/sdk.mdx +4 -4
  217. package/docs/zh/guides/advanced-features/build-performance.mdx +23 -30
  218. package/docs/zh/guides/advanced-features/compatibility.mdx +44 -0
  219. package/docs/zh/guides/advanced-features/international/_meta.json +11 -0
  220. package/docs/zh/guides/advanced-features/international/advanced.mdx +193 -0
  221. package/docs/zh/guides/advanced-features/international/api.mdx +400 -0
  222. package/docs/zh/guides/advanced-features/international/basic.mdx +416 -0
  223. package/docs/zh/guides/advanced-features/international/best-practices.mdx +135 -0
  224. package/docs/zh/guides/advanced-features/international/configuration.mdx +441 -0
  225. package/docs/zh/guides/advanced-features/international/locale-detection.mdx +304 -0
  226. package/docs/zh/guides/advanced-features/international/quick-start.mdx +149 -0
  227. package/docs/zh/guides/advanced-features/international/resource-loading.mdx +417 -0
  228. package/docs/zh/guides/advanced-features/international/routing.mdx +212 -0
  229. package/docs/zh/guides/advanced-features/international.mdx +36 -0
  230. package/docs/zh/guides/advanced-features/low-level.mdx +21 -16
  231. package/docs/zh/guides/advanced-features/page-performance/code-split.mdx +3 -3
  232. package/docs/zh/guides/advanced-features/page-performance/inline-assets.mdx +4 -4
  233. package/docs/zh/guides/advanced-features/page-performance/optimize-bundle.mdx +7 -21
  234. package/docs/zh/guides/advanced-features/page-performance/react-compiler.mdx +1 -8
  235. package/docs/zh/guides/advanced-features/server-monitor/logger.mdx +0 -4
  236. package/docs/zh/guides/advanced-features/server-monitor/monitors.mdx +63 -35
  237. package/docs/zh/guides/advanced-features/web-server.mdx +79 -300
  238. package/docs/zh/guides/basic-features/_meta.json +6 -1
  239. package/docs/zh/guides/basic-features/css/css-in-js.mdx +40 -5
  240. package/docs/zh/guides/basic-features/css/css-modules.mdx +6 -17
  241. package/docs/zh/guides/basic-features/css/css.mdx +2 -2
  242. package/docs/zh/guides/basic-features/css/tailwindcss.mdx +6 -90
  243. package/docs/zh/guides/basic-features/data/data-cache.mdx +8 -5
  244. package/docs/zh/guides/basic-features/data/data-fetch.mdx +6 -5
  245. package/docs/zh/guides/basic-features/data/data-write.mdx +4 -4
  246. package/docs/zh/guides/basic-features/debug/mock.mdx +4 -1
  247. package/docs/zh/guides/basic-features/debug/proxy.mdx +0 -8
  248. package/docs/zh/guides/basic-features/debug/rsdoctor.mdx +6 -6
  249. package/docs/zh/guides/basic-features/deploy.mdx +24 -20
  250. package/docs/zh/guides/basic-features/env-vars.mdx +1 -1
  251. package/docs/zh/guides/basic-features/html.mdx +2 -2
  252. package/docs/zh/guides/basic-features/output-files.mdx +3 -3
  253. package/docs/zh/guides/basic-features/render/_meta.json +1 -1
  254. package/docs/zh/guides/basic-features/render/before-render.mdx +17 -24
  255. package/docs/zh/guides/basic-features/render/overview.mdx +52 -0
  256. package/docs/zh/guides/basic-features/render/rsc.mdx +413 -0
  257. package/docs/zh/guides/basic-features/render/ssg.mdx +27 -69
  258. package/docs/zh/guides/basic-features/render/ssr-cache.mdx +5 -5
  259. package/docs/zh/guides/basic-features/render/ssr.mdx +34 -31
  260. package/docs/zh/guides/basic-features/render/streaming-ssr.mdx +34 -14
  261. package/docs/zh/guides/basic-features/routes/_meta.json +1 -0
  262. package/docs/zh/guides/basic-features/routes/config-routes.mdx +426 -0
  263. package/docs/zh/guides/basic-features/{routes.mdx → routes/routes.mdx} +8 -114
  264. package/docs/zh/guides/basic-features/static-assets/json-files.mdx +21 -3
  265. package/docs/zh/guides/basic-features/static-assets.mdx +2 -2
  266. package/docs/zh/guides/basic-features/testing/cypress.mdx +5 -5
  267. package/docs/zh/guides/basic-features/testing/jest.mdx +12 -12
  268. package/docs/zh/guides/concept/builder.mdx +24 -9
  269. package/docs/zh/guides/concept/entries.mdx +95 -92
  270. package/docs/zh/guides/get-started/glossary.mdx +0 -18
  271. package/docs/zh/guides/get-started/introduction.mdx +1 -5
  272. package/docs/zh/guides/get-started/quick-start.mdx +5 -72
  273. package/docs/zh/guides/get-started/tech-stack.mdx +8 -26
  274. package/docs/zh/guides/get-started/upgrade.mdx +30 -23
  275. package/docs/zh/guides/topic-detail/_meta.json +0 -12
  276. package/docs/zh/guides/topic-detail/module-federation/_meta.json +1 -1
  277. package/docs/zh/guides/topic-detail/module-federation/application.mdx +18 -16
  278. package/docs/zh/guides/topic-detail/module-federation/i18n.mdx +623 -0
  279. package/docs/zh/guides/topic-detail/module-federation/introduce.mdx +4 -4
  280. package/docs/zh/guides/topic-detail/module-federation/ssr.mdx +51 -5
  281. package/docs/zh/guides/topic-detail/module-federation/usage.mdx +11 -32
  282. package/docs/zh/guides/troubleshooting/builder.mdx +3 -84
  283. package/docs/zh/guides/troubleshooting/cli.mdx +6 -30
  284. package/docs/zh/guides/troubleshooting/dependencies.mdx +23 -23
  285. package/docs/zh/guides/upgrade/_meta.json +1 -0
  286. package/docs/zh/guides/upgrade/config.mdx +809 -0
  287. package/docs/zh/guides/upgrade/entry.mdx +463 -0
  288. package/docs/zh/guides/upgrade/other.md +90 -0
  289. package/docs/zh/guides/upgrade/overview.mdx +36 -0
  290. package/docs/zh/guides/upgrade/tailwindcss.mdx +130 -0
  291. package/docs/zh/guides/upgrade/web-server.md +93 -0
  292. package/docs/zh/plugin/cli-plugins/api.mdx +4 -5
  293. package/docs/zh/plugin/cli-plugins/migration.mdx +30 -45
  294. package/docs/zh/plugin/introduction.mdx +36 -24
  295. package/docs/zh/plugin/official/_meta.json +0 -5
  296. package/docs/zh/plugin/official/cli-plugins/_meta.json +1 -1
  297. package/docs/zh/plugin/official/cli-plugins/plugin-styled-components.mdx +5 -0
  298. package/docs/zh/plugin/official/cli-plugins.mdx +0 -2
  299. package/docs/zh/plugin/plugin-system.mdx +45 -42
  300. package/docs/zh/plugin/runtime-plugins/api.mdx +58 -56
  301. package/docs/zh/plugin/runtime-plugins/migration.mdx +26 -17
  302. package/docs/zh/tutorials/_meta.json +0 -10
  303. package/docs/zh/tutorials/examples/csr-auth.mdx +1 -1
  304. package/docs/zh/tutorials/foundations/introduction.mdx +8 -25
  305. package/i18n.json +0 -16
  306. package/package.json +12 -12
  307. package/rspress.config.ts +5 -8
  308. package/src/components/ContentCard/index.module.scss +11 -7
  309. package/src/components/ContentCard/index.tsx +1 -1
  310. package/src/components/FeatureLayout/index.module.css +1 -1
  311. package/src/components/Footer/index.tsx +2 -14
  312. package/src/components/Footer/styles.module.scss +5 -5
  313. package/src/components/ListCard/index.tsx +1 -1
  314. package/src/components/RandomMemberList/index.tsx +1 -1
  315. package/src/components/RsbuildLink/index.tsx +1 -1
  316. package/src/components/Sandpack/index.tsx +1 -1
  317. package/src/custom.scss +15 -0
  318. package/src/i18n/enUS.ts +2 -4
  319. package/src/i18n/index.ts +1 -1
  320. package/src/i18n/zhCN.ts +2 -4
  321. package/src/index.ts +2 -1
  322. package/src/pages/index.module.scss +59 -41
  323. package/src/pages/index.tsx +9 -24
  324. package/docs/en/apis/app/hooks/server/index_.mdx +0 -10
  325. package/docs/en/apis/app/hooks/src/index_.mdx +0 -38
  326. package/docs/en/apis/app/hooks/src/stories.mdx +0 -16
  327. package/docs/en/apis/app/runtime/app/define-config.mdx +0 -67
  328. package/docs/en/apis/app/runtime/core/bootstrap.mdx +0 -74
  329. package/docs/en/apis/app/runtime/core/create-app.mdx +0 -49
  330. package/docs/en/apis/app/runtime/core/use-loader.mdx +0 -89
  331. package/docs/en/apis/app/runtime/core/use-module-apps.mdx +0 -140
  332. package/docs/en/apis/app/runtime/core/use-runtime-context.mdx +0 -116
  333. package/docs/en/apis/app/runtime/model/Provider.mdx +0 -36
  334. package/docs/en/apis/app/runtime/model/auto-actions.mdx +0 -122
  335. package/docs/en/apis/app/runtime/model/connect.mdx +0 -146
  336. package/docs/en/apis/app/runtime/model/create-app.mdx +0 -75
  337. package/docs/en/apis/app/runtime/model/create-store.mdx +0 -61
  338. package/docs/en/apis/app/runtime/model/handle-effect.mdx +0 -107
  339. package/docs/en/apis/app/runtime/model/model_.mdx +0 -198
  340. package/docs/en/apis/app/runtime/model/use-local-model.mdx +0 -29
  341. package/docs/en/apis/app/runtime/model/use-model.mdx +0 -89
  342. package/docs/en/apis/app/runtime/model/use-static-model.mdx +0 -51
  343. package/docs/en/apis/app/runtime/model/use-store.mdx +0 -26
  344. package/docs/en/apis/app/runtime/ssr/pre-render.mdx +0 -96
  345. package/docs/en/apis/app/runtime/web-server/hook.mdx +0 -134
  346. package/docs/en/apis/app/runtime/web-server/middleware.mdx +0 -113
  347. package/docs/en/apis/app/runtime/web-server/unstable_middleware.mdx +0 -167
  348. package/docs/en/components/bff-proxy-path-rewrite.mdx +0 -16
  349. package/docs/en/components/bff-proxy-principle.mdx +0 -1
  350. package/docs/en/components/builder.mdx +0 -3
  351. package/docs/en/components/create-bff-api-app.mdx +0 -25
  352. package/docs/en/components/custom-router-micro-frontend.mdx +0 -40
  353. package/docs/en/components/enable-micro-frontend.mdx +0 -30
  354. package/docs/en/components/enableSwc.mdx +0 -17
  355. package/docs/en/components/global-proxy-config.mdx +0 -85
  356. package/docs/en/components/global-proxy.mdx +0 -29
  357. package/docs/en/components/package-manager.mdx +0 -11
  358. package/docs/en/components/reduck-notify.mdx +0 -27
  359. package/docs/en/components/reduck-tip.mdx +0 -8
  360. package/docs/en/configure/app/auto-load-plugin.mdx +0 -66
  361. package/docs/en/configure/app/deploy/microFrontend.mdx +0 -53
  362. package/docs/en/configure/app/dev/port.mdx +0 -25
  363. package/docs/en/configure/app/dev/proxy.mdx +0 -9
  364. package/docs/en/configure/app/experiments/lazy-compilation.mdx +0 -106
  365. package/docs/en/configure/app/html/disable-html-folder.mdx +0 -46
  366. package/docs/en/configure/app/html/favicon-by-entries.mdx +0 -36
  367. package/docs/en/configure/app/html/inject-by-entries.mdx +0 -36
  368. package/docs/en/configure/app/html/meta-by-entries.mdx +0 -48
  369. package/docs/en/configure/app/html/tags-by-entries.mdx +0 -44
  370. package/docs/en/configure/app/html/template-by-entries.mdx +0 -33
  371. package/docs/en/configure/app/html/template-parameters-by-entries.mdx +0 -35
  372. package/docs/en/configure/app/html/title-by-entries.mdx +0 -37
  373. package/docs/en/configure/app/output/css-module-local-ident-name.mdx +0 -21
  374. package/docs/en/configure/app/output/disable-css-extract.mdx +0 -16
  375. package/docs/en/configure/app/output/disable-filename-hash.mdx +0 -16
  376. package/docs/en/configure/app/output/disable-minimize.mdx +0 -14
  377. package/docs/en/configure/app/output/disable-node-polyfill.mdx +0 -22
  378. package/docs/en/configure/app/output/disable-source-map.mdx +0 -31
  379. package/docs/en/configure/app/output/enable-asset-fallback.mdx +0 -36
  380. package/docs/en/configure/app/output/enable-inline-scripts.mdx +0 -22
  381. package/docs/en/configure/app/output/enable-inline-styles.mdx +0 -22
  382. package/docs/en/configure/app/output/enable-latest-decorators.mdx +0 -14
  383. package/docs/en/configure/app/performance/transform-lodash.mdx +0 -52
  384. package/docs/en/configure/app/runtime/master-app.mdx +0 -36
  385. package/docs/en/configure/app/runtime/state.mdx +0 -52
  386. package/docs/en/configure/app/source/disable-entry-dirs.mdx +0 -38
  387. package/docs/en/configure/app/source/enable-custom-entry.mdx +0 -68
  388. package/docs/en/configure/app/source/module-scopes.mdx +0 -72
  389. package/docs/en/configure/app/source/resolve-extension-prefix.mdx +0 -55
  390. package/docs/en/configure/app/source/resolve-main-fields.mdx +0 -46
  391. package/docs/en/configure/app/tools/esbuild.mdx +0 -44
  392. package/docs/en/configure/app/tools/pug.mdx +0 -54
  393. package/docs/en/configure/app/tools/styled-components.mdx +0 -55
  394. package/docs/en/configure/app/tools/tailwindcss.mdx +0 -98
  395. package/docs/en/configure/app/tools/terser.mdx +0 -58
  396. package/docs/en/configure/app/tools/ts-loader.mdx +0 -76
  397. package/docs/en/configure/app/tools/webpack-chain.mdx +0 -249
  398. package/docs/en/configure/app/tools/webpack.mdx +0 -305
  399. package/docs/en/guides/deprecated.md +0 -17
  400. package/docs/en/guides/topic-detail/micro-frontend/c01-introduction.mdx +0 -27
  401. package/docs/en/guides/topic-detail/micro-frontend/c02-development.mdx +0 -290
  402. package/docs/en/guides/topic-detail/micro-frontend/c03-main-app.mdx +0 -298
  403. package/docs/en/guides/topic-detail/micro-frontend/c04-communicate.mdx +0 -58
  404. package/docs/en/guides/topic-detail/micro-frontend/c05-mixed-stack.mdx +0 -26
  405. package/docs/en/guides/topic-detail/model/_meta.json +0 -14
  406. package/docs/en/guides/topic-detail/model/auto-actions.mdx +0 -85
  407. package/docs/en/guides/topic-detail/model/computed-state.mdx +0 -148
  408. package/docs/en/guides/topic-detail/model/define-model.mdx +0 -62
  409. package/docs/en/guides/topic-detail/model/faq.mdx +0 -35
  410. package/docs/en/guides/topic-detail/model/manage-effects.mdx +0 -247
  411. package/docs/en/guides/topic-detail/model/model-communicate.mdx +0 -217
  412. package/docs/en/guides/topic-detail/model/performance.mdx +0 -167
  413. package/docs/en/guides/topic-detail/model/quick-start.mdx +0 -117
  414. package/docs/en/guides/topic-detail/model/redux-integration.mdx +0 -20
  415. package/docs/en/guides/topic-detail/model/typescript-best-practice.mdx +0 -68
  416. package/docs/en/guides/topic-detail/model/use-model.mdx +0 -243
  417. package/docs/en/guides/topic-detail/model/use-out-of-modernjs.mdx +0 -46
  418. package/docs/en/plugin/official/cli-plugins/plugin-swc.mdx +0 -363
  419. package/docs/en/plugin/official/cli-plugins/plugin-tailwind.mdx +0 -5
  420. package/docs/en/plugin/official/rsbuild-plugins/_meta.json +0 -1
  421. package/docs/en/plugin/official/rsbuild-plugins/plugin-esbuild.mdx +0 -205
  422. package/docs/en/plugin/official/rsbuild-plugins.mdx +0 -3
  423. package/docs/en/tutorials/first-app/c01-start.mdx +0 -99
  424. package/docs/en/tutorials/first-app/c02-component.mdx +0 -60
  425. package/docs/en/tutorials/first-app/c03-css.mdx +0 -324
  426. package/docs/en/tutorials/first-app/c04-routes.mdx +0 -172
  427. package/docs/en/tutorials/first-app/c05-loader.mdx +0 -87
  428. package/docs/en/tutorials/first-app/c06-model.mdx +0 -278
  429. package/docs/en/tutorials/first-app/c07-container.mdx +0 -281
  430. package/docs/en/tutorials/first-app/c08-entries.mdx +0 -135
  431. package/docs/zh/apis/app/hooks/server/index_.mdx +0 -10
  432. package/docs/zh/apis/app/hooks/src/index_.mdx +0 -39
  433. package/docs/zh/apis/app/hooks/src/stories.mdx +0 -16
  434. package/docs/zh/apis/app/runtime/app/define-config.mdx +0 -67
  435. package/docs/zh/apis/app/runtime/core/bootstrap.mdx +0 -74
  436. package/docs/zh/apis/app/runtime/core/create-app.mdx +0 -35
  437. package/docs/zh/apis/app/runtime/core/use-loader.mdx +0 -89
  438. package/docs/zh/apis/app/runtime/core/use-module-apps.mdx +0 -179
  439. package/docs/zh/apis/app/runtime/core/use-runtime-context.mdx +0 -116
  440. package/docs/zh/apis/app/runtime/model/Provider.mdx +0 -36
  441. package/docs/zh/apis/app/runtime/model/auto-actions.mdx +0 -122
  442. package/docs/zh/apis/app/runtime/model/connect.mdx +0 -143
  443. package/docs/zh/apis/app/runtime/model/create-app.mdx +0 -75
  444. package/docs/zh/apis/app/runtime/model/create-store.mdx +0 -61
  445. package/docs/zh/apis/app/runtime/model/handle-effect.mdx +0 -108
  446. package/docs/zh/apis/app/runtime/model/model_.mdx +0 -201
  447. package/docs/zh/apis/app/runtime/model/use-local-model.mdx +0 -29
  448. package/docs/zh/apis/app/runtime/model/use-model.mdx +0 -89
  449. package/docs/zh/apis/app/runtime/model/use-static-model.mdx +0 -49
  450. package/docs/zh/apis/app/runtime/model/use-store.mdx +0 -26
  451. package/docs/zh/apis/app/runtime/ssr/pre-render.mdx +0 -96
  452. package/docs/zh/apis/app/runtime/web-server/hook.mdx +0 -136
  453. package/docs/zh/apis/app/runtime/web-server/middleware.mdx +0 -114
  454. package/docs/zh/apis/app/runtime/web-server/unstable_middleware.mdx +0 -165
  455. package/docs/zh/components/bff-proxy-path-rewrite.mdx +0 -16
  456. package/docs/zh/components/bff-proxy-principle.mdx +0 -1
  457. package/docs/zh/components/builder.mdx +0 -3
  458. package/docs/zh/components/create-bff-api-app.mdx +0 -25
  459. package/docs/zh/components/custom-router-micro-frontend.mdx +0 -40
  460. package/docs/zh/components/enable-micro-frontend.mdx +0 -30
  461. package/docs/zh/components/enableSwc.mdx +0 -17
  462. package/docs/zh/components/global-proxy-config.mdx +0 -85
  463. package/docs/zh/components/global-proxy.mdx +0 -29
  464. package/docs/zh/components/package-manager.mdx +0 -11
  465. package/docs/zh/components/reduck-notify.mdx +0 -27
  466. package/docs/zh/components/reduck-tip.mdx +0 -8
  467. package/docs/zh/configure/app/auto-load-plugin.mdx +0 -66
  468. package/docs/zh/configure/app/deploy/microFrontend.mdx +0 -55
  469. package/docs/zh/configure/app/dev/port.mdx +0 -25
  470. package/docs/zh/configure/app/dev/proxy.mdx +0 -9
  471. package/docs/zh/configure/app/experiments/lazy-compilation.mdx +0 -105
  472. package/docs/zh/configure/app/html/disable-html-folder.mdx +0 -45
  473. package/docs/zh/configure/app/html/favicon-by-entries.mdx +0 -37
  474. package/docs/zh/configure/app/html/inject-by-entries.mdx +0 -37
  475. package/docs/zh/configure/app/html/meta-by-entries.mdx +0 -48
  476. package/docs/zh/configure/app/html/tags-by-entries.mdx +0 -44
  477. package/docs/zh/configure/app/html/template-by-entries.mdx +0 -33
  478. package/docs/zh/configure/app/html/template-parameters-by-entries.mdx +0 -36
  479. package/docs/zh/configure/app/html/title-by-entries.mdx +0 -37
  480. package/docs/zh/configure/app/output/css-module-local-ident-name.mdx +0 -21
  481. package/docs/zh/configure/app/output/disable-css-extract.mdx +0 -16
  482. package/docs/zh/configure/app/output/disable-filename-hash.mdx +0 -16
  483. package/docs/zh/configure/app/output/disable-minimize.mdx +0 -14
  484. package/docs/zh/configure/app/output/disable-node-polyfill.mdx +0 -22
  485. package/docs/zh/configure/app/output/disable-source-map.mdx +0 -31
  486. package/docs/zh/configure/app/output/enable-asset-fallback.mdx +0 -36
  487. package/docs/zh/configure/app/output/enable-inline-scripts.mdx +0 -22
  488. package/docs/zh/configure/app/output/enable-inline-styles.mdx +0 -22
  489. package/docs/zh/configure/app/output/enable-latest-decorators.mdx +0 -14
  490. package/docs/zh/configure/app/performance/transform-lodash.mdx +0 -52
  491. package/docs/zh/configure/app/runtime/master-app.mdx +0 -38
  492. package/docs/zh/configure/app/runtime/state.mdx +0 -52
  493. package/docs/zh/configure/app/source/disable-entry-dirs.mdx +0 -38
  494. package/docs/zh/configure/app/source/enable-custom-entry.mdx +0 -67
  495. package/docs/zh/configure/app/source/module-scopes.mdx +0 -72
  496. package/docs/zh/configure/app/source/resolve-extension-prefix.mdx +0 -57
  497. package/docs/zh/configure/app/source/resolve-main-fields.mdx +0 -46
  498. package/docs/zh/configure/app/tools/esbuild.mdx +0 -44
  499. package/docs/zh/configure/app/tools/pug.mdx +0 -54
  500. package/docs/zh/configure/app/tools/styled-components.mdx +0 -54
  501. package/docs/zh/configure/app/tools/tailwindcss.mdx +0 -98
  502. package/docs/zh/configure/app/tools/terser.mdx +0 -58
  503. package/docs/zh/configure/app/tools/ts-loader.mdx +0 -76
  504. package/docs/zh/configure/app/tools/webpack-chain.mdx +0 -253
  505. package/docs/zh/configure/app/tools/webpack.mdx +0 -305
  506. package/docs/zh/guides/advanced-features/rspack-start.mdx +0 -154
  507. package/docs/zh/guides/deprecated.md +0 -19
  508. package/docs/zh/guides/topic-detail/micro-frontend/c01-introduction.mdx +0 -26
  509. package/docs/zh/guides/topic-detail/micro-frontend/c02-development.mdx +0 -332
  510. package/docs/zh/guides/topic-detail/micro-frontend/c03-main-app.mdx +0 -296
  511. package/docs/zh/guides/topic-detail/micro-frontend/c04-communicate.mdx +0 -58
  512. package/docs/zh/guides/topic-detail/micro-frontend/c05-mixed-stack.mdx +0 -27
  513. package/docs/zh/guides/topic-detail/model/_meta.json +0 -14
  514. package/docs/zh/guides/topic-detail/model/auto-actions.mdx +0 -88
  515. package/docs/zh/guides/topic-detail/model/computed-state.mdx +0 -147
  516. package/docs/zh/guides/topic-detail/model/define-model.mdx +0 -63
  517. package/docs/zh/guides/topic-detail/model/faq.mdx +0 -36
  518. package/docs/zh/guides/topic-detail/model/manage-effects.mdx +0 -256
  519. package/docs/zh/guides/topic-detail/model/model-communicate.mdx +0 -217
  520. package/docs/zh/guides/topic-detail/model/performance.mdx +0 -167
  521. package/docs/zh/guides/topic-detail/model/quick-start.mdx +0 -117
  522. package/docs/zh/guides/topic-detail/model/redux-integration.mdx +0 -20
  523. package/docs/zh/guides/topic-detail/model/typescript-best-practice.mdx +0 -67
  524. package/docs/zh/guides/topic-detail/model/use-model.mdx +0 -248
  525. package/docs/zh/guides/topic-detail/model/use-out-of-modernjs.mdx +0 -46
  526. package/docs/zh/plugin/official/cli-plugins/plugin-swc.mdx +0 -351
  527. package/docs/zh/plugin/official/cli-plugins/plugin-tailwind.mdx +0 -5
  528. package/docs/zh/plugin/official/rsbuild-plugins/_meta.json +0 -1
  529. package/docs/zh/plugin/official/rsbuild-plugins/plugin-esbuild.mdx +0 -201
  530. package/docs/zh/plugin/official/rsbuild-plugins.mdx +0 -3
  531. package/docs/zh/tutorials/first-app/c01-start.mdx +0 -99
  532. package/docs/zh/tutorials/first-app/c02-component.mdx +0 -60
  533. package/docs/zh/tutorials/first-app/c03-css.mdx +0 -323
  534. package/docs/zh/tutorials/first-app/c04-routes.mdx +0 -172
  535. package/docs/zh/tutorials/first-app/c05-loader.mdx +0 -89
  536. package/docs/zh/tutorials/first-app/c06-model.mdx +0 -274
  537. package/docs/zh/tutorials/first-app/c07-container.mdx +0 -281
  538. package/docs/zh/tutorials/first-app/c08-entries.mdx +0 -135
  539. /package/docs/en/components/{reduck-migration.mdx → auto-upgrade.mdx} +0 -0
  540. /package/docs/{zh/components/reduck-migration.mdx → en/components/international/platform-support.mdx} +0 -0
@@ -0,0 +1,463 @@
1
+ # 入口变更
2
+
3
+ 本章节介绍 Modern.js 从 2.0 升级到 3.0 时,页面入口相关的变更内容。
4
+
5
+ ## 概述
6
+
7
+ Modern.js 3.0 对入口机制进行了优化和简化,主要变更包括:
8
+
9
+ - **入口文件命名变更**:自定义入口文件从 `index.[jt]sx` 改为 `entry.[jt]sx`
10
+ - **Bootstrap 函数替换**:使用新的 `createRoot` 和 `render` API
11
+ - **运行时配置迁移**:`App.config` 和 `routes/layout` 的 `config` 导出需要迁移
12
+ - **初始化逻辑迁移**:`App.init` 和 `routes/layout` 的 `init` 导出需要改为运行时插件
13
+
14
+ ## 入口类型识别
15
+
16
+ 在开始迁移前,首先需要识别你的项目使用的入口类型。
17
+
18
+ ### 入口识别条件
19
+
20
+ Modern.js 会扫描目录并识别符合以下**任一条件**的入口:
21
+
22
+ 1. **具有 `routes/` 目录** → 约定式路由入口
23
+ 2. **具有 `App.[jt]sx?` 文件** → 自控式路由入口
24
+ 3. **具有 `index.[jt]sx?` 文件(2.0)或 `entry.[jt]sx?` 文件(3.0)**→ 自定义入口
25
+
26
+ ### 单入口 vs 多入口
27
+
28
+ **单入口应用**:默认扫描 `src/` 目录
29
+
30
+ ```bash
31
+ src/
32
+ ├── routes/ # 或者
33
+ ├── App.tsx # 或者
34
+ └── index.tsx # 2.0 版本
35
+ ```
36
+
37
+ **多入口应用**:扫描 `src/` 目录下的一级子目录
38
+
39
+ ```bash
40
+ src/
41
+ ├── entry1/
42
+ │ └── routes/ # 每个子目录都是一个入口
43
+ └── entry2/
44
+ └── App.tsx
45
+ ```
46
+
47
+ :::tip
48
+ 你可以通过 [source.entriesDir](/configure/app/source/entries-dir) 配置修改入口扫描目录。
49
+ :::
50
+
51
+ ## 迁移步骤
52
+
53
+ 本小节中的迁移操作都是仅当项目中实际存在对应用法时才需要执行,例如 `bootstrap` 函数、`App.config/App.init`、`routes/layout.tsx` 中的 `config/init` 函数等。
54
+
55
+ ### 1.自定义入口文件重命名
56
+
57
+ 如果你的项目使用了自定义入口文件(`index.[jt]sx`),需要将其重命名为 `entry.[jt]sx`。
58
+
59
+ **2.0 版本:**
60
+
61
+ ```bash
62
+ src/
63
+ └── index.tsx
64
+ ```
65
+
66
+ **3.0 版本:**
67
+
68
+ ```bash
69
+ src/
70
+ └── entry.tsx
71
+ ```
72
+
73
+ ### 2.Bootstrap 函数迁移
74
+
75
+ 如果你的入口文件导出了一个接收 `App` 和 `bootstrap` 参数的函数,需要改用新的 API。
76
+
77
+ **2.0 版本:**
78
+
79
+ ```tsx title="src/index.tsx"
80
+ export default (App: React.ComponentType, bootstrap: () => void) => {
81
+ // 执行初始化操作
82
+ initSomething().then(() => {
83
+ bootstrap();
84
+ });
85
+ };
86
+ ```
87
+
88
+ **3.0 版本:**
89
+
90
+ ```tsx title="src/entry.tsx"
91
+ import { createRoot } from '@modern-js/runtime/react';
92
+ import { render } from '@modern-js/runtime/browser';
93
+
94
+ // 创建根组件
95
+ const ModernRoot = createRoot();
96
+
97
+ // 执行初始化操作
98
+ async function beforeRender() {
99
+ await initSomething();
100
+ }
101
+
102
+ // 渲染应用
103
+ beforeRender().then(() => {
104
+ render(<ModernRoot />);
105
+ });
106
+ ```
107
+
108
+ :::info 说明
109
+
110
+ - `createRoot()` 返回的组件对应 `routes/` 目录生成或 `App.tsx` 导出的组件
111
+ - `render()` 函数用于处理渲染与挂载组件
112
+
113
+ :::
114
+
115
+ ### 3.App.config 迁移
116
+
117
+ 如果你在 `App.[tj]sx` 中定义了 `App.config`,需要将其迁移到运行时配置文件中。
118
+
119
+ **2.0 版本:**
120
+
121
+ ```tsx title="src/App.tsx"
122
+ const App = () => {
123
+ return <div>Hello</div>;
124
+ };
125
+
126
+ App.config = {
127
+ router: {
128
+ supportHtml5History: true,
129
+ },
130
+ };
131
+
132
+ export default App;
133
+ ```
134
+
135
+ **3.0 版本:**
136
+
137
+ 在入口同级目录创建 `modern.runtime.ts`:
138
+
139
+ ```ts title="src/modern.runtime.ts"
140
+ import { defineRuntimeConfig } from '@modern-js/runtime';
141
+
142
+ export default defineRuntimeConfig({
143
+ router: {
144
+ supportHtml5History: true,
145
+ },
146
+ });
147
+ ```
148
+
149
+ :::warning 注意
150
+ Modern.js 3.0 不再支持在 `modern.config.ts` 中配置 runtime,必须使用 `modern.runtime.ts` 文件。
151
+ :::
152
+
153
+ ### 4.App.init 迁移
154
+
155
+ 如果你在 `App.[tj]sx` 中定义了 `App.init`,需要将其改为运行时插件。
156
+
157
+ **2.0 版本:**
158
+
159
+ ```tsx title="src/App.tsx"
160
+ const App = () => {
161
+ return <div>Hello</div>;
162
+ };
163
+
164
+ App.init = context => {
165
+ context.store = createStore();
166
+ context.request = (url: string) => fetch(url);
167
+ };
168
+
169
+ export default App;
170
+ ```
171
+
172
+ **3.0 版本:**
173
+
174
+ ```ts title="src/modern.runtime.ts"
175
+ import type { RuntimePlugin } from '@modern-js/runtime';
176
+ import { defineRuntimeConfig } from '@modern-js/runtime';
177
+
178
+ const initPlugin = (): RuntimePlugin => ({
179
+ name: 'init-plugin',
180
+ setup: api => {
181
+ return {
182
+ init({ context }) {
183
+ context.store = createStore();
184
+ context.request = (url: string) => fetch(url);
185
+ },
186
+ };
187
+ },
188
+ });
189
+
190
+ export default defineRuntimeConfig({
191
+ plugins: [initPlugin()],
192
+ });
193
+ ```
194
+
195
+ ### 5.routes/layout.tsx 中的 config 导出迁移
196
+
197
+ 如果你在 `routes/layout.tsx` 中导出了 `config` 函数,需要将其迁移到运行时配置文件。
198
+
199
+ **2.0 版本:**
200
+
201
+ ```tsx title="src/routes/layout.tsx"
202
+ export const config = () => {
203
+ return {
204
+ router: {
205
+ supportHtml5History: true,
206
+ },
207
+ };
208
+ };
209
+
210
+ export default function Layout() {
211
+ return <Outlet />;
212
+ }
213
+ ```
214
+
215
+ **3.0 版本:**
216
+
217
+ ```tsx title="src/routes/layout.tsx"
218
+ export default function Layout() {
219
+ return <Outlet />;
220
+ }
221
+ ```
222
+
223
+ ```ts title="src/modern.runtime.ts"
224
+ import { defineRuntimeConfig } from '@modern-js/runtime';
225
+
226
+ export default defineRuntimeConfig({
227
+ router: {
228
+ supportHtml5History: true,
229
+ },
230
+ });
231
+ ```
232
+
233
+ ### 6.routes/layout.tsx 中的 init 导出迁移
234
+
235
+ 如果你在 `routes/layout.tsx` 中导出了 `init` 函数,需要将其改为运行时插件。
236
+
237
+ **2.0 版本:**
238
+
239
+ ```tsx title="src/routes/layout.tsx"
240
+ export const init = context => {
241
+ context.request = (url: string) => fetch(url);
242
+ };
243
+
244
+ export default function Layout() {
245
+ return <Outlet />;
246
+ }
247
+ ```
248
+
249
+ **3.0 版本:**
250
+
251
+ ```tsx title="src/routes/layout.tsx"
252
+ export default function Layout() {
253
+ return <Outlet />;
254
+ }
255
+ ```
256
+
257
+ ```ts title="src/modern.runtime.ts"
258
+ import type { RuntimePlugin } from '@modern-js/runtime';
259
+ import { defineRuntimeConfig } from '@modern-js/runtime';
260
+
261
+ const initPlugin = (): RuntimePlugin => ({
262
+ name: 'init-plugin',
263
+ setup: api => {
264
+ return {
265
+ init({ context }) {
266
+ context.request = (url: string) => fetch(url);
267
+ },
268
+ };
269
+ },
270
+ });
271
+
272
+ export default defineRuntimeConfig({
273
+ plugins: [initPlugin()],
274
+ });
275
+ ```
276
+
277
+ ## 多入口应用迁移注意事项
278
+
279
+ 对于多入口应用,需要在 `src/modern.runtime.ts` 中使用函数形式的配置,根据入口名称返回不同的运行时配置。
280
+
281
+ ### 配置方式
282
+
283
+ **目录结构:**
284
+
285
+ ```bash
286
+ src/
287
+ ├── modern.runtime.ts # 统一的运行时配置文件
288
+ ├── entry1/
289
+ │ └── routes/
290
+ └── entry2/
291
+ └── App.tsx
292
+ ```
293
+
294
+ **配置示例:**
295
+
296
+ ```ts title="src/modern.runtime.ts"
297
+ import { defineRuntimeConfig } from '@modern-js/runtime';
298
+
299
+ export default defineRuntimeConfig(entryName => {
300
+ // 公共配置
301
+ const commonConfig = {
302
+ plugins: [commonPlugin()],
303
+ };
304
+
305
+ // 根据入口名称返回特定配置
306
+ if (entryName === 'entry1') {
307
+ return {
308
+ ...commonConfig,
309
+ router: {
310
+ supportHtml5History: true,
311
+ },
312
+ plugins: [...commonConfig.plugins, entry1Plugin()],
313
+ };
314
+ }
315
+
316
+ if (entryName === 'entry2') {
317
+ return {
318
+ ...commonConfig,
319
+ router: {
320
+ supportHtml5History: false,
321
+ },
322
+ plugins: [...commonConfig.plugins, entry2Plugin()],
323
+ };
324
+ }
325
+
326
+ // 默认配置
327
+ return commonConfig;
328
+ });
329
+ ```
330
+
331
+ :::info 说明
332
+
333
+ - `entryName` 参数对应入口目录名称
334
+ - 主入口(与 `package.json` 中 `name` 同名):传入的是该目录名
335
+ - 其他入口:传入的是入口目录名
336
+
337
+ :::
338
+
339
+ ### 迁移注意事项
340
+
341
+ 1. **合并同一入口的配置**:如果同一入口下同时存在 `App.config/App.init` 和 `routes/layout.tsx` 的 `config/init`,需要将它们合并到 `src/modern.runtime.ts` 文件中对应入口的配置里
342
+
343
+ 2. **多个插件并列配置**:多个运行时插件可以在 `plugins` 数组中并列配置
344
+
345
+ 3. **清理旧代码**:迁移完成后,记得删除原文件中的:
346
+ - `App.config` 属性
347
+ - `App.init` 方法
348
+ - `routes/layout.tsx` 中的 `config` 导出
349
+ - `routes/layout.tsx` 中的 `init` 导出
350
+
351
+ ### 迁移示例
352
+
353
+ 假设你有一个 2.0 版本的多入口应用:
354
+
355
+ **2.0 版本目录结构:**
356
+
357
+ ```bash
358
+ src/
359
+ ├── main/
360
+ │ ├── routes/
361
+ │ │ └── layout.tsx # 含 config 和 init
362
+ │ └── App.tsx # 含 App.config 和 App.init
363
+ └── admin/
364
+ └── routes/
365
+ └── layout.tsx # 含 config 和 init
366
+ ```
367
+
368
+ **2.0 版本配置:**
369
+
370
+ ```tsx title="src/main/App.tsx"
371
+ const App = () => <div>Main App</div>;
372
+
373
+ App.config = {
374
+ router: { supportHtml5History: true },
375
+ };
376
+
377
+ App.init = context => {
378
+ context.mainData = 'main';
379
+ };
380
+ ```
381
+
382
+ ```tsx title="src/admin/routes/layout.tsx"
383
+ export const config = () => ({
384
+ router: { supportHtml5History: false },
385
+ });
386
+
387
+ export const init = context => {
388
+ context.adminData = 'admin';
389
+ };
390
+ ```
391
+
392
+ **3.0 版本迁移后:**
393
+
394
+ ```bash
395
+ src/
396
+ ├── modern.runtime.ts # 新增统一配置文件
397
+ ├── main/
398
+ │ ├── routes/
399
+ │ │ └── layout.tsx # 移除 config 和 init
400
+ │ └── App.tsx # 移除 App.config 和 App.init
401
+ └── admin/
402
+ └── routes/
403
+ └── layout.tsx # 移除 config 和 init
404
+ ```
405
+
406
+ ```ts title="src/modern.runtime.ts"
407
+ import { defineRuntimeConfig } from '@modern-js/runtime';
408
+ import type { RuntimePlugin } from '@modern-js/runtime';
409
+
410
+ // main 入口的初始化插件
411
+ const mainInitPlugin = (): RuntimePlugin => ({
412
+ name: 'main-init-plugin',
413
+ setup: api => {
414
+ return {
415
+ init({ context }) {
416
+ context.mainData = 'main';
417
+ },
418
+ };
419
+ },
420
+ });
421
+
422
+ // admin 入口的初始化插件
423
+ const adminInitPlugin = (): RuntimePlugin => ({
424
+ name: 'admin-init-plugin',
425
+ setup: api => {
426
+ return {
427
+ init({ context }) {
428
+ context.adminData = 'admin';
429
+ },
430
+ };
431
+ },
432
+ });
433
+
434
+ export default defineRuntimeConfig(entryName => {
435
+ if (entryName === 'main') {
436
+ return {
437
+ router: {
438
+ supportHtml5History: true,
439
+ },
440
+ plugins: [mainInitPlugin()],
441
+ };
442
+ }
443
+
444
+ if (entryName === 'admin') {
445
+ return {
446
+ router: {
447
+ supportHtml5History: false,
448
+ },
449
+ plugins: [adminInitPlugin()],
450
+ };
451
+ }
452
+
453
+ return {};
454
+ });
455
+ ```
456
+
457
+ ## 相关链接
458
+
459
+ - [页面入口](/guides/concept/entries)
460
+ - [运行时配置](/configure/app/runtime/0-intro)
461
+ - [Runtime 插件](/plugin/introduction.html#runtime-插件)
462
+ - [source.entries 配置](/configure/app/source/entries)
463
+ - [source.entriesDir 配置](/configure/app/source/entries-dir)
@@ -0,0 +1,90 @@
1
+ # 其他重要变更
2
+
3
+ 本篇文档介绍从 Modern.js 2.0 升级到 3.0 时,其他重要的不兼容变更以及相关的迁移说明。
4
+
5
+ ## 不再支持 webpack 构建
6
+
7
+ Modern.js 3.0 不再支持使用 webpack 作为构建工具,默认使用 Rspack 作为构建 bundler。Rspack 基于 Rust 实现,构建速度相比 webpack 有显著提升,同时与 webpack 配置高度兼容,大部分配置可以直接迁移。
8
+
9
+ 如果你的项目之前使用了 webpack 特定的配置或插件,需要检查项目中是否有 webpack 相关的自定义配置,并确认使用的 webpack 插件是否有 Rspack 对应版本。
10
+
11
+ :::tip
12
+ Rspack 与 webpack 配置高度兼容,大部分情况下无需修改即可使用。
13
+ :::
14
+
15
+ ## 入口名称变化
16
+
17
+ Modern.js 3.0 将项目默认入口名称改为 `index`,默认构建出的 HTML 文件为 `index.html`。`index.html` 是大多数 Web 服务器的默认首页文件,无需额外配置。
18
+
19
+ 如果你的项目部署配置中指定了特定的入口文件名,需要更新为 `index.html`。
20
+
21
+ ## API 引入路径
22
+
23
+ Modern.js 3.0 对部分运行时进行了调整,需要更新相关的导入路径。路径映射对照如下:
24
+
25
+ | 旧版路径 | 新版路径 | 说明 |
26
+ |---------|---------|------|
27
+ | `@modern-js/runtime/bff` | `@modern-js/plugin-bff/runtime` | BFF 运行时路径 |
28
+ | `@modern-js/runtime/server` | `@modern-js/server-runtime` | 服务端运行时路径 |
29
+
30
+ ## 不再支持 pages 目录的约定式路由
31
+
32
+ Modern.js 3.0 不再支持 Modern.js 1.0 版本引入的 `pages` 目录的约定式路由,统一使用 `routes` 目录的约定式路由。
33
+
34
+ 如果你的项目使用了 `pages` 目录,需要将 `src/pages` 目录重命名为 `src/routes`,并更新项目中所有引用 `pages` 目录的导入路径。详细迁移步骤请参考 [约定式路由文档](/guides/basic-features/routes/routes)。
35
+
36
+ ## SSR Mode 默认值变化
37
+
38
+ Modern.js 3.0 将 `server.ssr.mode` 的默认值从 `'string'` 改为 `'stream'`。这意味着当启用 SSR 时,默认使用流式渲染(streaming rendering)而不是传统的字符串渲染。
39
+
40
+ 对于 React 18 及以上项目,把 `ssr.mode` 的值由 `'stream'` 改为 `'string'`,不对 Data Loader 中的代码进行修改或使用 Suspense 的话,从渲染结果上没有任何影响。如果你的项目依赖了 React17,请把 `ssr.mode` 的值手动设置为 `'string'`。
41
+
42
+
43
+ ## 使用 React Router v7
44
+
45
+ Modern.js 3.0 默认使用 React Router v7 作为路由库。React Router v7 相比 v6 只有少量的 [不兼容变更](https://reactrouter.com/upgrading/v6)。
46
+
47
+ 如果需要使用 React Router v5 或 React Router v6,需要使用**自控式路由**模式。自控式路由允许你完全控制路由配置,不受 Modern.js 约定式路由的限制。
48
+
49
+ ## 使用 @modern-js/create 创建 Monorepo 和 Modern.js Module
50
+
51
+ Modern.js 3.0 不再支持通过 `@modern-js/create` 创建 Monorepo 项目和 Modern.js Module 项目。
52
+
53
+ **变更内容**:
54
+
55
+ - 在 [v2.53.0](https://github.com/web-infra-dev/modern.js/releases/tag/v2.53.0) 版本中,移除了使用 `@modern-js/create` 创建 Monorepo 项目的功能
56
+ - 在 [v2.61.0](https://github.com/web-infra-dev/modern.js/releases/tag/v2.61.0) 版本中,移除了使用 `@modern-js/create` 和 `modern new` 命令创建 Modern.js Module 项目的功能
57
+
58
+ **处理方式**:
59
+
60
+ - **Monorepo 项目**:Modern.js 之前提供的 Monorepo 方案是基于 [pnpm Workspace](https://pnpm.io/workspaces) 实现的,并未提供实质性的 Monorepo 管理能力。推荐直接使用社区提供的 Monorepo 方案,如 [Turborepo](https://turbo.build/)、[Nx](https://nx.dev/) 等。
61
+ - **Modern.js Module 项目**:推荐使用 [Rslib](https://rslib.rs/) 来创建和管理 JavaScript 库和 UI 组件项目。Rslib 是基于 Rsbuild 的库开发工具,提供了简单直观的方式来创建 JavaScript 库。详细使用方式请参考 [Rslib 官方文档](https://rslib.rs/)。
62
+
63
+ ## new 命令和 upgrade 命令移除
64
+
65
+ Modern.js 3.0 移除了 `modern new` 和 `modern upgrade` 命令,需要按照文档手动操作。
66
+
67
+ **变更内容**:
68
+
69
+ - `modern new` 命令在 Modern.js 3.0 中不再支持,无法通过命令添加入口或启用功能
70
+ - `modern upgrade` 命令在 Modern.js 3.0 中不再支持,无法通过命令自动升级依赖
71
+
72
+ **处理方式**:
73
+
74
+ - **添加入口**:需要按照文档手动创建入口目录和文件。详细步骤请参考[页面入口文档](/guides/concept/entries)。
75
+ - **启用功能**:需要按照对应功能的文档手动安装依赖和配置。例如启用 BFF 功能,需要安装 `@modern-js/plugin-bff` 插件并在 `modern.config.ts` 中配置。
76
+ - **升级依赖**:需要手动更新 `package.json` 中所有 `@modern-js/**` 包的版本,然后重新安装依赖。详细步骤请参考[版本升级文档](/guides/get-started/upgrade)。
77
+
78
+ :::info 说明
79
+ 移除这些命令的目的是让文档更贴合 AI Agent 的默认实现方式,不把操作做封装,使开发者能够更清晰地了解每个操作的具体步骤,也便于 AI Agent 根据文档直接执行相应的操作。
80
+ :::
81
+
82
+ ## Eslint 规则集
83
+
84
+ Modern.js 之前提供了 ESLint 的完整规则集,涵盖了 @modern-js(针对 Node.js 项目的 Lint 规则)和 @modern-js-app(针对前端项目的 Lint 规则)。在 [v2.60.0](https://github.com/web-infra-dev/modern.js/releases/tag/v2.60.0) 版本中,我们正式移除了这些规则集。我们鼓励开发者根据自身需求选择合适的代码规范工具,直接使用 ESLint 并结合社区推荐的规则,或使用 Biome 以提升代码格式化的性能。
85
+
86
+
87
+
88
+
89
+
90
+
@@ -0,0 +1,36 @@
1
+ # 概述
2
+
3
+ 本文档将帮助您从 Modern.js 2.0 升级到 Modern.js 3.0。
4
+
5
+ ## 升级概览
6
+
7
+ Modern.js 3.0 带来了多项重大改进和变化,主要包括:
8
+
9
+ - **构建工具升级**:默认使用 [Rspack](https://rspack.dev) 构建,不再支持 Webpack,构建配置与 [Rsbuild](https://rsbuild.dev) 对齐。
10
+ - **React 生态升级**:全面支持 [React 19](https://react.dev/blog/2024/04/25/react-19) 和 [React Router v7](https://reactrouter.com)。
11
+ - **插件系统重构**:重新设计插件 API,支持在 CLI、Runtime、Server 层通过自定义插件扩展框架能力。
12
+ - **React Server Component**:支持在 [CSR](/guides/get-started/glossary#csr) 和 [SSR](/guides/basic-features/render/ssr) 项目中使用 React Server Component。
13
+ - **国际化增强**:提供开箱即用的 [i18n 插件](/guides/advanced-features/international),简化国际化开发流程。
14
+ - **SSG 能力完善**:提供完整的[静态站点生成(SSG)](/guides/basic-features/render/ssg)支持。
15
+ - **路由配置增强**:支持[配置式路由](/guides/basic-features/routes/config-routes),可单独使用或与[约定式路由](/guides/basic-features/routes/routes)结合,提供更灵活的路由定义方式。
16
+
17
+
18
+ ## 升级前置检查
19
+
20
+ 在开始升级之前,请确认:
21
+
22
+ 1. 当前项目使用的是 Modern.js 2.0
23
+ 2. 确定使用的 react 版本是 17 及以上
24
+ 2. 确定使用的 node.js 版本是 18.20.8 及以上,推荐使用 node.js 22 以上版本
25
+
26
+
27
+ ## 获取帮助
28
+
29
+ 如果在升级过程中遇到任何问题,您可以通过以下方式获取帮助:
30
+
31
+ - 查阅 [Modern.js 官方文档](https://modernjs.dev)
32
+ - 在 [GitHub Issues](https://github.com/web-infra-dev/modern.js/issues) 中搜索相关问题或提交新的 issue
33
+ - 加入 [Modern.js Discord 社区](https://discord.gg/modernjs)与其他开发者交流
34
+
35
+ 我们建议在提交 issue 时提供尽可能详细的信息,包括错误日志、配置文件和复现步骤,以便更快地解决问题
36
+