@modern-js/main-doc 2.0.0-beta.2 → 2.0.0-beta.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (345) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/en/docusaurus-plugin-content-docs/current/apis/app/commands/inspect.md +0 -4
  3. package/en/docusaurus-plugin-content-docs/current/apis/app/commands/new.md +0 -2
  4. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/core/bootstrap.md +17 -3
  5. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/create-app.md +1 -1
  6. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/use-store.md +0 -22
  7. package/en/docusaurus-plugin-content-docs/current/components/init-app.md +42 -0
  8. package/en/docusaurus-plugin-content-docs/current/components/reduck-migration.md +1 -0
  9. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/asset-prefix.md +1 -1
  10. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/hmr.md +1 -1
  11. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/https.md +1 -1
  12. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/port.md +1 -1
  13. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/progress-bar.md +1 -1
  14. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/start-url.md +1 -1
  15. package/en/docusaurus-plugin-content-docs/current/configure/app/experiments/lazy-compilation.md +1 -1
  16. package/en/docusaurus-plugin-content-docs/current/configure/app/html/app-icon.md +1 -1
  17. package/en/docusaurus-plugin-content-docs/current/configure/app/html/crossorigin.md +1 -1
  18. package/en/docusaurus-plugin-content-docs/current/configure/app/html/disable-html-folder.md +1 -1
  19. package/en/docusaurus-plugin-content-docs/current/configure/app/html/favicon-by-entries.md +1 -1
  20. package/en/docusaurus-plugin-content-docs/current/configure/app/html/favicon.md +1 -1
  21. package/en/docusaurus-plugin-content-docs/current/configure/app/html/inject-by-entries.md +1 -1
  22. package/en/docusaurus-plugin-content-docs/current/configure/app/html/inject.md +1 -1
  23. package/en/docusaurus-plugin-content-docs/current/configure/app/html/meta-by-entries.md +1 -1
  24. package/en/docusaurus-plugin-content-docs/current/configure/app/html/meta.md +1 -1
  25. package/en/docusaurus-plugin-content-docs/current/configure/app/html/mount-id.md +1 -1
  26. package/en/docusaurus-plugin-content-docs/current/configure/app/html/template-by-entries.md +1 -1
  27. package/en/docusaurus-plugin-content-docs/current/configure/app/html/template-parameters-by-entries.md +1 -1
  28. package/en/docusaurus-plugin-content-docs/current/configure/app/html/template-parameters.md +1 -1
  29. package/en/docusaurus-plugin-content-docs/current/configure/app/html/template.md +1 -1
  30. package/en/docusaurus-plugin-content-docs/current/configure/app/html/title-by-entries.md +1 -1
  31. package/en/docusaurus-plugin-content-docs/current/configure/app/html/title.md +1 -1
  32. package/en/docusaurus-plugin-content-docs/current/configure/app/output/asset-prefix.md +1 -1
  33. package/en/docusaurus-plugin-content-docs/current/configure/app/output/assets-retry.md +1 -1
  34. package/en/docusaurus-plugin-content-docs/current/configure/app/output/charset.md +1 -1
  35. package/en/docusaurus-plugin-content-docs/current/configure/app/output/clean-dist-path.md +1 -1
  36. package/en/docusaurus-plugin-content-docs/current/configure/app/output/convert-to-rem.md +1 -1
  37. package/en/docusaurus-plugin-content-docs/current/configure/app/output/copy.md +1 -1
  38. package/en/docusaurus-plugin-content-docs/current/configure/app/output/css-module-local-ident-name.md +1 -1
  39. package/en/docusaurus-plugin-content-docs/current/configure/app/output/data-uri-limit.md +1 -1
  40. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-css-extract.md +1 -1
  41. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-css-module-extension.md +1 -1
  42. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-filename-hash.md +1 -1
  43. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-inline-runtime-chunk.md +1 -1
  44. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-minimize.md +1 -1
  45. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-source-map.md +1 -1
  46. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-ts-checker.md +1 -1
  47. package/en/docusaurus-plugin-content-docs/current/configure/app/output/dist-path.md +1 -1
  48. package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-asset-fallback.md +1 -1
  49. package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-asset-manifest.md +1 -1
  50. package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-css-module-tsdeclaration.md +1 -1
  51. package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-inline-scripts.md +1 -1
  52. package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-inline-styles.md +1 -1
  53. package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-latest-decorators.md +1 -1
  54. package/en/docusaurus-plugin-content-docs/current/configure/app/output/externals.md +1 -1
  55. package/en/docusaurus-plugin-content-docs/current/configure/app/output/filename.md +1 -1
  56. package/en/docusaurus-plugin-content-docs/current/configure/app/output/legal-comments.md +1 -1
  57. package/en/docusaurus-plugin-content-docs/current/configure/app/output/override-browserslist.md +1 -1
  58. package/en/docusaurus-plugin-content-docs/current/configure/app/output/polyfill.md +1 -1
  59. package/en/docusaurus-plugin-content-docs/current/configure/app/output/svg-default-export.md +1 -1
  60. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/build-cache.md +1 -1
  61. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/bundle-analyze.md +1 -1
  62. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/chunk-split.md +1 -1
  63. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/print-file-size.md +1 -1
  64. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/profile.md +1 -1
  65. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/remove-console.md +1 -1
  66. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/remove-moment-locale.md +1 -1
  67. package/en/docusaurus-plugin-content-docs/current/configure/app/plugins.md +1 -1
  68. package/en/docusaurus-plugin-content-docs/current/configure/app/security/sri.md +1 -1
  69. package/en/docusaurus-plugin-content-docs/current/configure/app/server/routes.md +2 -4
  70. package/en/docusaurus-plugin-content-docs/current/configure/app/source/alias.md +1 -1
  71. package/en/docusaurus-plugin-content-docs/current/configure/app/source/compile-js-data-uri.md +1 -1
  72. package/en/docusaurus-plugin-content-docs/current/configure/app/source/define.md +1 -1
  73. package/en/docusaurus-plugin-content-docs/current/configure/app/source/exclude.md +1 -1
  74. package/en/docusaurus-plugin-content-docs/current/configure/app/source/global-vars.md +1 -1
  75. package/en/docusaurus-plugin-content-docs/current/configure/app/source/include.md +1 -1
  76. package/en/docusaurus-plugin-content-docs/current/configure/app/source/module-scopes.md +1 -1
  77. package/en/docusaurus-plugin-content-docs/current/configure/app/source/pre-entry.md +1 -1
  78. package/en/docusaurus-plugin-content-docs/current/configure/app/source/resolve-extension-prefix.md +1 -1
  79. package/en/docusaurus-plugin-content-docs/current/configure/app/source/resolve-main-fields.md +1 -1
  80. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/autoprefixer.md +1 -1
  81. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/babel.md +1 -1
  82. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/css-extract.md +1 -1
  83. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/css-loader.md +1 -1
  84. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/dev-server.md +1 -1
  85. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/esbuild.md +16 -39
  86. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/html-plugin.md +1 -1
  87. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/inspector.md +1 -1
  88. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/less.md +1 -1
  89. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/minify-css.md +1 -1
  90. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/postcss.md +1 -1
  91. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/pug.md +1 -1
  92. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/sass.md +1 -1
  93. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/style-loader.md +1 -1
  94. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/styled-components.md +1 -1
  95. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/swc.md +42 -0
  96. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/terser.md +1 -1
  97. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/ts-checker.md +1 -1
  98. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/ts-loader.md +1 -1
  99. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/webpack-chain.md +1 -1
  100. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/webpack.md +1 -1
  101. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/builder.md +46 -0
  102. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/css/css-in-js.md +38 -0
  103. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/css/css-modules.md +86 -0
  104. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/css/less-sass.md +17 -0
  105. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/css/postcss.md +81 -0
  106. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/css/tailwindcss.md +95 -0
  107. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/data-fetch.md +66 -0
  108. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/routes.md +270 -0
  109. package/en/docusaurus-plugin-content-docs/current/guides/concept/entries.md +116 -0
  110. package/en/docusaurus-plugin-content-docs/current/guides/concept/lifecycle.md +15 -0
  111. package/en/docusaurus-plugin-content-docs/current/guides/get-started/quick-start.md +162 -0
  112. package/en/docusaurus-plugin-content-docs/current/guides/get-started/upgrade.md +78 -0
  113. package/{zh/tutorials/first-app → en/docusaurus-plugin-content-docs/current/guides}/overview.md +4 -4
  114. package/en/docusaurus-plugin-content-docs/current/tutorials/foundations/introduction.md +1 -1
  115. package/en/docusaurus-plugin-content-docs/current.json +29 -29
  116. package/package.json +3 -3
  117. package/scripts/config.ts +2 -2
  118. package/zh/apis/app/commands/inspect.md +0 -4
  119. package/zh/apis/app/commands/new.md +1 -3
  120. package/zh/apis/app/hooks/src/index_.md +6 -5
  121. package/zh/apis/app/runtime/app/_category_.json +1 -1
  122. package/zh/apis/app/runtime/bff/_category_.json +1 -1
  123. package/zh/apis/app/runtime/core/_category_.json +1 -1
  124. package/zh/apis/app/runtime/core/bootstrap.md +17 -3
  125. package/zh/apis/app/runtime/model/_category_.json +1 -1
  126. package/zh/apis/app/runtime/model/create-app.md +1 -1
  127. package/zh/apis/app/runtime/model/use-store.md +1 -23
  128. package/zh/apis/app/runtime/router/_category_.json +1 -1
  129. package/zh/apis/app/runtime/ssr/_category_.json +1 -1
  130. package/zh/apis/app/runtime/testing/_category_.json +1 -1
  131. package/zh/apis/app/runtime/utility/_category_.json +1 -1
  132. package/zh/apis/app/runtime/web-server/_category_.json +1 -1
  133. package/zh/components/debug-app.md +18 -0
  134. package/zh/components/global-proxy.md +28 -0
  135. package/zh/components/init-app.md +44 -0
  136. package/zh/components/prerequisites.md +19 -0
  137. package/zh/components/reduck-migration.md +1 -0
  138. package/zh/configure/app/dev/asset-prefix.md +1 -1
  139. package/zh/configure/app/dev/hmr.md +1 -1
  140. package/zh/configure/app/dev/https.md +1 -1
  141. package/zh/configure/app/dev/port.md +1 -1
  142. package/zh/configure/app/dev/progress-bar.md +1 -1
  143. package/zh/configure/app/dev/start-url.md +1 -1
  144. package/zh/configure/app/experiments/_category_.json +4 -0
  145. package/zh/configure/app/experiments/lazy-compilation.md +1 -1
  146. package/zh/configure/app/html/_category_.json +4 -0
  147. package/zh/configure/app/html/app-icon.md +1 -1
  148. package/zh/configure/app/html/crossorigin.md +1 -1
  149. package/zh/configure/app/html/disable-html-folder.md +1 -1
  150. package/zh/configure/app/html/favicon-by-entries.md +1 -1
  151. package/zh/configure/app/html/favicon.md +1 -1
  152. package/zh/configure/app/html/inject-by-entries.md +1 -1
  153. package/zh/configure/app/html/inject.md +1 -1
  154. package/zh/configure/app/html/meta-by-entries.md +1 -1
  155. package/zh/configure/app/html/meta.md +1 -1
  156. package/zh/configure/app/html/mount-id.md +1 -1
  157. package/zh/configure/app/html/template-by-entries.md +1 -1
  158. package/zh/configure/app/html/template-parameters-by-entries.md +1 -1
  159. package/zh/configure/app/html/template-parameters.md +1 -1
  160. package/zh/configure/app/html/template.md +1 -1
  161. package/zh/configure/app/html/title-by-entries.md +1 -1
  162. package/zh/configure/app/html/title.md +1 -1
  163. package/zh/configure/app/output/asset-prefix.md +1 -1
  164. package/zh/configure/app/output/assets-retry.md +1 -1
  165. package/zh/configure/app/output/charset.md +1 -1
  166. package/zh/configure/app/output/clean-dist-path.md +1 -1
  167. package/zh/configure/app/output/convert-to-rem.md +1 -1
  168. package/zh/configure/app/output/copy.md +1 -1
  169. package/zh/configure/app/output/css-module-local-ident-name.md +1 -1
  170. package/zh/configure/app/output/data-uri-limit.md +1 -1
  171. package/zh/configure/app/output/disable-css-extract.md +1 -1
  172. package/zh/configure/app/output/disable-css-module-extension.md +1 -1
  173. package/zh/configure/app/output/disable-filename-hash.md +1 -1
  174. package/zh/configure/app/output/disable-inline-runtime-chunk.md +1 -1
  175. package/zh/configure/app/output/disable-minimize.md +1 -1
  176. package/zh/configure/app/output/disable-source-map.md +1 -1
  177. package/zh/configure/app/output/disable-ts-checker.md +1 -1
  178. package/zh/configure/app/output/dist-path.md +1 -1
  179. package/zh/configure/app/output/enable-asset-fallback.md +1 -1
  180. package/zh/configure/app/output/enable-asset-manifest.md +1 -1
  181. package/zh/configure/app/output/enable-css-module-tsdeclaration.md +1 -1
  182. package/zh/configure/app/output/enable-inline-scripts.md +1 -1
  183. package/zh/configure/app/output/enable-inline-styles.md +1 -1
  184. package/zh/configure/app/output/enable-latest-decorators.md +1 -1
  185. package/zh/configure/app/output/externals.md +1 -1
  186. package/zh/configure/app/output/filename.md +1 -1
  187. package/zh/configure/app/output/legal-comments.md +1 -1
  188. package/zh/configure/app/output/override-browserslist.md +1 -1
  189. package/zh/configure/app/output/polyfill.md +1 -1
  190. package/zh/configure/app/output/ssg.md +118 -114
  191. package/zh/configure/app/output/svg-default-export.md +1 -1
  192. package/zh/configure/app/performance/_category_.json +4 -0
  193. package/zh/configure/app/performance/build-cache.md +1 -1
  194. package/zh/configure/app/performance/bundle-analyze.md +1 -1
  195. package/zh/configure/app/performance/chunk-split.md +1 -1
  196. package/zh/configure/app/performance/print-file-size.md +1 -1
  197. package/zh/configure/app/performance/profile.md +1 -1
  198. package/zh/configure/app/performance/remove-console.md +1 -1
  199. package/zh/configure/app/performance/remove-moment-locale.md +1 -1
  200. package/zh/configure/app/plugins.md +1 -1
  201. package/zh/configure/app/runtime/state.md +13 -0
  202. package/zh/configure/app/security/_category_.json +4 -0
  203. package/zh/configure/app/security/sri.md +1 -1
  204. package/zh/configure/app/server/routes.md +2 -4
  205. package/zh/configure/app/server/ssr.md +0 -2
  206. package/zh/configure/app/source/alias.md +1 -1
  207. package/zh/configure/app/source/compile-js-data-uri.md +1 -1
  208. package/zh/configure/app/source/define.md +1 -1
  209. package/zh/configure/app/source/exclude.md +1 -1
  210. package/zh/configure/app/source/global-vars.md +1 -1
  211. package/zh/configure/app/source/include.md +1 -1
  212. package/zh/configure/app/source/module-scopes.md +1 -1
  213. package/zh/configure/app/source/pre-entry.md +1 -1
  214. package/zh/configure/app/source/resolve-extension-prefix.md +1 -1
  215. package/zh/configure/app/source/resolve-main-fields.md +1 -1
  216. package/zh/configure/app/tools/autoprefixer.md +1 -1
  217. package/zh/configure/app/tools/babel.md +1 -1
  218. package/zh/configure/app/tools/css-extract.md +1 -1
  219. package/zh/configure/app/tools/css-loader.md +1 -1
  220. package/zh/configure/app/tools/dev-server.md +1 -1
  221. package/zh/configure/app/tools/esbuild.md +16 -39
  222. package/zh/configure/app/tools/html-plugin.md +1 -1
  223. package/zh/configure/app/tools/inspector.md +1 -1
  224. package/zh/configure/app/tools/less.md +1 -1
  225. package/zh/configure/app/tools/minify-css.md +1 -1
  226. package/zh/configure/app/tools/postcss.md +1 -1
  227. package/zh/configure/app/tools/pug.md +1 -1
  228. package/zh/configure/app/tools/sass.md +1 -1
  229. package/zh/configure/app/tools/style-loader.md +1 -1
  230. package/zh/configure/app/tools/styled-components.md +1 -1
  231. package/zh/configure/app/tools/swc.md +42 -0
  232. package/zh/configure/app/tools/terser.md +1 -1
  233. package/zh/configure/app/tools/ts-checker.md +1 -1
  234. package/zh/configure/app/tools/ts-loader.md +1 -1
  235. package/zh/configure/app/tools/webpack-chain.md +1 -1
  236. package/zh/configure/app/tools/webpack.md +1 -1
  237. package/zh/guides/advanced-features/bff/bff-proxy.md +1 -1
  238. package/zh/guides/advanced-features/compatibility.md +2 -38
  239. package/zh/guides/advanced-features/custom-app.md +23 -19
  240. package/zh/guides/advanced-features/ssg.md +73 -62
  241. package/zh/guides/advanced-features/ssr.md +142 -36
  242. package/zh/guides/advanced-features/testing.md +33 -1
  243. package/zh/guides/advanced-features/web-server.md +2 -2
  244. package/zh/guides/basic-features/builder.md +46 -0
  245. package/zh/guides/basic-features/css/_category_.json +1 -1
  246. package/zh/guides/basic-features/css/less-sass.md +1 -14
  247. package/zh/guides/basic-features/css/tailwindcss.md +2 -6
  248. package/zh/guides/basic-features/data-fetch.md +1 -1
  249. package/zh/guides/basic-features/env-vars.md +34 -0
  250. package/zh/guides/basic-features/html.md +182 -0
  251. package/zh/guides/basic-features/mock.md +3 -9
  252. package/zh/guides/basic-features/proxy.md +2 -27
  253. package/zh/guides/basic-features/routes.md +32 -35
  254. package/zh/guides/concept/entries.md +8 -9
  255. package/zh/guides/get-started/quick-start.md +6 -78
  256. package/zh/guides/get-started/upgrade.md +8 -8
  257. package/zh/guides/topic-detail/framework-plugin/extend.md +3 -4
  258. package/zh/{apis/app/runtime/plugin/hook-api.md → guides/topic-detail/framework-plugin/hook-list.md} +42 -135
  259. package/zh/{apis/app/runtime/plugin → guides/topic-detail/framework-plugin}/hook.md +2 -3
  260. package/zh/guides/topic-detail/framework-plugin/implement.md +21 -10
  261. package/zh/guides/topic-detail/framework-plugin/introduction.md +49 -0
  262. package/{en/docusaurus-plugin-content-docs/current/apis/app/runtime/plugin → zh/guides/topic-detail/framework-plugin}/plugin-api.md +3 -4
  263. package/zh/guides/topic-detail/framework-plugin/relationship.md +2 -3
  264. package/zh/guides/topic-detail/model/quick-start.md +5 -1
  265. package/zh/guides/topic-detail/model/test-model.md +2 -2
  266. package/zh/guides/topic-detail/monorepo/intro.md +1 -1
  267. package/zh/guides/troubleshooting/dependencies.md +0 -69
  268. package/zh/tutorials/first-app/_category_.json +1 -1
  269. package/zh/tutorials/first-app/c01-start.md +94 -0
  270. package/zh/tutorials/first-app/c02-component.md +56 -0
  271. package/zh/tutorials/first-app/c03-css.md +305 -0
  272. package/zh/tutorials/first-app/c04-routes.md +169 -0
  273. package/zh/tutorials/first-app/c05-loader.md +82 -0
  274. package/zh/tutorials/first-app/c06-model.md +256 -0
  275. package/zh/tutorials/first-app/c07-container.md +268 -0
  276. package/zh/tutorials/first-app/c08-entries.md +134 -0
  277. package/zh/tutorials/foundations/introduction.md +2 -2
  278. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/default-alias.md +0 -25
  279. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/plugin/_category_.json +0 -4
  280. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/plugin/abstract.md +0 -26
  281. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/plugin/hook-api.md +0 -896
  282. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/plugin/hook.md +0 -170
  283. package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-modern-mode.md +0 -34
  284. package/zh/apis/app/runtime/default-alias.md +0 -23
  285. package/zh/apis/app/runtime/plugin/_category_.json +0 -4
  286. package/zh/apis/app/runtime/plugin/abstract.md +0 -26
  287. package/zh/apis/app/runtime/plugin/plugin-api.md +0 -117
  288. package/zh/apis/generator/overview.md +0 -32
  289. package/zh/configure/app/output/enable-modern-mode.md +0 -34
  290. package/zh/guides/basic-features/image.md +0 -43
  291. package/zh/guides/topic-detail/compile-speed.md +0 -182
  292. package/zh/guides/topic-detail/framework-plugin/abstract.md +0 -27
  293. package/zh/guides/topic-detail/monorepo/deploy.md +0 -43
  294. package/zh/guides/troubleshooting/compile.md +0 -379
  295. package/zh/tutorials/first-app/c01-getting-started/1.1-prerequisites.md +0 -25
  296. package/zh/tutorials/first-app/c01-getting-started/1.2-minimal-mwa.md +0 -118
  297. package/zh/tutorials/first-app/c01-getting-started/1.3-dev-command.md +0 -29
  298. package/zh/tutorials/first-app/c01-getting-started/1.4-enable-ssr.md +0 -44
  299. package/zh/tutorials/first-app/c01-getting-started/1.5-start-command.md +0 -18
  300. package/zh/tutorials/first-app/c01-getting-started/1.6-create-repo.md +0 -31
  301. package/zh/tutorials/first-app/c01-getting-started/_category_.json +0 -3
  302. package/zh/tutorials/first-app/c02-generator-and-studio/2.1-generator.md +0 -79
  303. package/zh/tutorials/first-app/c02-generator-and-studio/2.2-boilerplates.md +0 -36
  304. package/zh/tutorials/first-app/c02-generator-and-studio/2.3-configuration.md +0 -21
  305. package/zh/tutorials/first-app/c02-generator-and-studio/_category_.json +0 -3
  306. package/zh/tutorials/first-app/c03-ide/3.1-setting-up.md +0 -55
  307. package/zh/tutorials/first-app/c03-ide/3.2-hints-in-ide.md +0 -66
  308. package/zh/tutorials/first-app/c03-ide/3.3-autofix-in-ide.md +0 -11
  309. package/zh/tutorials/first-app/c03-ide/3.4-autofix-in-cli.md +0 -63
  310. package/zh/tutorials/first-app/c03-ide/_category_.json +0 -3
  311. package/zh/tutorials/first-app/c04-es6-plus-and-ts/4.1-use-es6-plus.md +0 -67
  312. package/zh/tutorials/first-app/c04-es6-plus-and-ts/4.2-use-typescript.md +0 -111
  313. package/zh/tutorials/first-app/c04-es6-plus-and-ts/4.3-compatibility.md +0 -67
  314. package/zh/tutorials/first-app/c04-es6-plus-and-ts/_category_.json +0 -3
  315. package/zh/tutorials/first-app/c05-component/5.1-use-ui-library.md +0 -68
  316. package/zh/tutorials/first-app/c05-component/5.2-use-standalone-component.md +0 -92
  317. package/zh/tutorials/first-app/c05-component/_category_.json +0 -3
  318. package/zh/tutorials/first-app/c06-css-and-component/6.1-css-in-js.md +0 -110
  319. package/zh/tutorials/first-app/c06-css-and-component/6.2-utility-class.md +0 -148
  320. package/zh/tutorials/first-app/c06-css-and-component/6.3-postcss.md +0 -84
  321. package/zh/tutorials/first-app/c06-css-and-component/6.4-design-system.md +0 -83
  322. package/zh/tutorials/first-app/c06-css-and-component/6.5-storybook.md +0 -77
  323. package/zh/tutorials/first-app/c06-css-and-component/6.6-testing.md +0 -113
  324. package/zh/tutorials/first-app/c06-css-and-component/_category_.json +0 -3
  325. package/zh/tutorials/first-app/c07-app-entry/7.1-intro.md +0 -64
  326. package/zh/tutorials/first-app/c07-app-entry/7.2-add-entry-in-cli.md +0 -100
  327. package/zh/tutorials/first-app/c07-app-entry/7.3-manage-entries-by-hand.md +0 -74
  328. package/zh/tutorials/first-app/c07-app-entry/_category_.json +0 -3
  329. package/zh/tutorials/first-app/c08-client-side-routing/8.1-code-based-routing.md +0 -153
  330. package/zh/tutorials/first-app/c08-client-side-routing/8.2-file-based-routing.md +0 -310
  331. package/zh/tutorials/first-app/c08-client-side-routing/_category_.json +0 -3
  332. package/zh/tutorials/first-app/c09-bff/9.1-serverless.md +0 -30
  333. package/zh/tutorials/first-app/c09-bff/9.2-enable-bff.md +0 -93
  334. package/zh/tutorials/first-app/c09-bff/9.3-fetch-bff.md +0 -205
  335. package/zh/tutorials/first-app/c09-bff/_category_.json +0 -3
  336. package/zh/tutorials/first-app/c10-model/10.1-application-architecture.md +0 -23
  337. package/zh/tutorials/first-app/c10-model/10.2-add-model.md +0 -185
  338. package/zh/tutorials/first-app/c10-model/10.3-use-model.md +0 -54
  339. package/zh/tutorials/first-app/c10-model/10.4-testing.md +0 -69
  340. package/zh/tutorials/first-app/c10-model/_category_.json +0 -3
  341. package/zh/tutorials/first-app/c11-container/11.1-use-model-with-app-state.md +0 -274
  342. package/zh/tutorials/first-app/c11-container/11.2-add-container.md +0 -106
  343. package/zh/tutorials/first-app/c11-container/11.3-use-loader.md +0 -61
  344. package/zh/tutorials/first-app/c11-container/11.4-testing.md +0 -56
  345. package/zh/tutorials/first-app/c11-container/_category_.json +0 -3
