@modern-js/main-doc 2.21.1 → 2.22.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (292) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/docs/en/apis/app/commands.mdx +5 -5
  3. package/docs/en/apis/app/hooks/api/api.mdx +80 -0
  4. package/docs/en/apis/app/hooks/api/app.mdx +12 -0
  5. package/docs/en/apis/app/hooks/api/lambda.mdx +57 -0
  6. package/docs/en/apis/app/hooks/api/test.mdx +1 -1
  7. package/docs/en/apis/app/hooks/config/html.mdx +2 -2
  8. package/docs/en/apis/app/hooks/config/icon.mdx +19 -19
  9. package/docs/en/apis/app/hooks/config/mock.mdx +1 -1
  10. package/docs/en/apis/app/hooks/config/public.mdx +10 -10
  11. package/docs/en/apis/app/hooks/config/storybook.mdx +3 -3
  12. package/docs/en/apis/app/hooks/config/upload.mdx +13 -13
  13. package/docs/en/apis/app/hooks/modern-config.mdx +4 -4
  14. package/docs/en/apis/app/hooks/server/index_.mdx +2 -9
  15. package/docs/en/apis/app/hooks/server/test.mdx +5 -2
  16. package/docs/en/apis/app/hooks/shared.mdx +1 -1
  17. package/docs/en/apis/app/hooks/src/app.mdx +17 -27
  18. package/docs/en/apis/app/hooks/src/index_.mdx +6 -6
  19. package/docs/en/apis/app/hooks/src/pages.mdx +41 -37
  20. package/docs/en/apis/app/hooks/src/routes.mdx +16 -36
  21. package/docs/en/apis/app/hooks/src/server.mdx +1 -1
  22. package/docs/en/apis/app/hooks/src/stories.mdx +6 -3
  23. package/docs/en/apis/app/hooks/src/test.mdx +4 -3
  24. package/docs/en/apis/app/runtime/core/use-runtime-context.mdx +5 -1
  25. package/docs/en/apis/app/runtime/web-server/hook.mdx +2 -2
  26. package/docs/en/apis/app/runtime/web-server/middleware.mdx +2 -2
  27. package/docs/en/components/debug-app.mdx +1 -1
  28. package/docs/en/components/deploy.mdx +1 -0
  29. package/docs/en/components/entry-mode.mdx +0 -0
  30. package/docs/en/components/init-app.mdx +6 -10
  31. package/docs/en/components/init-rspack-app.mdx +4 -4
  32. package/docs/en/components/language-config.mdx +9 -0
  33. package/docs/en/components/package-manager.mdx +11 -0
  34. package/docs/en/components/release-note.mdx +1 -0
  35. package/docs/en/components/ua-polyfill.mdx +2 -2
  36. package/docs/en/configure/app/output/css-modules.mdx +13 -0
  37. package/docs/en/configure/app/source/config-dir.mdx +1 -1
  38. package/docs/en/configure/app/source/design-system.mdx +67 -67
  39. package/docs/en/configure/app/source/disable-default-entries.mdx +6 -5
  40. package/docs/en/configure/app/source/disable-entry-dirs.mdx +5 -5
  41. package/docs/en/configure/app/source/enable-async-entry.mdx +9 -9
  42. package/docs/en/configure/app/source/entries-dir.mdx +3 -3
  43. package/docs/en/configure/app/source/entries.mdx +21 -19
  44. package/docs/en/configure/app/tools/swc.mdx +2 -16
  45. package/docs/en/guides/advanced-features/bff/frameworks.mdx +2 -2
  46. package/docs/en/guides/advanced-features/bff/function.mdx +4 -4
  47. package/docs/en/guides/advanced-features/bff/type.mdx +5 -5
  48. package/docs/en/guides/advanced-features/rspack-start.mdx +7 -8
  49. package/docs/en/guides/advanced-features/ssg.mdx +2 -2
  50. package/docs/en/guides/advanced-features/testing.mdx +2 -2
  51. package/docs/en/guides/advanced-features/web-server.mdx +2 -2
  52. package/docs/en/guides/basic-features/css.mdx +2 -2
  53. package/docs/en/guides/basic-features/mock.mdx +1 -1
  54. package/docs/en/guides/basic-features/routes.mdx +11 -7
  55. package/docs/en/guides/concept/builder.mdx +15 -15
  56. package/docs/en/guides/concept/entries.mdx +50 -49
  57. package/docs/en/guides/get-started/glossary.mdx +12 -12
  58. package/docs/en/guides/get-started/introduction.mdx +17 -20
  59. package/docs/en/guides/get-started/quick-start.mdx +21 -37
  60. package/docs/en/guides/get-started/upgrade.mdx +15 -13
  61. package/docs/en/guides/topic-detail/changesets/_category_.json +4 -0
  62. package/docs/en/guides/topic-detail/changesets/add.mdx +125 -0
  63. package/docs/en/guides/topic-detail/changesets/changelog.mdx +238 -0
  64. package/docs/en/guides/topic-detail/changesets/commit.mdx +269 -0
  65. package/docs/en/guides/topic-detail/changesets/config.mdx +147 -0
  66. package/docs/en/guides/topic-detail/changesets/github.mdx +175 -0
  67. package/docs/en/guides/topic-detail/changesets/introduce.mdx +56 -0
  68. package/docs/en/guides/topic-detail/changesets/release-note.mdx +273 -0
  69. package/docs/en/guides/topic-detail/changesets/release-pre.mdx +49 -0
  70. package/docs/en/guides/topic-detail/changesets/release.mdx +229 -0
  71. package/docs/en/guides/topic-detail/generator/create/_category_.json +4 -0
  72. package/docs/en/guides/topic-detail/generator/create/config.mdx +75 -0
  73. package/docs/en/guides/topic-detail/generator/create/option.md +151 -0
  74. package/docs/en/guides/topic-detail/generator/create/use.mdx +66 -0
  75. package/docs/en/guides/topic-detail/generator/new/_category_.json +4 -0
  76. package/docs/en/guides/topic-detail/generator/new/config.md +155 -0
  77. package/docs/en/guides/topic-detail/generator/new/option.md +67 -0
  78. package/docs/en/guides/topic-detail/generator/new/use.md +95 -0
  79. package/docs/en/guides/topic-detail/generator/plugin/_category_.json +2 -2
  80. package/docs/en/guides/topic-detail/generator/plugin/api/_category_.json +1 -1
  81. package/docs/en/guides/topic-detail/generator/plugin/api/afterForged.md +49 -0
  82. package/docs/en/guides/topic-detail/generator/plugin/api/context.md +184 -0
  83. package/docs/en/guides/topic-detail/generator/plugin/api/input.md +124 -0
  84. package/docs/en/guides/topic-detail/generator/plugin/api/onForged.md +310 -0
  85. package/docs/en/guides/topic-detail/generator/plugin/category.md +88 -0
  86. package/docs/en/guides/topic-detail/generator/plugin/context.md +104 -0
  87. package/docs/en/guides/topic-detail/generator/plugin/structure.md +106 -0
  88. package/docs/en/guides/topic-detail/generator/plugin/use.md +33 -0
  89. package/docs/en/guides/topic-detail/micro-frontend/c02-development.mdx +8 -8
  90. package/docs/en/guides/troubleshooting/builder.mdx +8 -0
  91. package/docs/en/tutorials/first-app/c03-css.mdx +2 -2
  92. package/docs/en/tutorials/first-app/c08-entries.mdx +3 -3
  93. package/docs/zh/apis/app/commands.mdx +3 -3
  94. package/docs/zh/apis/app/hooks/api/{functions/api.mdx → api.mdx} +4 -4
  95. package/docs/zh/apis/app/hooks/api/app.mdx +12 -0
  96. package/docs/zh/apis/app/hooks/api/{framework/lambda.mdx → lambda.mdx} +5 -5
  97. package/docs/zh/apis/app/hooks/api/test.mdx +3 -3
  98. package/docs/zh/apis/app/hooks/config/icon.mdx +15 -15
  99. package/docs/zh/apis/app/hooks/config/mock.mdx +1 -1
  100. package/docs/zh/apis/app/hooks/config/public.mdx +3 -3
  101. package/docs/zh/apis/app/hooks/config/upload.mdx +1 -1
  102. package/docs/zh/apis/app/hooks/modern-config.mdx +3 -3
  103. package/docs/zh/apis/app/hooks/server/index_.mdx +1 -6
  104. package/docs/zh/apis/app/hooks/shared.mdx +1 -1
  105. package/docs/zh/apis/app/hooks/src/app.mdx +15 -25
  106. package/docs/zh/apis/app/hooks/src/index_.mdx +6 -6
  107. package/docs/zh/apis/app/hooks/src/pages.mdx +7 -3
  108. package/docs/zh/apis/app/hooks/src/routes.mdx +4 -4
  109. package/docs/zh/apis/app/hooks/src/stories.mdx +1 -1
  110. package/docs/zh/apis/app/runtime/core/use-runtime-context.mdx +5 -1
  111. package/docs/zh/community/blog/v2-release-note.mdx +1 -1
  112. package/docs/zh/community/contributing-guide.mdx +1 -1
  113. package/docs/zh/components/entry-mode.mdx +0 -0
  114. package/docs/zh/components/init-app.mdx +5 -9
  115. package/docs/zh/components/language-config.mdx +9 -0
  116. package/docs/zh/components/package-manager.mdx +11 -0
  117. package/docs/zh/components/ua-polyfill.mdx +1 -1
  118. package/docs/zh/configure/app/output/css-modules.mdx +13 -0
  119. package/docs/zh/configure/app/source/design-system.mdx +3 -4
  120. package/docs/zh/configure/app/source/enable-async-entry.mdx +2 -5
  121. package/docs/zh/configure/app/source/entries.mdx +2 -2
  122. package/docs/zh/configure/app/tools/swc.mdx +2 -16
  123. package/docs/zh/guides/advanced-features/rspack-start.mdx +7 -8
  124. package/docs/zh/guides/advanced-features/ssg.mdx +1 -1
  125. package/docs/zh/guides/advanced-features/testing.mdx +2 -2
  126. package/docs/zh/guides/advanced-features/web-server.mdx +1 -1
  127. package/docs/zh/guides/basic-features/css.mdx +1 -1
  128. package/docs/zh/guides/basic-features/mock.mdx +1 -1
  129. package/docs/zh/guides/basic-features/routes.mdx +7 -4
  130. package/docs/zh/guides/concept/builder.mdx +1 -1
  131. package/docs/zh/guides/concept/entries.mdx +21 -17
  132. package/docs/zh/guides/get-started/quick-start.mdx +7 -10
  133. package/docs/zh/guides/get-started/upgrade.mdx +1 -1
  134. package/docs/zh/guides/topic-detail/changesets/add.mdx +15 -13
  135. package/docs/zh/guides/topic-detail/changesets/changelog.mdx +20 -20
  136. package/docs/zh/guides/topic-detail/changesets/commit.mdx +12 -14
  137. package/docs/zh/guides/topic-detail/changesets/config.mdx +5 -5
  138. package/docs/zh/guides/topic-detail/changesets/github.mdx +38 -27
  139. package/docs/zh/guides/topic-detail/changesets/introduce.mdx +12 -12
  140. package/docs/zh/guides/topic-detail/changesets/release-note.mdx +84 -70
  141. package/docs/zh/guides/topic-detail/changesets/release-pre.mdx +9 -9
  142. package/docs/zh/guides/topic-detail/changesets/release.mdx +29 -29
  143. package/docs/zh/guides/topic-detail/generator/create/_category_.json +4 -0
  144. package/docs/zh/guides/topic-detail/generator/create/config.mdx +76 -0
  145. package/docs/zh/guides/topic-detail/generator/create/option.md +151 -0
  146. package/docs/zh/guides/topic-detail/generator/create/use.mdx +66 -0
  147. package/docs/zh/guides/topic-detail/generator/new/_category_.json +4 -0
  148. package/docs/zh/guides/topic-detail/generator/new/config.md +153 -0
  149. package/docs/zh/guides/topic-detail/generator/new/option.md +67 -0
  150. package/docs/zh/guides/topic-detail/generator/new/use.md +94 -0
  151. package/docs/zh/guides/topic-detail/generator/plugin/_category_.json +2 -2
  152. package/docs/zh/guides/topic-detail/generator/plugin/api/_category_.json +1 -1
  153. package/docs/zh/guides/topic-detail/generator/plugin/api/afterForged.md +50 -0
  154. package/docs/zh/guides/topic-detail/generator/plugin/api/context.md +184 -0
  155. package/docs/zh/guides/topic-detail/generator/plugin/api/input.md +124 -0
  156. package/docs/zh/guides/topic-detail/generator/plugin/api/onForged.md +310 -0
  157. package/docs/zh/guides/topic-detail/generator/plugin/category.md +93 -0
  158. package/docs/zh/guides/topic-detail/generator/plugin/context.md +105 -0
  159. package/docs/zh/guides/topic-detail/generator/plugin/structure.md +106 -0
  160. package/docs/zh/guides/topic-detail/generator/plugin/use.md +33 -0
  161. package/docs/zh/guides/topic-detail/micro-frontend/c02-development.mdx +4 -4
  162. package/docs/zh/guides/topic-detail/model/test-model.mdx +1 -1
  163. package/docs/zh/guides/troubleshooting/builder.mdx +8 -0
  164. package/docs/zh/tutorials/first-app/c03-css.mdx +1 -1
  165. package/docs/zh/tutorials/first-app/c08-entries.mdx +1 -1
  166. package/package.json +5 -5
  167. package/docs/en/apis/app/hooks/api/framework/_category_.json +0 -4
  168. package/docs/en/apis/app/hooks/api/framework/lambda.mdx +0 -57
  169. package/docs/en/apis/app/hooks/api/functions/_category_.json +0 -4
  170. package/docs/en/apis/app/hooks/api/functions/api.mdx +0 -81
  171. package/docs/en/apis/app/hooks/api/functions/app.mdx +0 -12
  172. package/docs/en/apis/app/hooks/api/functions/common.mdx +0 -9
  173. package/docs/en/guides/topic-detail/generator/codesmith/_category_.json +0 -4
  174. package/docs/en/guides/topic-detail/generator/codesmith/api/_category_.json +0 -4
  175. package/docs/en/guides/topic-detail/generator/codesmith/api/app.mdx +0 -152
  176. package/docs/en/guides/topic-detail/generator/codesmith/api/ejs.mdx +0 -56
  177. package/docs/en/guides/topic-detail/generator/codesmith/api/fs.mdx +0 -54
  178. package/docs/en/guides/topic-detail/generator/codesmith/api/git.mdx +0 -50
  179. package/docs/en/guides/topic-detail/generator/codesmith/api/handlebars.mdx +0 -57
  180. package/docs/en/guides/topic-detail/generator/codesmith/api/json.mdx +0 -56
  181. package/docs/en/guides/topic-detail/generator/codesmith/api/npm.mdx +0 -48
  182. package/docs/en/guides/topic-detail/generator/codesmith/develop.mdx +0 -53
  183. package/docs/en/guides/topic-detail/generator/codesmith/introduce.mdx +0 -47
  184. package/docs/en/guides/topic-detail/generator/codesmith/run-in-js.mdx +0 -47
  185. package/docs/en/guides/topic-detail/generator/codesmith/structure.mdx +0 -89
  186. package/docs/en/guides/topic-detail/generator/config/_category_.json +0 -4
  187. package/docs/en/guides/topic-detail/generator/config/app.mdx +0 -82
  188. package/docs/en/guides/topic-detail/generator/config/common.mdx +0 -100
  189. package/docs/en/guides/topic-detail/generator/config/module.mdx +0 -42
  190. package/docs/en/guides/topic-detail/generator/config/monorepo.mdx +0 -28
  191. package/docs/en/guides/topic-detail/generator/plugin/abstract.mdx +0 -23
  192. package/docs/en/guides/topic-detail/generator/plugin/api/file/_category_.json +0 -4
  193. package/docs/en/guides/topic-detail/generator/plugin/api/file/addFile.mdx +0 -52
  194. package/docs/en/guides/topic-detail/generator/plugin/api/file/addHelper.mdx +0 -26
  195. package/docs/en/guides/topic-detail/generator/plugin/api/file/addManyFile.mdx +0 -58
  196. package/docs/en/guides/topic-detail/generator/plugin/api/file/addPartial.mdx +0 -26
  197. package/docs/en/guides/topic-detail/generator/plugin/api/file/introduce.mdx +0 -39
  198. package/docs/en/guides/topic-detail/generator/plugin/api/file/rmDir.mdx +0 -24
  199. package/docs/en/guides/topic-detail/generator/plugin/api/file/rmFile.mdx +0 -24
  200. package/docs/en/guides/topic-detail/generator/plugin/api/file/updateJSONFile.mdx +0 -54
  201. package/docs/en/guides/topic-detail/generator/plugin/api/file/updateModernConfig.mdx +0 -27
  202. package/docs/en/guides/topic-detail/generator/plugin/api/file/updateTextRawFile.mdx +0 -33
  203. package/docs/en/guides/topic-detail/generator/plugin/api/git/_category_.json +0 -4
  204. package/docs/en/guides/topic-detail/generator/plugin/api/git/gitAddAndCommit.mdx +0 -20
  205. package/docs/en/guides/topic-detail/generator/plugin/api/git/initGitRepo.mdx +0 -16
  206. package/docs/en/guides/topic-detail/generator/plugin/api/git/isInGitRepo.mdx +0 -16
  207. package/docs/en/guides/topic-detail/generator/plugin/api/hook/_category_.json +0 -4
  208. package/docs/en/guides/topic-detail/generator/plugin/api/hook/afterForged.mdx +0 -35
  209. package/docs/en/guides/topic-detail/generator/plugin/api/hook/onForged.mdx +0 -35
  210. package/docs/en/guides/topic-detail/generator/plugin/api/info/_category_.json +0 -4
  211. package/docs/en/guides/topic-detail/generator/plugin/api/info/isFileExit.mdx +0 -22
  212. package/docs/en/guides/topic-detail/generator/plugin/api/info/locale.mdx +0 -17
  213. package/docs/en/guides/topic-detail/generator/plugin/api/info/readDir.mdx +0 -22
  214. package/docs/en/guides/topic-detail/generator/plugin/api/input/_category_.json +0 -4
  215. package/docs/en/guides/topic-detail/generator/plugin/api/input/addInputAfter.mdx +0 -55
  216. package/docs/en/guides/topic-detail/generator/plugin/api/input/addInputBefore.mdx +0 -55
  217. package/docs/en/guides/topic-detail/generator/plugin/api/input/setInput.mdx +0 -43
  218. package/docs/en/guides/topic-detail/generator/plugin/api/input/setInputValue.mdx +0 -31
  219. package/docs/en/guides/topic-detail/generator/plugin/api/input/type.mdx +0 -65
  220. package/docs/en/guides/topic-detail/generator/plugin/api/introduce.mdx +0 -90
  221. package/docs/en/guides/topic-detail/generator/plugin/api/new/_category_.json +0 -4
  222. package/docs/en/guides/topic-detail/generator/plugin/api/new/createElement.mdx +0 -33
  223. package/docs/en/guides/topic-detail/generator/plugin/api/new/createSubProject.mdx +0 -35
  224. package/docs/en/guides/topic-detail/generator/plugin/api/new/enableFunc.mdx +0 -44
  225. package/docs/en/guides/topic-detail/generator/plugin/api/new/introduce.mdx +0 -15
  226. package/docs/en/guides/topic-detail/generator/plugin/api/npm/_category_.json +0 -4
  227. package/docs/en/guides/topic-detail/generator/plugin/api/npm/install.mdx +0 -18
  228. package/docs/en/guides/topic-detail/generator/plugin/develop.mdx +0 -125
  229. package/docs/en/guides/topic-detail/generator/plugin/use.mdx +0 -61
  230. package/docs/en/guides/topic-detail/generator/project.mdx +0 -118
  231. package/docs/zh/apis/app/hooks/api/framework/_category_.json +0 -4
  232. package/docs/zh/apis/app/hooks/api/functions/_category_.json +0 -4
  233. package/docs/zh/apis/app/hooks/api/functions/app.mdx +0 -12
  234. package/docs/zh/apis/app/hooks/api/functions/common.mdx +0 -9
  235. package/docs/zh/guides/topic-detail/generator/codesmith/_category_.json +0 -4
  236. package/docs/zh/guides/topic-detail/generator/codesmith/api/_category_.json +0 -4
  237. package/docs/zh/guides/topic-detail/generator/codesmith/api/app.mdx +0 -152
  238. package/docs/zh/guides/topic-detail/generator/codesmith/api/ejs.mdx +0 -56
  239. package/docs/zh/guides/topic-detail/generator/codesmith/api/fs.mdx +0 -54
  240. package/docs/zh/guides/topic-detail/generator/codesmith/api/git.mdx +0 -49
  241. package/docs/zh/guides/topic-detail/generator/codesmith/api/handlebars.mdx +0 -56
  242. package/docs/zh/guides/topic-detail/generator/codesmith/api/json.mdx +0 -56
  243. package/docs/zh/guides/topic-detail/generator/codesmith/api/npm.mdx +0 -47
  244. package/docs/zh/guides/topic-detail/generator/codesmith/develop.mdx +0 -53
  245. package/docs/zh/guides/topic-detail/generator/codesmith/introduce.mdx +0 -59
  246. package/docs/zh/guides/topic-detail/generator/codesmith/run-in-js.mdx +0 -47
  247. package/docs/zh/guides/topic-detail/generator/codesmith/structure.mdx +0 -89
  248. package/docs/zh/guides/topic-detail/generator/config/_category_.json +0 -4
  249. package/docs/zh/guides/topic-detail/generator/config/app.mdx +0 -82
  250. package/docs/zh/guides/topic-detail/generator/config/common.mdx +0 -100
  251. package/docs/zh/guides/topic-detail/generator/config/module.mdx +0 -42
  252. package/docs/zh/guides/topic-detail/generator/config/monorepo.mdx +0 -28
  253. package/docs/zh/guides/topic-detail/generator/plugin/abstract.mdx +0 -23
  254. package/docs/zh/guides/topic-detail/generator/plugin/api/file/_category_.json +0 -4
  255. package/docs/zh/guides/topic-detail/generator/plugin/api/file/addFile.mdx +0 -52
  256. package/docs/zh/guides/topic-detail/generator/plugin/api/file/addHelper.mdx +0 -26
  257. package/docs/zh/guides/topic-detail/generator/plugin/api/file/addManyFile.mdx +0 -55
  258. package/docs/zh/guides/topic-detail/generator/plugin/api/file/addPartial.mdx +0 -26
  259. package/docs/zh/guides/topic-detail/generator/plugin/api/file/introduce.mdx +0 -39
  260. package/docs/zh/guides/topic-detail/generator/plugin/api/file/rmDir.mdx +0 -24
  261. package/docs/zh/guides/topic-detail/generator/plugin/api/file/rmFile.mdx +0 -24
  262. package/docs/zh/guides/topic-detail/generator/plugin/api/file/updateJSONFile.mdx +0 -54
  263. package/docs/zh/guides/topic-detail/generator/plugin/api/file/updateModernConfig.mdx +0 -27
  264. package/docs/zh/guides/topic-detail/generator/plugin/api/file/updateTextRawFile.mdx +0 -33
  265. package/docs/zh/guides/topic-detail/generator/plugin/api/git/_category_.json +0 -4
  266. package/docs/zh/guides/topic-detail/generator/plugin/api/git/gitAddAndCommit.mdx +0 -20
  267. package/docs/zh/guides/topic-detail/generator/plugin/api/git/initGitRepo.mdx +0 -16
  268. package/docs/zh/guides/topic-detail/generator/plugin/api/git/isInGitRepo.mdx +0 -16
  269. package/docs/zh/guides/topic-detail/generator/plugin/api/hook/_category_.json +0 -4
  270. package/docs/zh/guides/topic-detail/generator/plugin/api/hook/afterForged.mdx +0 -35
  271. package/docs/zh/guides/topic-detail/generator/plugin/api/hook/onForged.mdx +0 -35
  272. package/docs/zh/guides/topic-detail/generator/plugin/api/info/_category_.json +0 -4
  273. package/docs/zh/guides/topic-detail/generator/plugin/api/info/isFileExit.mdx +0 -22
  274. package/docs/zh/guides/topic-detail/generator/plugin/api/info/locale.mdx +0 -17
  275. package/docs/zh/guides/topic-detail/generator/plugin/api/info/readDir.mdx +0 -22
  276. package/docs/zh/guides/topic-detail/generator/plugin/api/input/_category_.json +0 -4
  277. package/docs/zh/guides/topic-detail/generator/plugin/api/input/addInputAfter.mdx +0 -57
  278. package/docs/zh/guides/topic-detail/generator/plugin/api/input/addInputBefore.mdx +0 -56
  279. package/docs/zh/guides/topic-detail/generator/plugin/api/input/setInput.mdx +0 -43
  280. package/docs/zh/guides/topic-detail/generator/plugin/api/input/setInputValue.mdx +0 -29
  281. package/docs/zh/guides/topic-detail/generator/plugin/api/input/type.mdx +0 -65
  282. package/docs/zh/guides/topic-detail/generator/plugin/api/introduce.mdx +0 -92
  283. package/docs/zh/guides/topic-detail/generator/plugin/api/new/_category_.json +0 -4
  284. package/docs/zh/guides/topic-detail/generator/plugin/api/new/createElement.mdx +0 -33
  285. package/docs/zh/guides/topic-detail/generator/plugin/api/new/createSubProject.mdx +0 -35
  286. package/docs/zh/guides/topic-detail/generator/plugin/api/new/enableFunc.mdx +0 -44
  287. package/docs/zh/guides/topic-detail/generator/plugin/api/new/introduce.mdx +0 -15
  288. package/docs/zh/guides/topic-detail/generator/plugin/api/npm/_category_.json +0 -4
  289. package/docs/zh/guides/topic-detail/generator/plugin/api/npm/install.mdx +0 -16
  290. package/docs/zh/guides/topic-detail/generator/plugin/develop.mdx +0 -125
  291. package/docs/zh/guides/topic-detail/generator/plugin/use.mdx +0 -61
  292. package/docs/zh/guides/topic-detail/generator/project.mdx +0 -118
@@ -4,13 +4,13 @@ sidebar_position: 4
4
4
  ---
5
5
  # index.[tj]s
6
6
 
7
- 应用项目入口标识。
7
+ 应用使用自定义 `bootstrap` 时的入口标识。
8
8
 
9
- 通常情况下 [`src/App.[tj]sx, src/[entry]/App.[tj]sx`](/apis/app/hooks/src/app) 钩子文件已经能满足我们的需求,当我们需要在 `bootstrap` 之前添加自定义行为或者完全接管 webpack 打包入口时,可以在 `src` 或者入口目录下放置 `index.[tj]s`。 下面有分两种情况进行讨论:
9
+ 通常情况下 [`App.[tj]sx`](/apis/app/hooks/src/app) 钩子文件已经能满足我们的需求,当我们需要在 `bootstrap` 之前添加自定义行为或者完全接管 webpack 打包入口时,可以在 `src` 或者入口目录下放置 `index.[tj]s`。 下面有分两种情况进行讨论:
10
10
 
11
- 1. 在 bootstrap 之前添加自定义行为:
11
+ ## 在 bootstrap 之前添加自定义行为
12
12
 
13
- 只需要 `src/index.[tj]s` 默认导出函数:
13
+ 只需要 `src/index.[tj]s` 默认导出函数:
14
14
 