@@ -1,18 +1,13 @@
1
1
  ---
2
- sidebar_position: 5
2
+ title: Hook 列表
3
+ sidebar_position: 8
3
4
  ---
4
5
 
5
- # Hook API
6
+ Modern.js 中暴露了三类插件:CLI、Runtime、Server。下面列举下各类中的 Hook
6
7
 
7
- Modern.js 中主要构建了三套 Manager 模型:CLI、Runtime、Server,其中 CLI 是三套工程方案都有的,而 Runtime、Server 则是应用工程独有的,不同的工程方案中 Manager 模型的功能是不同的。
8
+ ## CLI
8
9
 
9
- ## 基础
10
-
11
- 这一部分的 Hook 模型是所有工程方案都有的,就是说在任意的工程方案中都可以在插件中添加实现对应的中间件函数。
12
-
13
- 接下来对支持的所有基础 Hook 分别进行介绍。
14
-
15
- #### `config`
10
+ ### `config`
16
11
 
17
12
  - 功能:收集配置
18
13
  - 执行阶段:解析完 `modern.config.ts` 中的配置之后
@@ -38,7 +33,7 @@ export default (): CliPlugin => ({
38
33
 
39
34
  这里返回的配置信息,会被收集和统一处理合并。
40
35
 
41
- #### `validateSchema`
36
+ ### `validateSchema`
42
37
 
43
38
  - 功能:收集各个插件中配置的用来校验用户配置的 [JSON Schema](https://json-schema.org/)
44
39
  - 执行阶段:`config` Hook 运行完之后。
@@ -104,7 +99,7 @@ $ modern dev
104
99
  | ^^^^^ Property foo is not expected to be here
105
100
  ```
106
101
 
107
- #### `prepare`
102
+ ### `prepare`
108
103
 
109
104
  - 功能:运行主流程的前置准备流程
110
105
  - 执行阶段:校验完配置之后
@@ -126,7 +121,7 @@ export default (): CliPlugin => ({
126
121
  });
127
122
  ```
128
123
 
129
- #### `commands`
124
+ ### `commands`
130
125
 
131
126
  - 功能:为 command 添加新的命令
132
127
  - 执行阶段:`prepare` Hook 运行完之后
@@ -168,7 +163,7 @@ $ modern foo
168
163
  foo
169
164
  ```
170
165
 
171
- #### `beforeExit`
166
+ ### `beforeExit`
172
167
 
173
168
  - 功能:在退出进程前,重置一些文件状态
174
169
  - 执行阶段:进程退出之前
@@ -190,17 +185,7 @@ export default (): CliPlugin => ({
190
185
  });
191
186
  ```
192
187
 
193
- ## 应用工程方案
194
-
195
- 应用工程支持添加到项目中的插件主要有三种:CLI 插件、 Server 插件、Runtime 插件。他们是基于同一套插件系统实现的,但它们所支持的 Hook 不同、功能不同、运行的时机也不同。
196
-
197
- 不同的 Manager 对应 Hook 模型和运行时机是不同的,所以接下来会对 CLI、Server、Runtime 的 Hook 模型分开讨论。
198
-
199
- ### CLI
200
-
201
- 应用工程中除了上面提到的基础的 CLI Hook 之外还有一些 MWA 场景下特定的 Hook。
202
-
203
- #### `beforeDev`
188
+ ### `beforeDev`
204
189
 
205
190
  - 功能:运行 dev 主流程的之前的任务
206
191
  - 执行阶段:`dev` 命令运行时,项目开始启动前执行
@@ -222,7 +207,7 @@ export default (): CliPlugin => ({
222
207
  });
223
208
  ```
224
209
 
225
- #### `afterDev`
210
+ ### `afterDev`
226
211
 
227
212
  - 功能:运行 dev 主流程的之后的任务
228
213
  - 执行阶段:`dev` 命令运行时,项目启动完成之后执行
@@ -244,7 +229,7 @@ export default (): CliPlugin => ({
244
229
  });
245
230
  ```
246
231
 
247
- #### `beforeCreateCompiler`
232
+ ### `beforeCreateCompiler`
248
233
 
249
234
  - 功能:在中间件函数中可以拿到创建 Webpack Compiler 的 Webpack 配置
250
235
  - 执行阶段:创建 Webpack Compiler 之前执行
@@ -266,7 +251,7 @@ export default (): CliPlugin => ({
266
251
  });
267
252
  ```
268
253
 
269
- #### `afterCreateCompiler`
254
+ ### `afterCreateCompiler`
270
255
 
271
256
  - 功能:在中间件函数中可以拿到创建的 Webpack Compiler
272
257
  - 执行阶段:创建 Webpack Compiler 之后执行
@@ -288,7 +273,7 @@ export default (): CliPlugin => ({
288
273
  });
289
274
  ```
290
275
 
291
- #### `beforePrintInstructions`
276
+ ### `beforePrintInstructions`
292
277
 
293
278
  - 功能:在中间件函数中可以拿到即将打印的日志信息,并对其进行修改
294
279
  - 执行阶段:打印日志信息之前执行
@@ -313,7 +298,7 @@ export default (): CliPlugin => ({
313
298
  });
314
299
  ```
315
300
 
316
- #### `beforeBuild`
301
+ ### `beforeBuild`
317
302
 
318
303
  - 功能:运行 build 主流程的之前的任务,可以拿到构建的 Webpack 配置
319
304
  - 执行阶段:`build` 命令运行时,项目构建启动前执行
@@ -335,7 +320,7 @@ export default (): CliPlugin => ({
335
320
  });
336
321
  ```
337
322
 
338
- #### `afterBuild`
323
+ ### `afterBuild`
339
324
 
340
325
  - 功能:运行 build 主流程的之后的任务
341
326
  - 执行阶段:`build` 命令运行时,项目构建完成之后执行
@@ -357,7 +342,7 @@ export default (): CliPlugin => ({
357
342
  });
358
343
  ```
359
344
 
360
- #### `modifyEntryImports`
345
+ ### `modifyEntryImports`
361
346
 
362
347
  - 功能:用于修改、添加生成入口文件中的 `import` 语句
363
348
  - 执行阶段:生成入口文件之前,[`prepare`](#prepare) 阶段触发
@@ -389,7 +374,7 @@ export default (): CliPlugin => ({
389
374
  });
390
375
  ```
391
376
 
392
- #### `modifyEntryExport`
377
+ ### `modifyEntryExport`
393
378
 
394
379
  - 功能:用于修改生成入口文件中的 `export` 语句
395
380
  - 执行阶段:生成入口文件之前,[`prepare`](#prepare) 阶段触发
@@ -416,7 +401,7 @@ export default (): CliPlugin => ({
416
401
  });
417
402
  ```
418
403
 
419
- #### `modifyEntryRuntimePlugins`
404
+ ### `modifyEntryRuntimePlugins`
420
405
 
421
406
  - 功能:用于添加、修改生成入口文件中的 [Runtime 插件](#Runtime)
422
407
  - 执行阶段:生成入口文件之前,[`prepare`](#prepare) 阶段触发
@@ -451,7 +436,7 @@ export default (): CliPlugin => ({
451
436
  });
452
437
  ```
453
438
 
454
- #### `modifyEntryRenderFunction`
439
+ ### `modifyEntryRenderFunction`
455
440
 
456
441
  - 功能:用于修改生成入口文件中 `render` 函数
457
442
  - 执行阶段:生成入口文件之前,[`prepare`](#prepare) 阶段触发
@@ -477,7 +462,7 @@ export default (): CliPlugin => ({
477
462
  });
478
463
  ```
479
464
 
480
- #### `modifyFileSystemRoutes`
465
+ ### `modifyFileSystemRoutes`
481
466
 
482
467
  - 功能:用于修改生成前端页面路由文件中的内容,内容都是需要可序列化的
483
468
  - 执行阶段:生成前端路由文件之前,[`prepare`](#prepare) 阶段触发
@@ -511,7 +496,7 @@ export default (): CliPlugin => ({
511
496
 
512
497
  这样就为前端新增了一个页面路由。
513
498
 
514
- #### `modifyServerRoutes`
499
+ ### `modifyServerRoutes`
515
500
 
516
501
  - 功能:用于修改生成服务器路由中的内容
517
502
  - 执行阶段:生成 Server 路由文件之前,[`prepare`](#prepare) 阶段触发
@@ -544,7 +529,7 @@ export default (): CliPlugin => ({
544
529
  });
545
530
  ```
546
531
 
547
- #### `modifyAsyncEntry`
532
+ ### `modifyAsyncEntry`
548
533
 
549
534
  - 功能:用于修改包裹入口文件的异步模块,参见 [source.enableAsyncEntry](/docs/configure/app/source/enable-async-entry)
550
535
  - 执行阶段:生成入口文件之前,[`prepare`](#prepare) 阶段触发
@@ -570,7 +555,7 @@ export default (): CliPlugin => ({
570
555
  });
571
556
  ```
572
557
 
573
- #### `htmlPartials`
558
+ ### `htmlPartials`
574
559
 
575
560
  - 功能:用于定制生成的 HTML 页面模版
576
561
  - 执行阶段:[`prepare`](#prepare) 阶段触发
@@ -598,11 +583,15 @@ export default (): CliPlugin => ({
598
583
 
599
584
  这样就为 HTML 模版中新增了一个 Script 标签。
600
585
 
601
- ### Server
586
+ ## Server
587
+
588
+ :::note
589
+ 目前 Server 插件还未完全开放,API 不保证稳定,使用需谨慎。
590
+ :::
602
591
 
603
592
  应用工程中的 Server 部分也支持了插件。其中的 Hook 将会提供一些特定阶段调用和特殊功能的 Hook。
604
593
 
605
- #### `create`
594
+ ### `create`
606
595
 
607
596
  - 功能:在中间件函数中会拿到 Server 初始化用到的指标测量工具配置 `measureOptions` 和日志工具配置 `loggerOptions`,并返回自定义的指标测量工具 `measure` 和日志工具配置 `logger`
608
597
  - 执行阶段:Server 初始化
@@ -624,7 +613,7 @@ export default (): ServerPlugin => ({
624
613
  });
625
614
  ```
626
615
 
627
- #### `prepareWebServer`
616
+ ### `prepareWebServer`
628
617
 
629
618
  - 功能:设置 Web 路由的处理函数,在中间件函数中可以拿到 Web Server 的前置中间件
630
619
  - 执行阶段:在请求到达的时候
@@ -650,7 +639,7 @@ export default (): ServerPlugin => ({
650
639
  });
651
640
  ```
652
641
 
653
- #### `prepareApiServer`
642
+ ### `prepareApiServer`
654
643
 
655
644
  - 功能:设置 API 路由的处理函数,在中间件函数中可以拿到 API Server 的前置中间件
656
645
  - 执行阶段:请求到达并且 match bff basename 之后执行
@@ -676,11 +665,15 @@ export default (): ServerPlugin => ({
676
665
  });
677
666
  ```
678
667
 
679
- ### Runtime
668
+ ## Runtime
669
+
670
+ :::note
671
+ 目前 Runtime 插件还未完全开放,API 不保证稳定,使用需谨慎。
672
+ :::
680
673
 
681
674
  Runtime 插件主要用于开发者修改需要渲染的组件与 Element 和定制服务器端、客户端的渲染过程。
682
675
 
683
- #### `init`
676
+ ### `init`
684
677
 
685
678
  - 功能:执行 `App.init`
686
679
  - 执行阶段:渲染(SSR/CSR)
@@ -703,7 +696,7 @@ export default (): Plugin => ({
703
696
  });
704
697
  ```
705
698
 
706
- #### `hoc`
699
+ ### `hoc`
707
700
 
708
701
  - 功能:修改需要渲染的组件
709
702
  - 执行阶段:渲染(SSR/CSR)
@@ -735,7 +728,7 @@ export default (): Plugin => ({
735
728
  });
736
729
  ```
737
730
 
738
- #### `provide`
731
+ ### `provide`
739
732
 
740
733
  - 功能:修改需要渲染的 Element
741
734
  - 执行阶段:渲染(SSR/CSR)
@@ -758,7 +751,7 @@ export default (): Plugin => ({
758
751
  });
759
752
  ```
760
753
 
761
- #### `client`
754
+ ### `client`
762
755
 
763
756
  - 功能:定制客户端渲染流程
764
757
  - 执行阶段:在浏览器客户端渲染
@@ -784,7 +777,7 @@ export default (): Plugin => ({
784
777
  });
785
778
  ```
786
779
 
787
- #### `server`
780
+ ### `server`
788
781
 
789
782
  - 功能:定制服务器端渲染流程
790
783
  - 执行阶段:SSR
@@ -808,89 +801,3 @@ export default (): Plugin => ({
808
801
  },
809
802
  });
810
803
  ```
811
-
812
- ## 模块工程方案
813
-
814
- 模块工程方案用于开发可复用模块,主要提供编译构建的能力,插件方面则是主要提供了调整编译构建配置的 Hook。
815
-
816
- #### `moduleLessConfig`
817
-
818
- - 功能:用于设置 [Less](https://lesscss.org/) 文件的编译配置
819
- - 执行阶段:`build` 阶段
820
- - Hook 模型:AsyncPipeline
821
- - 类型:`AsyncPipeline<{ modernConfig: NormalizedConfig }, LessOption | undefined>`
822
- - 使用示例:
823
-
824
- ```ts
825
- import type { CliPlugin } from '@modern-js/core';
826
-
827
- export default (): CliPlugin => ({
828
- setup(api) {
829
- return {
830
- moduleLessConfig: ({ modernConfig }) => {
831
- // do something
832
-
833
- return {
834
- // LESS 配置
835
- };
836
- },
837
- };
838
- },
839
- });
840
- ```
841
-
842
- #### `moduleSassConfig`
843
-
844
- - 功能:用于设置 [Sass](https://sass-lang.com/) 文件的编译配置
845
- - 执行阶段:`build` 阶段
846
- - Hook 模型:AsyncPipeline
847
- - 类型:`AsyncPipeline<{ modernConfig: NormalizedConfig }, SassOptions | undefined>`
848
- - 使用示例:
849
-
850
- ```ts
851
- import type { CliPlugin } from '@modern-js/core';
852
-
853
- export default (): CliPlugin => ({
854
- setup(api) {
855
- return {
856
- moduleSassConfig: ({ modernConfig }) => {
857
- // do something
858
-
859
- return {
860
- // SASS 配置
861
- };
862
- },
863
- };
864
- },
865
- });
866
- ```
867
-
868
- #### `moduleTailwindConfig`
869
-
870
- - 功能:用于设置 [Tailwind CSS](https://tailwindcss.com/) 的相关配置
871
- - 执行阶段:`build` 阶段
872
- - Hook 模型:AsyncPipeline
873
- - 类型:`AsyncPipeline<{ modernConfig: NormalizedConfig }, any>`
874
- - 使用示例:
875
-
876
- ```ts
877
- import type { CliPlugin } from '@modern-js/core';
878
-
879
- export default (): CliPlugin => ({
880
- setup(api) {
881
- return {
882
- moduleTailwindConfig: ({ modernConfig }) => {
883
- // do something
884
-
885
- return {
886
- // Tailwind CSS 配置
887
- };
888
- },
889
- };
890
- },
891
- });
892
- ```
893
-
894
- ## Monorepo 工程方案
895
-
896
- Monorepo 工程方案中目前没有设置额外的插件 Hook,可以创建、添加拥有基础 Hook 的插件:[基础](#基础)。
@@ -1,9 +1,8 @@
1
1
  ---
2
+ title: Hook 模型
2
3
  sidebar_position: 2
3
4
  ---
4
5
 
5
- # Hook 模型
6
-
7
6
  首先介绍一下 Modern.js 的基础的插件系统中的一些内容,包括 Hook 模型的工作方式、各个 Hook 模型的运行模式、Manager 的工作模式。
8
7
 
9
8
  每种 Hook 模型都是独立的,可以独立管理运行函数。
@@ -167,4 +166,4 @@ workflow.run(5) // [6, 10]
167
166
  </div>
168
167
  </div>
169
168
 
170
- Workflow、Waterfall 其实都是 Pipeline 的变体,Pipeline 可以通过特定的写法来实现 Workflow、Waterfall ,但都较为麻烦,有许多隐形的约定,为了方便使用,提供了这两种变体来满足这种特殊场景。
169
+ Workflow、Waterfall 其实都是 Pipeline 的变体,Pipeline 可以通过特定的写法来实现 Workflow、Waterfall,但都较为麻烦,有许多隐形的约定。为了方便使用,提供了这两种变体来满足这种特殊场景。
@@ -1,10 +1,9 @@
1
1
  ---
2
- sidebar_position: 2
2
+ title: 如何编写插件
3
+ sidebar_position: 3
3
4
  ---
4
5
 
5
- # 如何编写插件
6
-
7
- Modern.js 支持通过自定义插件的方式来实现个性化功能。
6
+ 上一小节介绍了 Modern.js 插件的 Hook 模型,这一小节介绍如何编写插件。
8
7
 
9
8
  ## 实现插件
10
9
 
@@ -31,6 +30,8 @@ const MyPlugin = {
31
30
  };
32
31
  ```
33
32
 
33
+ 另外,在插件中,允许配置与其他插件的执行顺序,详情可以参考[插件关系](/docs/guides/topic-detail/framework-plugin/relationship)。
34
+
34
35
  ### 插件类型
35
36
 
36
37
  使用 TypeScript 时,可以引入内置的 `CliPlugin` 类型,为插件提供正确的类型推导:
@@ -53,9 +54,19 @@ const MyPlugin: CliPlugin = {
53
54
  };
54
55
  ```
55
56
 
56
- :::info
57
- 插件可以注册丰富的 Hooks,不同的 Hook 拥有不同的模型和运行规则,详见 [Hook 模型](/docs/apis/app/runtime/plugin/hook)。
58
- :::
57
+ Modern.js 导出的 `Plugin` 类型支持泛型扩展。
58
+
59
+ 在 Modern.js 中,任意插件可以注册自己的 Hook,如果想拥有其他插件注册的 Hook 的类型,可以添加泛型:
60
+
61
+ ```ts
62
+ import type { CliPlugin } from '@modern-js/core';
63
+ import type { MyPluginHook } from 'xxx';
64
+
65
+ const MyPlugin: CliPlugin<MyPluginHook> = {};
66
+ ```
67
+
68
+ 详细说明,请参考 [扩展 Hook](/docs/guides/topic-detail/framework-plugin/extend)。
69
+
59
70
 
60
71
  ### 插件配置项
61
72
 
@@ -79,7 +90,7 @@ const MyPlugin = (options: MyPluginOptions): CliPlugin => ({
79
90
 
80
91
  ### 插件 API
81
92
 
82
- 插件的 setup 函数会接收一个 api 入参,你可以调用 api 上提供的一些方法来获取到配置、应用上下文等信息。
93
+ 插件的 `setup` 函数会接收一个 api 入参,你可以调用 api 上提供的一些方法来获取到配置、应用上下文等信息。
83
94
 
84
95
  ```ts
85
96
  import type { CliPlugin } from '@modern-js/core';
@@ -98,7 +109,7 @@ export default (): CliPlugin => ({
98
109
  });
99
110
  ```
100
111
 
101
- 插件 API 的详细说明,请参考 [Plugin API](/docs/apis/app/runtime/plugin/plugin-api)。
112
+ 插件 API 的详细说明,请参考 [Plugin API](/docs/guides/topic-detail/framework-plugin/plugin-api)。
102
113
 
103
114
  ### 异步 setup
104
115
 
@@ -149,7 +160,7 @@ export default defineConfig({
149
160
 
150
161
  ### 在 npm 上发布插件
151
162
 
152
- 如果需要将 Modern.js 插件发布到 npm,推荐使用 Modern.js 中的模块工程方案来管理和构建,如果需要将它和使用项目管理在一起,则推荐使用 Modern.js 中的 Monorepo 工程方案管理。这里就简单地使用模块工程方案进行演示。
163
+ 如果需要将 Modern.js 插件发布到 npm,推荐使用 Modern.js 中的模块工程方案来管理和构建。
153
164
 
154
165
  首先创建一个空的模块工程方案项目,调整 npm 包名称:
155
166
 
@@ -0,0 +1,49 @@
1
+ ---
2
+ title: 介绍
3
+ sidebar_position: 1
4
+ ---
5
+
6
+ ## Modern.js 插件系统
7
+
8
+ Modern.js 用于扩展项目运行、请求、渲染等不同阶段功能的系统,主要分为三个部分:Hook 模型、管理器,上下文共享机制。
9
+
10
+ Hook 模型用于确定当前 Hook 的执行方式,不同 Hook 模型的函数拥有不同的执行逻辑。管理器用于控制 Hook 的执行与调度。上下文共享机制用于在不同 Hook 间传递信息。
11
+
12
+ 目前 Modern.js 提供几种不同的 Hook 模型:
13
+
14
+ - Pipeline
15
+ - Sync
16
+ - Async
17
+ - Waterfall
18
+ - Sync
19
+ - Async
20
+ - Workflow
21
+ - Sync
22
+ - Async
23
+ - Parallel(Async)
24
+
25
+ :::note
26
+ 后续章节详细介绍各个模型的执行方式。
27
+ :::
28
+
29
+ 基于 Hook 模型和管理器,Modern.js 暴露了三套插件:CLI、Runtime、Server。
30
+
31
+ 其中 CLI 插件是 Modern.js 中主要的运行流程控制模型,Modern.js 中绝大部分功能都是主要通过这一套模型运行的。Runtime 插件主要负责处理 React 组件渲染逻辑。Server 插件主要用于对服务端的生命周期以及用户请求的控制。
32
+
33
+ ## 插件可以做什么
34
+
35
+ Modern.js 的所有功能都是通过这套插件实现的,这意味着 Modern.js 中的所有能力是都对开发者开放的。开发者可以通过编写插件来扩展更多功能,适配复杂场景,包括但不限于:
36
+
37
+ - 注册命令
38
+ - 修改 Modern.js 配置、配置校验 Schema
39
+ - 修改编译时的 Webpack/Babel/Less/Sass/Tailwind CSS/... 配置
40
+ - 修改运行时需要渲染的 React 组件、Element
41
+ - 修改页面路由
42
+ - 修改服务器路由
43
+ - 自定义控制台输出
44
+ - 自定义动态 HTML 模版
45
+ - 自定义 Node.js 服务器框架
46
+ - 自定义 React 组件客户端/服务器端渲染
47
+ - ...
48
+
49
+ 当 Modern.js 暂时没有覆盖到你所需要的功能或场景时,可以开发一个自定义插件,来实现适配特殊场景的相关功能。
@@ -1,10 +1,9 @@
1
1
  ---
2
- sidebar_position: 5
2
+ title: 插件 API
3
+ sidebar_position: 6
3
4
  ---
4
5
 
5
- # Plugin API
6
-
7
- 插件的 setup 函数会接收一个 api 入参,你可以调用 api 上提供的一些方法来获取到配置、应用上下文等信息。
6
+ 插件的 `setup` 函数会接收一个 `api` 入参,你可以调用 api 上提供的一些方法来获取到配置、应用上下文等信息。
8
7
 
9
8
  ```ts
10
9
  import type { CliPlugin } from '@modern-js/core';
@@ -1,9 +1,8 @@
1
1
  ---
2
- sidebar_position: 3
2
+ title: 插件之间的关系
3
+ sidebar_position: 4
3
4
  ---
4
5
 
5
- # 插件之间的关系
6
-
7
6
  Modern.js 的插件配置对象提供了一系列的字段,用于控制插件顺序、互斥等能力,可用的字段如下:
8
7
 
9
8
  - `name`: `string`,设置当前插件的名称。
@@ -3,6 +3,10 @@ sidebar_position: 1
3
3
  title: 快速上手
4
4
  ---
5
5
 
6
+ import ReduckMigration from '@site-docs/components/reduck-migration.md'
7
+
8
+ <ReduckMigration />
9
+
6
10
  [Reduck](https://github.com/modern-js-dev/reduck) 是 Modern.js 团队开发的遵循 MVC 模式的状态管理库,底层状态存储基于 [Redux](https://redux.js.org/) 实现,同时提供更高层级的抽象,并完全兼容 Redux 生态。
7
11
 
8
12
  Reduck 的目标是以 MVC 模式组织 React 应用开发结构,将业务逻辑维护在 Model 层,业务逻辑与 UI 解耦,让开发业务逻辑更集中、更简单,同时通过更高层级的抽象,减少重复工作(样板代码)。
@@ -77,7 +81,7 @@ export default countModel;
77
81
 
78
82
  接下来,我们演示如何在组件中使用 Model。
79
83
 
80
- 新建一个组件 Counter,在组件内通过 `useModel` API 使用 countModel
84
+ 新建一个组件 Counter,在组件内通过 `useModel` API 使用 `countModel`:
81
85
 
82
86
  ```js
83
87
  import { useModel } from '@modern-js/runtime/model';
@@ -8,8 +8,8 @@ title: 测试 Model
8
8
  使用测试功能,需要先开启该功能。在项目根目录下,执行 `pnpm run new`,进行如下选择:
9
9
 
10
10
  ```bash
11
- ? 请选择你想要的操作: 启用可选功能
12
- ? 启用可选功能: 启用「单元测试 / 集成测试」功能
11
+ ? 请选择你想要的操作 启用可选功能
12
+ ? 启用可选功能 启用「单元测试 / 集成测试」功能
13
13
  ```
14
14
 
15
15
  即可开启测试功能支持。
@@ -2,7 +2,7 @@
2
2
  sidebar_position: 1
3
3
  ---
4
4
 
5
- # 简介
5
+ # Monorepo 工程介绍
6
6
 
7
7
  Modern.js 提供了对于 Monorepo 工程方案的支持,其主要通过 `@modern-js/monorepo-tools` 来提供功能。
8
8
 
@@ -4,75 +4,6 @@ sidebar_position: 1
4
4
 
5
5
  # 依赖安装问题
6
6
 
7
- ### 如何升级项目中的 Modern.js 到最新版本?
8
-
9
- 对于使用 yarn 的项目,可以执行:
10
-
11
- ```bash
12
- yarn upgrade --scope @modern-js
13
- ```
14
-
15
- 对于使用 pnpm 的项目,可以执行:
16
-
17
- ```bash
18
- pnpm update "@modern-js/*" -r
19
- ```
20
-
21
- 如果需要了解不同版本之间的更新内容,可以查看:
22
-
23
- - Modern.js 发版日志:[Modern.js/releases](https://github.com/modern-js-dev/modern.js/releases)。
24
- - 各个 package 下的 `CHANGELOG.md` 文件。
25
-
26
- ---
27
-
28
- ### 如何锁定项目中的某个依赖版本?
29
-
30
- 如果需要锁定项目中的某个依赖的版本,可以通过以下方式进行操作:
31
-
32
- **yarn**
33
-
34
- 对于使用 yarn 的项目,请在**项目根目录**的 `package.json` 中添加以下配置,然后重新执行 `yarn`:
35
-
36
- ```json
37
- {
38
- "resolutions": {
39
- "package-name": "^1.0.0"
40
- }
41
- }
42
- ```
43
-
44
- **pnpm**
45
-
46
- 对于使用 pnpm 的项目,请在**项目根目录**的 `package.json` 中添加以下配置,然后重新执行 `pnpm i`:
47
-
48
- ```json
49
- {
50
- "pnpm": {
51
- "overrides": {
52
- "package-name": "^1.0.0"
53
- }
54
- }
55
- }
56
- ```
57
-
58
- **npm**
59
-
60
- 对于使用 npm 的项目,请在**项目根目录**的 `package.json` 中添加以下配置,然后重新执行 `npm i`:
61
-
62
- ```json
63
- {
64
- "overrides": {
65
- "package-name": "^1.0.0"
66
- }
67
- }
68
- ```
69
-
70
- :::info
71
- 对于 monorepo 场景,只能在项目根目录的 `package.json` 中锁定依赖版本,并且会影响 monorepo 中的所有 package。
72
- :::
73
-
74
- ---
75
-
76
7
  ### 如何查看项目里某个依赖实际安装的版本?
77
8
 
78
9
  可以使用包管理器自带的 `ls` 命令来查看项目里依赖的版本。
@@ -1,5 +1,5 @@
1
1
  {
2
- "label": "创建第一个应用",
2
+ "label": "联系人列表应用",
3
3
  "position": 2,
4
4
  "collapsed": false
5
5
  }