15
15
  ```js title=src/index.js
16
16
  import ReactDOM from 'react-dom/client';
@@ -22,9 +22,9 @@ export default (App: React.ComponentType) => {
22
22
  };
23
23
  ```
24
24
 
25
- 2. 完全接管 webpack 入口:
25
+ ## 完全接管 webpack 入口
26
26
 
27
- 当 `src/index.[tj]sx?` 下没有默认导出函数时,该文件即为真正的 webpack 打包入口文件, 可以直接像使用 create-react-app 等脚手架一样组织代码:
27
+ 当 `src/index.[tj]sx?` 下没有默认导出函数时,该文件即为真正的 webpack 打包入口文件, 可以直接像使用 create-react-app 等脚手架一样组织代码:
28
28
 
29
29
  ```js title=src/index.jsx
30
30
  import React from 'react';
@@ -4,9 +4,13 @@ sidebar_position: 3
4
4
  ---
5
5
  # pages/
6
6
 
7
- 应用使用基于文件系统路由时的入口标识。
7
+ 应用使用 [`Pages` 入口](https://modernjs.dev/v1/docs/guides/usages/entries#pages-%E5%85%A5%E5%8F%A3)时的入口标识。
8
8
 
9
- 当项目结构为 `Pages 入口` 类型时, 会分析 `src/pages` 目录下的文件得到客户端路由配置。
9
+ :::info
10
+ 兼容 Modern.js 1.0 `Pages` 入口,推荐使用[约定式路由](guides/basic-features/routes.html#约定式路由)。
11
+ :::
12
+
13
+ 当项目结构为 `Pages 入口`类型时, 会分析 `src/pages` 目录下的文件得到客户端路由配置。
10
14
 
11
15
  举例说明,例如以下目录结构:
12
16
 
@@ -20,7 +24,7 @@ sidebar_position: 3
20
24
  └── info.jsx
21
25
  ```
22
26
 
23
- 对应生成的路由配置为:
27
+ 对应生成的路由配置为:
24
28
 
25
29
  ```bash
26
30
  [
@@ -4,13 +4,13 @@ sidebar_position: 2
4
4
  ---
5
5
  # routes/
6
6
 
7
- 应用使用基于文件系统路由时的入口标识。
7
+ 应用使用[约定式路由](guides/basic-features/routes.html#约定式路由)时的入口标识。
8
8
 
9
- 当项目结构为 `Routes 入口` 类型时, 会分析 `src/routes` 目录下的文件得到客户端路由配置。具体用法请查看[约定式路由](/guides/basic-features/routes)
9
+ 约定式路由以 `routes/` 为约定的入口, 会分析 `src/routes` 目录下的文件得到客户端路由配置。
10
10
 
11
11
  任何在 `src/routes` 下的 `layout.[tj]sx` 和 `page.[tj]sx` 都会作为应用的路由:
12
12
 
13
- ```bash {3}
13
+ ```bash {3,4}
14
14
  .
15
15
  └── routes
16
16
  ├── layout.tsx
@@ -54,7 +54,7 @@ sidebar_position: 2
54
54
 
55
55
  在组件中,可以通过 [useParams](/apis/app/runtime/router/router#useparams) 获取对应命名的参数。
56
56
 
57
- loader 中,params 会作为 [loader](/guides/basic-features/data-fetch#loader-函数) 的入参,通过 `params` 的属性可以获取到对应的参数。
57
+ 在使用 [loader](/guides/basic-features/data-fetch#loader-函数) 函数获取数据时,`params` 会作为 `loader` 函数的入参,通过 `params` 的属性可以获取到对应的参数。
58
58
 
59
59
  ## 布局组件
60
60
 
@@ -8,7 +8,7 @@ sidebar_position: 7
8
8
 
9
9
  可以在项目源码目录 `src/` 下创建 `*.stories.[tj]sx` 格式的文件作为 Storybook 的调试文件。
10
10
 
11
- 在项目下执行 dev story 命令,支持使用这些文件在 Storybook 中对相关内容进行调试。
11
+ 在项目下执行 `npm run dev story` 命令,支持使用这些文件在 Storybook 中对相关内容进行调试。
12
12
 
13
13
  :::info
14
14
  使用 Storybook 需要提前在项目下执行 new 命令启用「Visual Testing (Storybook)」模式。
@@ -28,6 +28,7 @@ type RuntimeContext = {
28
28
  cookie: string;
29
29
  };
30
30
  store: ReduckStore;
31
+ router: RemixRouter;
31
32
  };
32
33
 
33
34
  function useRuntimeContext(): RuntimeContext;
@@ -41,7 +42,10 @@ function useRuntimeContext(): RuntimeContext;
41
42
  - `query`:请求的查询字符串对象。
42
43
  - `headers`:请求头信息。
43
44
  - `cookie`:请求的 cookie 信息。
44
- - `store`:在开启了 state 插件的时候,该值为 reduck 全局 `store`。
45
+ - `store`:在开启了 state 插件的时候,该值为 Reduck 全局 `store`。
46
+ - `router`:在开启 router 插件的时候存在。
47
+ - `location`:当前路由对应的位置信息。同 [`useLocation`](/apis/app/runtime/router/router.html#uselocation) 返回值。
48
+ - `navigate`:导航到给定路径。同 [`useNavigate`](/apis/app/runtime/router/router.html#usenavigate) 返回值。
45
49
 
46
50
  ## 示例
47
51
 
@@ -71,7 +71,7 @@ sidebar_position: 97
71
71
 
72
72
  <div style={{ textAlign: 'center', fontStyle: 'italic' }}>Rspack Logo</div>
73
73
 
74
- 相较于 Webpack,Rspack 的构建性能有明显提升,除了 Rust 带来的语言优势,这也来自于它的并行架构和增量编译等特性。经过 benchmark 验证,**Rspack 可以给 Modern.js 项目带来 5 ~ 10 倍编译性能的提升。**
74
+ 相较于 webpack,Rspack 的构建性能有明显提升,除了 Rust 带来的语言优势,这也来自于它的并行架构和增量编译等特性。经过 benchmark 验证,**Rspack 可以给 Modern.js 项目带来 5 ~ 10 倍编译性能的提升。**
75
75
 
76
76
  ![](https://lf3-static.bytednsdoc.com/obj/eden-cn/zq-uylkvT/ljhwZthlaukjlkulzlp/v2-release/rspack-benchmark.png)
77
77
 
@@ -120,7 +120,7 @@ pnpm run prepare
120
120
  如果你需要清理项目中的所有 `node_modules/*`,执行 `reset` 命令:
121
121
 
122
122
  ```sh
123
- pnpm 运行重置
123
+ pnpm run reset
124
124
  ```
125
125
 
126
126
  ---
File without changes
@@ -1,9 +1,10 @@
1
- Modern.js 生成器会提供一个可交互的问答界面,根据结果初始化项目,按照默认的选择进行初始化:
1
+ `@modern-js/create` 会提供一个可交互的问答界面,根据结果初始化项目,按照默认的选择进行初始化:
2
2
 
3
3
  ```bash
4
- ? 请选择你想创建的工程类型:Web 应用
5
- ? 请选择开发语言:TS
6
- ? 请选择包管理工具:pnpm
4
+ ? 请选择你想创建的工程类型 Web 应用
5
+ ? 请选择开发语言 TS
6
+ ? 请选择包管理工具 pnpm
7
+ ? 请选择构建工具 webpack
7
8
  ```
8
9
 
9
10
  在生成项目后,Modern.js 会自动安装依赖、创建 git 仓库。
@@ -20,11 +21,6 @@ pnpm run lint # 运行 ESLint 并自动修复问题
20
21
  pnpm run new # 启用可选功能或创建项目要素
21
22
  ```
22
23
 
23
- :::note
24
- Modern.js 生成器除了在项目初始化时工作外,也能在后续研发中生成项目各种粒度的模块,并非一用即抛开。
25
-
26
- :::
27
-
28
24
  现在,项目结构如下:
29
25
 
30
26
  ```
@@ -0,0 +1,9 @@
1
+ ### language
2
+
3
+ 问题:请选择开发语言
4
+
5
+ 选项:
6
+
7
+ - TS -- ts
8
+
9
+ - ES6+ -- js
@@ -0,0 +1,11 @@
1
+ ### packageManager
2
+
3
+ 问题:请选择包管理工具
4
+
5
+ 选项:
6
+
7
+ - pnpm -- pnpm
8
+
9
+ - Yarn -- yarn
10
+
11
+ - npm -- npm
@@ -9,7 +9,7 @@ Modern.js 中还提供了基于浏览器 [UA](https://developer.mozilla.org/zh-C
9
9
 
10
10
  ```bash
11
11
  ? 请选择你想要的操作 启用可选功能
12
- ? 启用可选功能 启用「基于 UA 的 Polyfill」功能
12
+ ? 请选择功能名称 启用「基于 UA 的 Polyfill」功能
13
13
  ```
14
14
 
15
15
  执行命令后,在 `modern.config.ts` 中注册 Polyfill 插件:
@@ -0,0 +1,13 @@
1
+ ---
2
+ sidebar_label: cssModules
3
+ ---
4
+
5
+ # output.cssModules
6
+
7
+ :::tip
8
+ 该配置由 Modern.js Builder 提供,更多信息可参考 [output.cssModules](https://modernjs.dev/builder/api/config-output.html#outputcssmodules)。
9
+ :::
10
+
11
+ import Main from '@modern-js/builder-doc/docs/zh/config/output/cssModules.md';
12
+
13
+ <Main />
@@ -13,7 +13,7 @@ sidebar_label: designSystem
13
13
  :::
14
14
 
15
15
  <details>
16
- <summary>designSystem 配置详情</summary>
16
+ <summary>DesignSystem 配置详情</summary>
17
17
 
18
18
  ```js
19
19
  const designSystem = {
@@ -644,14 +644,13 @@ const designSystem = {
644
644
  },
645
645
  };
646
646
  ```
647
+ </details>
647
648
 
648
649
  :::tip 提示
649
- 更多关于:<a href="https://tailwindcss.com/docs/configuration#theme" target="_blank">TailwindCSS 配置</a>。
650
+ 更多关于 TailwindCSS 配置可查看[这里](https://tailwindcss.com/docs/configuration#theme)。
650
651
 
651
652
  :::
652
653
 
653
- </details>
654
-
655
654
  `designSystem` 用于定义项目的调色板、排版比例(Typographic Scales 或者 Type Scale)、字体列表、断点、边框圆角值等等。因为 Modern.js 借用了 Tailwind Theme 的设计方式,并且内部也集成了 Tailwind CSS,所以 `designSystem` 使用方式与 Tailwind CSS Theme 相同。
656
655
 
657
656
  ### 结构
@@ -9,14 +9,11 @@ sidebar_label: enableAsyncEntry
9
9
 
10
10
  该选项用于 webpack 模块联邦(Module Federation)场景。
11
11
 
12
- 开启此选项后,Modern.js 会通过 Dynamic Import 来包裹自动生成的入口文件(asynchronous boundary),使页面代码可以消费模块联邦生成的远程模块。
12
+ 开启此选项后,Modern.js 会通过 Dynamic Import 来包裹自动生成的入口文件(Asynchronous Boundaries),使页面代码可以消费模块联邦生成的远程模块。
13
13
 
14
14
  ## 背景知识
15
15
 
16
- 如果不了解 webpack 模块联邦,请先阅读 Module Federation 官方文档:
17
-
18
- - [中文文档](https://webpack.docschina.org/concepts/module-federation/)
19
- - [英文文档](https://webpack.js.org/concepts/module-federation)
16
+ 如果不了解 webpack 模块联邦,请先阅读 [Module Federation 官方文档](https://webpack.docschina.org/concepts/module-federation/)。
20
17
 
21
18
  ## 示例
22
19
 
@@ -20,7 +20,7 @@ type Entries = Record<
20
20
 
21
21
  - **默认值:** 根据当前项目的目录结构计算出的入口对象。
22
22
 
23
- 用于配置自定义的页面入口。
23
+ 用于配置自定义页面入口。
24
24
 
25
25
  :::tip 何时使用
26
26
  对于大部分场景,Modern.js 根据目录结构自动生成的入口已经可以满足需求,具体可参考[入口](/guides/concept/entries)。
@@ -156,7 +156,7 @@ export default defineConfig({
156
156
 
157
157
  例如以下目录结构:
158
158
 
159
- ```
159
+ ```bash
160
160
  .
161
161
  ├── src
162
162
  │ ├── chat
@@ -19,23 +19,9 @@ import SWC from '@modern-js/builder-doc/docs/zh/shared/swc.md';
19
19
 
20
20
  ## 安装
21
21
 
22
- 首先,你需要执行 `pnpm run new` 启用 SWC 编译:
22
+ import EnableSWC from '@modern-js/builder-doc/docs/zh/shared/enable-swc.md';
23
23
 
24
- ```bash
25
- ? 请选择你想要的操作:启用可选功能
26
- ? 启用可选功能:启用「SWC 编译」
27
- ```
28
-
29
- 执行完成后,你只需在 `modern.config.ts` 文件中注册 SWC 插件,即可启用 SWC 编译和压缩能力。
30
-
31
- ```ts title="modern.config.ts"
32
- import appTools, { defineConfig } from '@modern-js/app-tools';
33
- import swcPlugin from '@modern-js/plugin-swc';
34
-
35
- export default defineConfig({
36
- plugins: [appTools(), swcPlugin()],
37
- });
38
- ```
24
+ <EnableSWC />
39
25
 
40
26
  ## 配置项
41
27
 
@@ -31,14 +31,14 @@ import InitRspackApp from '@site-docs/components/init-rspack-app';
31
31
 
32
32
  :::
33
33
 
34
- ## webpack 迁移至 Rspack
34
+ ## 开启 Rspack 构建
35
35
 
36
36
  在一个已有的 Modern.js 项目中,你可以通过执行 `pnpm run new` 来启用 Rspack 构建:
37
37
 
38
38
  ```bash
39
39
  $ pnpm run new
40
- ? 请选择你想要的操作:启用可选功能
41
- ? 启用可选功能:启用「Rspack 构建」
40
+ ? 请选择你想要的操作 启用可选功能
41
+ ? 请选择功能名称 启用「Rspack 构建」
42
42
  ```
43
43
 
44
44
  执行以上命令后,在 `modern.config.ts` 中添加 Rspack 相关配置即可:
@@ -55,9 +55,9 @@ import appTools, { defineConfig } from '@modern-js/app-tools';
55
55
  });
56
56
  ```
57
57
 
58
- :::tip
59
- 从 webpack 迁移至 Rspack 时,存在一些构建能力和配置上的差异,详情可参考:[配置差异](https://modernjs.dev/builder/guide/advanced/rspack-start.html#从-webpack-迁移到-rspack)
60
- :::
58
+ ## 配置迁移
59
+
60
+ 开启 Rspack 构建能力后,还需要参考 [配置差异](https://modernjs.dev/builder/guide/advanced/rspack-start.html#从-webpack-迁移到-rspack) 进行进一步的配置迁移。
61
61
 
62
62
  ## Rspack 和 Modern.js 的版本关系
63
63
 
@@ -82,8 +82,7 @@ import appTools, { defineConfig } from '@modern-js/app-tools';
82
82
  "@rspack/core": "nightly",
83
83
  "@rspack/dev-client": "nightly",
84
84
  "@rspack/dev-middleware": "nightly",
85
- "@rspack/plugin-html": "nightly",
86
- "@rspack/postcss-loader": "nightly"
85
+ "@rspack/plugin-html": "nightly"
87
86
  }
88
87
  }
89
88
  }
@@ -10,7 +10,7 @@ SSG(Static Site Generation)是一种基于数据与模板,在构建时渲
10
10
 
11
11
  ```bash
12
12
  ? 请选择你想要的操作 启用可选功能
13
- ? 启用可选功能 启用「SSG」功能
13
+ ? 请选择功能名称 启用「SSG」功能
14
14
  ```
15
15
 
16
16
  执行命令后,在 `modern.config.ts` 中注册 SSG 插件:
@@ -9,8 +9,8 @@ Modern.js 默认集成了 [Jest](https://jestjs.io/) 的测试能力。
9
9
  我们首先需要执行 `pnpm run new` 启用「单元测试 / 集成测试」功能:
10
10
 
11
11
  ```
12
- ? 请选择你想要的操作: 启用可选功能
13
- ? 启用可选功能: 启用「单元测试 / 集成测试」功能
12
+ ? 请选择你想要的操作 启用可选功能
13
+ ? 请选择功能名称 启用「单元测试 / 集成测试」功能
14
14
  ```
15
15
 
16
16
  执行上述命令后,`package.json` 中将会自动生成 `"test": "modern test"` 命令。
@@ -26,7 +26,7 @@ Modern.js 作为以客户端为中心的开发框架,对服务端的定制能
26
26
 
27
27
  ```bash
28
28
  ? 请选择你想要的操作 创建工程元素
29
- ? 创建工程元素 新建「自定义 Web Server」源码目录
29
+ ? 请选择创建元素类型 新建「自定义 Web Server」源码目录
30
30
  ```
31
31
 
32
32
  执行命令后,在 `modern.config.ts` 中注册 `@modern-js/plugin-server` 插件:
@@ -67,7 +67,7 @@ Modern.js 内部集成了 Babel 的 [babel-plugin-styled-components](https://git
67
67
 
68
68
  ```bash
69
69
  ? 请选择你想要的操作 启用可选功能
70
- ? 启用可选功能 启用 Tailwind CSS 支持
70
+ ? 请选择功能名称 启用 Tailwind CSS 支持
71
71
  ```
72
72
 
73
73
  在 `modern.config.ts` 中注册 Tailwind 插件:
@@ -32,7 +32,7 @@ export default {
32
32
  /* method 默认为 GET */
33
33
  '/api/getExample': { id: 1 },
34
34
 
35
- /* 可以使用自定义函数根据请求动态返回数据,返回值参考 express middleware */
35
+ /* 可以使用自定义函数根据请求动态返回数据, req & res 都是 Node.js HTTP 原生对象 */
36
36
  'POST /api/addInfo': (req, res, next) => {
37
37
  res.setHeader('Access-Control-Allow-Origin', '*');
38
38
  res.end('200');
@@ -449,7 +449,7 @@ export const init = (context: RuntimeContext) => {
449
449
  在约定式路由下, Modern.js 会根据路由,自动地对路由进行分片,当用户访问具体的路由时,会自动加载对应的分片,这样可以有效地减少首屏加载的时间。但这也带来了一个问题,当用户访问一个路由时,如果该路由对应的分片还未加载完成,就会出现白屏的情况。
450
450
  这种情况下你可以通过定义 `Loading` 组件,在静态资源加载完成前,展示一个自定义的 `Loading` 组件。
451
451
 
452
- 为了进一步提升用户体验,减少 loading 的时间,Modern.js 支持在 Link 组件上定义 `prefetch` 属性,可以提前对静态资源和数据进行加载, `prefetch` 属性有三个可选值:
452
+ 为了进一步提升用户体验,减少 loading 的时间,Modern.js 支持在 Link 组件上定义 `prefetch` 属性,可以提前对静态资源和数据进行加载:
453
453
 
454
454
  ```tsx
455
455
  <Link prefetch="intent" to="page">
@@ -461,6 +461,8 @@ export const init = (context: RuntimeContext) => {
461
461
 
462
462
  :::
463
463
 
464
+ `prefetch` 属性有三个可选值:
465
+
464
466
  - `none`, 默认值,不会做 prefetch,没有任何额外的行为。
465
467
  - `intent`,这是我们推荐大多数场景下使用的值,当你把鼠标放在 Link 上时,会自动开始加载对应的分片和 Data Loader 中定义的数据,当鼠标移开时,会自动取消加载。在我们的测试中,即使是快速点击,也能减少大约 200ms 的加载时间。
466
468
  - `render`,当 Link 组件渲染时,就会加载对应的分片和 Data Loader 中定义的数据。
@@ -505,8 +507,6 @@ export default () => {
505
507
  Modern.js 默认对约定式路由做了一系列资源加载及渲染上的优化,并且提供了开箱即用的 SSR 能力,而这些能力,在使用自控路由时,都需要开发者自行封装,推荐开发者使用约定式路由。
506
508
  :::
507
509
 
508
- 使用自控式路由时,如果开发者关闭了 [`runtime.router`](/configure/app/runtime/router) 配置,并直接使用 `react-router-dom`,那还需要根据 React Router 文档自行包裹 `Provider`。
509
-
510
510
  ## 其他路由方案
511
511
 
512
512
  默认情况下,Modern.js 会开启内置的路由方案,即 React Router。
@@ -519,7 +519,9 @@ export default defineConfig({
519
519
  });
520
520
  ```
521
521
 
522
- Modern.js `@modern-js/runtime/router` 命名空间暴露了 React Router 的 API 供开发者使用,保证开发者和 Modern.js 中使用同一份代码。另外,这种情况下,React Router 的代码会被打包到 JS 产物中。如果项目已经有自己的路由方案,或者不需要使用客户端路由,可以关闭这个功能。
522
+ 如上述配置,当开启 [`runtime.router`](/configure/app/runtime/router) 配置时,Modern.js 会从 `@modern-js/runtime/router` 命名空间导出 React Router 的 API 供开发者使用,保证开发者和 Modern.js 中使用同一份代码,并自动根据 router 配置包裹 `Provider` 组件。另外,这种情况下,React Router 的代码会被打包到 JS 产物中。
523
+
524
+ 如果项目已经有自己的路由方案,或者不需要使用客户端路由,可以关闭这个功能。
523
525
 
524
526
  ```js
525
527
  export default defineConfig({
@@ -529,5 +531,6 @@ export default defineConfig({
529
531
  });
530
532
  ```
531
533
 
534
+ 如上述配置, 如果关闭了 [`runtime.router`](/configure/app/runtime/router) 配置,并直接使用 `react-router-dom` 进行项目路由管理时,还需要根据 React Router 文档自行包裹 `Provider`。
532
535
 
533
536
 
@@ -14,7 +14,7 @@ Modern.js Builder 是 Modern.js 体系的核心组件之一,它是一个面向
14
14
 
15
15
  - 上层研发框架:Modern.js。
16
16
  - 通用构建引擎:Modern.js Builder。
17
- - 底层打包工具:webpack 和 rspack
17
+ - 底层打包工具:webpack 和 Rspack
18
18
 
19
19
  <img src="https://lf3-static.bytednsdoc.com/obj/eden-cn/zq-uylkvT/ljhwZthlaukjlkulzlp/builder-layers-1117.png" style={{ width: '100%', maxWidth: '540px' }} />
20
20
 
@@ -30,12 +30,12 @@ Modern.js 初始化的项目是单入口的(SPA),项目结构如下:
30
30
  └── tsconfig.json
31
31
  ```
32
32
 
33
- 在 Modern.js 项目中,你可以很方便的将单入口切换成多入口,直接在项目下执行 `pnpm run new`,通过生成器创建入口即可:
33
+ 在 Modern.js 项目中,你可以很方便的将单入口切换成多入口,直接在项目下执行 `pnpm run new`,根据提示创建入口即可:
34
34
 
35
35
  ```bash
36
- ? 请选择你想要的操作:创建工程元素
37
- ? 创建工程元素:新建「应用入口」
38
- ? 请填写入口名称:new-entry
36
+ ? 请选择你想要的操作 创建工程元素
37
+ ? 请选择创建元素类型 新建「应用入口」
38
+ ? 请填写入口名称 new-entry
39
39
  ```
40
40
 
41
41
  执行后,Modern.js 会自动生成一个新的入口目录,此时可以看到 `src/` 目录变成如下结构:
@@ -54,34 +54,38 @@ Modern.js 初始化的项目是单入口的(SPA),项目结构如下:
54
54
  └── page.tsx
55
55
  ```
56
56
 
57
- 原本的代码被移动到了和 `package.json` 中 `name` 同名的目录下,并创建了新的目录。
57
+ 原本的入口代码被移动到了和 `package.json` 中 `name` 同名的目录下,并创建了 `new-entry` 入口目录。
58
58
 
59
59
  执行 `pnpm run dev` 后,可以看到新增了一条名为 `/new-entry` 的路由,并且被迁移的代码路由并未发生变化。
60
60
 
61
61
  :::tip
62
- Modern.js 会将与 package.json 文件中 `name` 字段同名的入口作为主入口,主入口的路由为 `/`,其他入口的路由为 `/{entryName}`。
62
+ Modern.js 会将与 `package.json` 文件中 `name` 字段同名的入口作为主入口,主入口的路由为 `/`,其他入口的路由为 `/{entryName}`。
63
63
 
64
- 比如,package.json 中的 `name` 为 `myapp` 时,`src/myapp` 会作为项目的主入口。
64
+ 比如,`package.json` 中的 `name` 为 `myapp` 时,`src/myapp` 会作为项目的主入口。
65
65
 
66
66
  :::
67
67
 
68
68
  ## 入口类型
69
69
 
70
- 不同的入口类型具有不同的编译和运行时行为。在 Modern.js 创建项目时,开发者可以手动选择创建**框架模式**或是**构建模式**的项目。完成创建后,可以看到不同模式的项目样板文件是不同的。
70
+ 不同的入口类型具有不同的编译和运行时行为。
71
+
72
+ import EntryMode from '@site-docs/components/entry-mode.mdx';
73
+
74
+ <EntryMode />
71
75
 
72
76
  默认情况下,Modern.js 启动项目前会对 `src/` 下的文件进行扫描,识别入口,并生成对应的服务端路由。
73
77
 
74
78
  :::tip
75
- 可以通过 [source.entriesDir](/configure/app/source/entries-dir) 更改入口目录为其他目录。
79
+ 可以通过 [source.entriesDir](/configure/app/source/entries-dir) 修改页面的入口识别目录。
76
80
 
77
81
  :::
78
82
 
79
83
  并非 `src/` 下所有的一级目录都会成为项目入口, 入口所在目录必须满足以下四个条件之一:
80
84
 
81
- 1. 具有 `routes/` 目录
82
- 2. 具有 `App.[jt]sx?` 文件
83
- 3. 具有 `index.[jt]sx?` 文件
84
- 4. 具有 `pages/` 目录(兼容 Modern.js 1.0
85
+ 1. 具有 `routes/` 目录。
86
+ 2. 具有 `App.[jt]sx?` 文件。
87
+ 3. 具有 `index.[jt]sx?` 文件。
88
+ 4. 具有 `pages/` 目录(兼容 Modern.js 1.0)。
85
89
 
86
90
  当 `src/` 目录满足入口特征时,Modern.js 会认为当前项目为单入口应用。
87
91
 
@@ -94,7 +98,7 @@ Modern.js 会将与 package.json 文件中 `name` 字段同名的入口作为主
94
98
 
95
99
  ### 框架模式入口
96
100
 
97
- 框架模式指需要使用 Modern.js 框架能力,例如 Router、SSR、一体化调用等。这类入口约定下,开发者定义的入口并不是真正的 Webpack 编译入口。Modern.js 在启动时会生成一个封装过的入口,可以在 `node_modules/.modern/{entryName}/index.js` 找到真正的入口。
101
+ 框架模式指需要使用 Modern.js 框架能力,例如 Router、SSR、一体化调用等。这类入口约定下,开发者定义的入口并不是真正的 webpack 编译入口。Modern.js 在启动时会生成一个封装过的入口,可以在 `node_modules/.modern/{entryName}/index.js` 找到真正的入口。
98
102
 
99
103
  #### 约定式路由
100
104
 
@@ -135,7 +139,7 @@ export default () => {
135
139
 
136
140
  #### 自定义 Bootstrap
137
141
 
138
- 如果入口中存在 `index.[jt]sx` 文件,并且当文件默认导出函数时,Modern.js 会将默认的 bootstrap 函数作为入参传入,并用导出的函数替代默认的 bootstrap,这样开发者可以自定义将组件挂载到 DOM 节点上,或在挂载前添加自定义行为。例如:
142
+ 如果入口中存在 `index.[jt]sx` 文件,并且当文件默认导出函数时,Modern.js 会将默认的 `bootstrap` 函数作为入参传入,并用导出的函数替代默认的 `bootstrap`,这样开发者可以自定义将组件挂载到 DOM 节点上,或在挂载前添加自定义行为。例如:
139
143
 
140
144
  ```tsx
141
145
  export default (App: React.ComponentType, bootstrap: () => void) => {
@@ -178,9 +182,9 @@ export default AppWrapper;
178
182
 
179
183
  ### 构建模式入口
180
184
 
181
- 构建模式是指不使用任何 Modern.js 运行时的能力,完全由开发者自己定义项目 Webpack 的入口。
185
+ 构建模式是指不使用任何 Modern.js 运行时的能力,完全由开发者自己定义项目 webpack 的入口。
182
186
 
183
- 如果入口中存在 `index.[jt]sx` ,并且没有默认导出函数时,这时候该文件就是真正的 Webpack 入口文件。这里和 [Create React App](https://github.com/facebook/create-react-app) 类似,需要自己将组件挂载到 DOM 节点、添加热更新代码等。例如:
187
+ 如果入口中存在 `index.[jt]sx` ,并且没有默认导出函数时,这时候该文件就是真正的 webpack 入口文件。这里和 [Create React App](https://github.com/facebook/create-react-app) 类似,需要自己将组件挂载到 DOM 节点、添加热更新代码等。例如:
184
188
 
185
189
  ```js title=src/index.jsx
186
190
  import React from 'react';
@@ -12,9 +12,9 @@ import Prerequisites from "@site-docs/components/prerequisites"
12
12
 
13
13
  ## 安装
14
14
 
15
- Modern.js 提供了 `@modern-js/create` 生成器来创建项目,不要全局安装,使用 `npx` 按需运行。
15
+ Modern.js 提供了 `@modern-js/create` 工具来创建项目,不要全局安装,使用 `npx` 按需运行。
16
16
 
17
- 可以使用已有的空目录来创建项目:
17
+ 可以在已有的空目录来创建项目:
18
18
 
19
19
  ```bash
20
20
  mkdir myapp && cd myapp
@@ -41,9 +41,9 @@ import DebugApp from "@site-docs/components/debug-app"
41
41
 
42
42
  ## 使用配置
43
43
 
44
- 通过生成器创建的 Modern.js 项目中,存在 `modern.config.ts` 文件。
44
+ 通过 `@modern-js/create` 创建的 Modern.js 项目中,会默认生成 `modern.config.ts` 文件。
45
45
 
46
- 可以通过配置文件来开启功能,或覆盖 Modern.js 的默认行为。例如添加如下配置,开启 SSR:
46
+ 可以通过该配置文件修改配置,覆盖 Modern.js 的默认行为。例如添加如下配置,开启 SSR:
47
47
 
48
48
  ```ts title="modern.config.ts"
49
49
  import appTools, { defineConfig } from '@modern-js/app-tools';
@@ -51,7 +51,6 @@ import appTools, { defineConfig } from '@modern-js/app-tools';
51
51
  export default defineConfig({
52
52
  runtime: {
53
53
  router: true,
54
- state: true,
55
54
  },
56
55
  server: {
57
56
  ssr: true,
@@ -93,14 +92,12 @@ info File sizes after production build:
93
92
  构建产物默认生成到 `dist/`,目录结构如下:
94
93
 
95
94
  ```
96
- .
97
- ├── asset-manifest.json
95
+ dist
98
96
  ├── html
99
- └── main
100
- ├── loader-routes
101
- │ └── main
97
+    └── main
102
98
  ├── modern.config.json
103
99
  ├── route.json
100
+ ├── routes-manifest.json
104
101
  └── static
105
102
  ├── css
106
103
  └── js
@@ -16,7 +16,7 @@ $ pnpm run upgrade
16
16
 
17
17
  > modern upgrade
18
18
 
19
- [INFO] [项目类型]: 应用
19
+ [INFO] [项目类型]: Web 应用
20
20
  [INFO] [Modern.js 最新版本]: 2.0.0
21
21
  [INFO] 已更新 Modern.js 依赖至最新版本!
22
22
  ```