@modern-js/main-doc 2.2.0 → 2.4.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 (318) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/en/components/global-proxy-config.mdx +2 -2
  3. package/en/components/init-app.mdx +1 -1
  4. package/en/configure/app/auto-load-plugin.mdx +2 -2
  5. package/en/configure/app/bff/prefix.mdx +2 -2
  6. package/en/configure/app/bff/proxy.mdx +2 -2
  7. package/en/configure/app/builder-plugins.mdx +2 -2
  8. package/en/configure/app/deploy/microFrontend.mdx +6 -6
  9. package/en/configure/app/dev/asset-prefix.mdx +4 -3
  10. package/en/configure/app/dev/hmr.mdx +4 -3
  11. package/en/configure/app/dev/https.mdx +4 -3
  12. package/en/configure/app/dev/port.mdx +4 -3
  13. package/en/configure/app/dev/progress-bar.mdx +4 -3
  14. package/en/configure/app/dev/start-url.mdx +4 -3
  15. package/en/configure/app/experiments/lazy-compilation.mdx +4 -3
  16. package/en/configure/app/html/app-icon.mdx +4 -3
  17. package/en/configure/app/html/crossorigin.mdx +4 -3
  18. package/en/configure/app/html/disable-html-folder.mdx +4 -3
  19. package/en/configure/app/html/favicon-by-entries.mdx +4 -3
  20. package/en/configure/app/html/favicon.mdx +4 -3
  21. package/en/configure/app/html/inject-by-entries.mdx +4 -3
  22. package/en/configure/app/html/inject.mdx +4 -3
  23. package/en/configure/app/html/meta-by-entries.mdx +4 -3
  24. package/en/configure/app/html/meta.mdx +4 -3
  25. package/en/configure/app/html/mount-id.mdx +4 -3
  26. package/en/configure/app/html/tags-by-entries.mdx +4 -3
  27. package/en/configure/app/html/tags.mdx +4 -3
  28. package/en/configure/app/html/template-by-entries.mdx +4 -3
  29. package/en/configure/app/html/template-parameters-by-entries.mdx +4 -3
  30. package/en/configure/app/html/template-parameters.mdx +4 -3
  31. package/en/configure/app/html/template.mdx +4 -3
  32. package/en/configure/app/html/title-by-entries.mdx +4 -3
  33. package/en/configure/app/html/title.mdx +4 -3
  34. package/en/configure/app/output/asset-prefix.mdx +4 -3
  35. package/en/configure/app/output/assets-retry.mdx +4 -3
  36. package/en/configure/app/output/charset.mdx +4 -3
  37. package/en/configure/app/output/clean-dist-path.mdx +4 -3
  38. package/en/configure/app/output/convert-to-rem.mdx +4 -3
  39. package/en/configure/app/output/copy.mdx +4 -3
  40. package/en/configure/app/output/css-module-local-ident-name.mdx +4 -3
  41. package/en/configure/app/output/data-uri-limit.mdx +4 -3
  42. package/en/configure/app/output/disable-css-extract.mdx +4 -3
  43. package/en/configure/app/output/disable-css-module-extension.mdx +4 -3
  44. package/en/configure/app/output/disable-filename-hash.mdx +4 -3
  45. package/en/configure/app/output/disable-inline-runtime-chunk.mdx +4 -3
  46. package/en/configure/app/output/disable-minimize.mdx +4 -3
  47. package/en/configure/app/output/disable-node-polyfill.mdx +2 -2
  48. package/en/configure/app/output/disable-source-map.mdx +4 -3
  49. package/en/configure/app/output/disable-ts-checker.mdx +4 -3
  50. package/en/configure/app/output/dist-path.mdx +4 -3
  51. package/en/configure/app/output/enable-asset-fallback.mdx +4 -3
  52. package/en/configure/app/output/enable-asset-manifest.mdx +4 -3
  53. package/en/configure/app/output/enable-css-module-tsdeclaration.mdx +4 -3
  54. package/en/configure/app/output/enable-inline-scripts.mdx +4 -3
  55. package/en/configure/app/output/enable-inline-styles.mdx +4 -3
  56. package/en/configure/app/output/enable-latest-decorators.mdx +4 -3
  57. package/en/configure/app/output/externals.mdx +4 -3
  58. package/en/configure/app/output/filename.mdx +4 -3
  59. package/en/configure/app/output/legal-comments.mdx +4 -3
  60. package/en/configure/app/output/override-browserslist.mdx +4 -3
  61. package/en/configure/app/output/polyfill.mdx +4 -3
  62. package/en/configure/app/output/ssg.mdx +2 -2
  63. package/en/configure/app/output/svg-default-export.mdx +4 -3
  64. package/en/configure/app/performance/build-cache.mdx +4 -3
  65. package/en/configure/app/performance/bundle-analyze.mdx +4 -3
  66. package/en/configure/app/performance/chunk-split.mdx +4 -3
  67. package/en/configure/app/performance/print-file-size.mdx +4 -3
  68. package/en/configure/app/performance/profile.mdx +4 -3
  69. package/en/configure/app/performance/remove-console.mdx +4 -3
  70. package/en/configure/app/performance/remove-moment-locale.mdx +4 -3
  71. package/en/configure/app/plugins.mdx +2 -2
  72. package/en/configure/app/runtime/intro.mdx +2 -2
  73. package/en/configure/app/runtime/master-app.mdx +1 -2
  74. package/en/configure/app/runtime/router.mdx +6 -6
  75. package/en/configure/app/runtime/state.mdx +14 -14
  76. package/en/configure/app/security/check-syntax.mdx +13 -0
  77. package/en/configure/app/security/sri.mdx +4 -3
  78. package/en/configure/app/server/base-url.mdx +2 -2
  79. package/en/configure/app/server/enable-framework-ext.mdx +2 -2
  80. package/en/configure/app/server/port.mdx +2 -2
  81. package/en/configure/app/server/public-routes.mdx +2 -2
  82. package/en/configure/app/server/routes.mdx +2 -2
  83. package/en/configure/app/server/ssr-by-entries.mdx +2 -2
  84. package/en/configure/app/server/ssr.mdx +2 -2
  85. package/en/configure/app/source/alias.mdx +4 -3
  86. package/en/configure/app/source/compile-js-data-uri.mdx +4 -3
  87. package/en/configure/app/source/config-dir.mdx +2 -2
  88. package/en/configure/app/source/define.mdx +4 -3
  89. package/en/configure/app/source/design-system.mdx +2 -2
  90. package/en/configure/app/source/disable-default-entries.mdx +2 -2
  91. package/en/configure/app/source/disable-entry-dirs.mdx +2 -2
  92. package/en/configure/app/source/enable-async-entry.mdx +2 -2
  93. package/en/configure/app/source/entries-dir.mdx +2 -2
  94. package/en/configure/app/source/entries.mdx +2 -2
  95. package/en/configure/app/source/exclude.mdx +4 -3
  96. package/en/configure/app/source/global-vars.mdx +4 -3
  97. package/en/configure/app/source/include.mdx +4 -3
  98. package/en/configure/app/source/module-scopes.mdx +4 -3
  99. package/en/configure/app/source/pre-entry.mdx +4 -3
  100. package/en/configure/app/source/resolve-extension-prefix.mdx +4 -3
  101. package/en/configure/app/source/resolve-main-fields.mdx +4 -3
  102. package/en/configure/app/testing/transformer.mdx +2 -2
  103. package/en/configure/app/tools/autoprefixer.mdx +4 -3
  104. package/en/configure/app/tools/babel.mdx +4 -3
  105. package/en/configure/app/tools/css-extract.mdx +4 -3
  106. package/en/configure/app/tools/css-loader.mdx +4 -3
  107. package/en/configure/app/tools/dev-server.mdx +4 -3
  108. package/en/configure/app/tools/esbuild.mdx +2 -2
  109. package/en/configure/app/tools/html-plugin.mdx +4 -3
  110. package/en/configure/app/tools/inspector.mdx +4 -3
  111. package/en/configure/app/tools/jest.mdx +2 -2
  112. package/en/configure/app/tools/less.mdx +4 -3
  113. package/en/configure/app/tools/minify-css.mdx +4 -3
  114. package/en/configure/app/tools/postcss.mdx +4 -3
  115. package/en/configure/app/tools/pug.mdx +4 -3
  116. package/en/configure/app/tools/sass.mdx +4 -3
  117. package/en/configure/app/tools/style-loader.mdx +4 -3
  118. package/en/configure/app/tools/styled-components.mdx +4 -3
  119. package/en/configure/app/tools/swc.mdx +2 -2
  120. package/en/configure/app/tools/tailwindcss.mdx +8 -16
  121. package/en/configure/app/tools/terser.mdx +4 -3
  122. package/en/configure/app/tools/ts-checker.mdx +4 -3
  123. package/en/configure/app/tools/ts-loader.mdx +4 -3
  124. package/en/configure/app/tools/webpack-chain.mdx +4 -3
  125. package/en/configure/app/tools/webpack.mdx +4 -3
  126. package/en/configure/app/usage.mdx +117 -8
  127. package/en/guides/advanced-features/_category_.json +5 -0
  128. package/en/guides/advanced-features/ssr.mdx +2 -2
  129. package/en/guides/basic-features/_category_.json +5 -0
  130. package/en/guides/basic-features/builder.mdx +3 -3
  131. package/en/guides/basic-features/routes.mdx +28 -0
  132. package/en/guides/concept/_category_.json +5 -0
  133. package/en/guides/get-started/_category_.json +5 -0
  134. package/en/guides/topic-detail/generator/config/{mwa.mdx → app.mdx} +1 -1
  135. package/en/guides/topic-detail/generator/config/common.mdx +12 -12
  136. package/en/guides/topic-detail/generator/plugin/api/new/createElement.mdx +1 -1
  137. package/en/guides/topic-detail/generator/plugin/api/new/enableFunc.mdx +1 -1
  138. package/en/guides/topic-detail/generator/plugin/api/new/introduce.mdx +1 -1
  139. package/en/guides/topic-detail/generator/plugin/develop.mdx +2 -2
  140. package/package.json +3 -3
  141. package/scripts/config.ts +6 -5
  142. package/scripts/summary.en.json +1 -1
  143. package/scripts/summary.zh.json +1 -1
  144. package/zh/apis/app/commands/test.mdx +1 -1
  145. package/zh/apis/app/hooks/api/functions/api.mdx +2 -2
  146. package/zh/apis/app/hooks/api/test.mdx +1 -1
  147. package/zh/apis/app/hooks/config/storybook.mdx +1 -1
  148. package/zh/apis/app/hooks/config/upload.mdx +1 -1
  149. package/zh/apis/app/hooks/server/test.mdx +1 -1
  150. package/zh/apis/app/hooks/src/stories.mdx +1 -1
  151. package/zh/apis/app/hooks/src/test.mdx +1 -1
  152. package/zh/apis/app/runtime/testing/cleanup.mdx +1 -1
  153. package/zh/apis/monorepo/commands/bump.mdx +1 -1
  154. package/zh/apis/monorepo/commands/change.mdx +1 -1
  155. package/zh/apis/monorepo/hooks/apps.mdx +1 -1
  156. package/zh/apis/monorepo/hooks/examples.mdx +1 -1
  157. package/zh/apis/monorepo/hooks/features.mdx +1 -1
  158. package/zh/apis/monorepo/hooks/packages.mdx +1 -1
  159. package/zh/components/custom-router-micro-frontend.mdx +40 -0
  160. package/zh/components/enable-micro-frontend.mdx +12 -2
  161. package/zh/components/global-proxy-config.mdx +3 -3
  162. package/zh/components/micro-runtime-config.mdx +9 -10
  163. package/zh/configure/app/auto-load-plugin.mdx +2 -2
  164. package/zh/configure/app/bff/prefix.mdx +2 -2
  165. package/zh/configure/app/bff/proxy.mdx +3 -3
  166. package/zh/configure/app/builder-plugins.mdx +2 -2
  167. package/zh/configure/app/deploy/microFrontend.mdx +6 -6
  168. package/zh/configure/app/dev/asset-prefix.mdx +4 -3
  169. package/zh/configure/app/dev/hmr.mdx +4 -3
  170. package/zh/configure/app/dev/https.mdx +4 -3
  171. package/zh/configure/app/dev/port.mdx +4 -3
  172. package/zh/configure/app/dev/progress-bar.mdx +4 -3
  173. package/zh/configure/app/dev/start-url.mdx +4 -3
  174. package/zh/configure/app/experiments/lazy-compilation.mdx +4 -3
  175. package/zh/configure/app/html/app-icon.mdx +4 -3
  176. package/zh/configure/app/html/crossorigin.mdx +4 -3
  177. package/zh/configure/app/html/disable-html-folder.mdx +4 -3
  178. package/zh/configure/app/html/favicon-by-entries.mdx +4 -3
  179. package/zh/configure/app/html/favicon.mdx +4 -3
  180. package/zh/configure/app/html/inject-by-entries.mdx +4 -3
  181. package/zh/configure/app/html/inject.mdx +4 -3
  182. package/zh/configure/app/html/meta-by-entries.mdx +4 -3
  183. package/zh/configure/app/html/meta.mdx +4 -3
  184. package/zh/configure/app/html/mount-id.mdx +4 -3
  185. package/zh/configure/app/html/tags-by-entries.mdx +4 -3
  186. package/zh/configure/app/html/tags.mdx +4 -3
  187. package/zh/configure/app/html/template-by-entries.mdx +4 -3
  188. package/zh/configure/app/html/template-parameters-by-entries.mdx +4 -3
  189. package/zh/configure/app/html/template-parameters.mdx +4 -3
  190. package/zh/configure/app/html/template.mdx +4 -3
  191. package/zh/configure/app/html/title-by-entries.mdx +4 -3
  192. package/zh/configure/app/html/title.mdx +4 -3
  193. package/zh/configure/app/output/asset-prefix.mdx +4 -3
  194. package/zh/configure/app/output/assets-retry.mdx +4 -3
  195. package/zh/configure/app/output/charset.mdx +4 -3
  196. package/zh/configure/app/output/clean-dist-path.mdx +4 -3
  197. package/zh/configure/app/output/convert-to-rem.mdx +4 -3
  198. package/zh/configure/app/output/copy.mdx +4 -3
  199. package/zh/configure/app/output/css-module-local-ident-name.mdx +4 -3
  200. package/zh/configure/app/output/data-uri-limit.mdx +4 -3
  201. package/zh/configure/app/output/disable-css-extract.mdx +4 -3
  202. package/zh/configure/app/output/disable-css-module-extension.mdx +4 -3
  203. package/zh/configure/app/output/disable-filename-hash.mdx +4 -3
  204. package/zh/configure/app/output/disable-inline-runtime-chunk.mdx +4 -3
  205. package/zh/configure/app/output/disable-minimize.mdx +4 -3
  206. package/zh/configure/app/output/disable-node-polyfill.mdx +2 -2
  207. package/zh/configure/app/output/disable-source-map.mdx +4 -3
  208. package/zh/configure/app/output/disable-ts-checker.mdx +4 -3
  209. package/zh/configure/app/output/dist-path.mdx +4 -3
  210. package/zh/configure/app/output/enable-asset-fallback.mdx +4 -3
  211. package/zh/configure/app/output/enable-asset-manifest.mdx +4 -3
  212. package/zh/configure/app/output/enable-css-module-tsdeclaration.mdx +4 -3
  213. package/zh/configure/app/output/enable-inline-scripts.mdx +4 -3
  214. package/zh/configure/app/output/enable-inline-styles.mdx +4 -3
  215. package/zh/configure/app/output/enable-latest-decorators.mdx +4 -3
  216. package/zh/configure/app/output/externals.mdx +4 -3
  217. package/zh/configure/app/output/filename.mdx +4 -3
  218. package/zh/configure/app/output/legal-comments.mdx +4 -3
  219. package/zh/configure/app/output/override-browserslist.mdx +4 -3
  220. package/zh/configure/app/output/polyfill.mdx +4 -3
  221. package/zh/configure/app/output/ssg.mdx +2 -2
  222. package/zh/configure/app/output/svg-default-export.mdx +4 -3
  223. package/zh/configure/app/performance/build-cache.mdx +4 -3
  224. package/zh/configure/app/performance/bundle-analyze.mdx +4 -3
  225. package/zh/configure/app/performance/chunk-split.mdx +4 -3
  226. package/zh/configure/app/performance/print-file-size.mdx +4 -3
  227. package/zh/configure/app/performance/profile.mdx +4 -3
  228. package/zh/configure/app/performance/remove-console.mdx +4 -3
  229. package/zh/configure/app/performance/remove-moment-locale.mdx +4 -3
  230. package/zh/configure/app/plugins.mdx +2 -2
  231. package/zh/configure/app/runtime/intro.mdx +3 -3
  232. package/zh/configure/app/runtime/master-app.mdx +1 -1
  233. package/zh/configure/app/runtime/router.mdx +6 -6
  234. package/zh/configure/app/runtime/state.mdx +14 -14
  235. package/zh/configure/app/security/check-syntax.mdx +13 -0
  236. package/zh/configure/app/security/sri.mdx +4 -3
  237. package/zh/configure/app/server/base-url.mdx +2 -2
  238. package/zh/configure/app/server/enable-framework-ext.mdx +2 -2
  239. package/zh/configure/app/server/port.mdx +2 -2
  240. package/zh/configure/app/server/public-routes.mdx +2 -2
  241. package/zh/configure/app/server/routes.mdx +2 -2
  242. package/zh/configure/app/server/ssr-by-entries.mdx +3 -3
  243. package/zh/configure/app/server/ssr.mdx +2 -2
  244. package/zh/configure/app/source/alias.mdx +4 -3
  245. package/zh/configure/app/source/compile-js-data-uri.mdx +4 -3
  246. package/zh/configure/app/source/config-dir.mdx +2 -2
  247. package/zh/configure/app/source/define.mdx +4 -3
  248. package/zh/configure/app/source/design-system.mdx +2 -2
  249. package/zh/configure/app/source/disable-default-entries.mdx +2 -2
  250. package/zh/configure/app/source/disable-entry-dirs.mdx +2 -2
  251. package/zh/configure/app/source/enable-async-entry.mdx +2 -2
  252. package/zh/configure/app/source/entries-dir.mdx +2 -2
  253. package/zh/configure/app/source/entries.mdx +2 -2
  254. package/zh/configure/app/source/exclude.mdx +4 -3
  255. package/zh/configure/app/source/global-vars.mdx +4 -3
  256. package/zh/configure/app/source/include.mdx +4 -3
  257. package/zh/configure/app/source/module-scopes.mdx +4 -3
  258. package/zh/configure/app/source/pre-entry.mdx +4 -3
  259. package/zh/configure/app/source/resolve-extension-prefix.mdx +4 -3
  260. package/zh/configure/app/source/resolve-main-fields.mdx +4 -3
  261. package/zh/configure/app/testing/transformer.mdx +2 -2
  262. package/zh/configure/app/tools/autoprefixer.mdx +4 -3
  263. package/zh/configure/app/tools/babel.mdx +4 -3
  264. package/zh/configure/app/tools/css-extract.mdx +4 -3
  265. package/zh/configure/app/tools/css-loader.mdx +4 -3
  266. package/zh/configure/app/tools/dev-server.mdx +4 -3
  267. package/zh/configure/app/tools/esbuild.mdx +2 -2
  268. package/zh/configure/app/tools/html-plugin.mdx +4 -3
  269. package/zh/configure/app/tools/inspector.mdx +4 -3
  270. package/zh/configure/app/tools/jest.mdx +2 -2
  271. package/zh/configure/app/tools/less.mdx +4 -3
  272. package/zh/configure/app/tools/minify-css.mdx +4 -3
  273. package/zh/configure/app/tools/postcss.mdx +4 -3
  274. package/zh/configure/app/tools/pug.mdx +4 -3
  275. package/zh/configure/app/tools/sass.mdx +4 -3
  276. package/zh/configure/app/tools/style-loader.mdx +4 -3
  277. package/zh/configure/app/tools/styled-components.mdx +4 -3
  278. package/zh/configure/app/tools/swc.mdx +2 -2
  279. package/zh/configure/app/tools/tailwindcss.mdx +10 -16
  280. package/zh/configure/app/tools/terser.mdx +4 -3
  281. package/zh/configure/app/tools/ts-checker.mdx +4 -3
  282. package/zh/configure/app/tools/ts-loader.mdx +4 -3
  283. package/zh/configure/app/tools/webpack-chain.mdx +4 -3
  284. package/zh/configure/app/tools/webpack.mdx +4 -3
  285. package/zh/configure/app/usage.mdx +117 -8
  286. package/zh/guides/advanced-features/bff/function.mdx +3 -3
  287. package/zh/guides/advanced-features/code-split.mdx +1 -1
  288. package/zh/guides/advanced-features/compatibility.mdx +1 -1
  289. package/zh/guides/advanced-features/eslint.mdx +3 -3
  290. package/zh/guides/advanced-features/ssr.mdx +3 -3
  291. package/zh/guides/basic-features/alias.mdx +1 -1
  292. package/zh/guides/basic-features/builder.mdx +2 -2
  293. package/zh/guides/basic-features/css/postcss.mdx +1 -1
  294. package/zh/guides/basic-features/html.mdx +1 -1
  295. package/zh/guides/basic-features/routes.mdx +28 -1
  296. package/zh/guides/topic-detail/framework-plugin/hook.mdx +1 -1
  297. package/zh/guides/topic-detail/generator/config/{mwa.mdx → app.mdx} +1 -1
  298. package/zh/guides/topic-detail/generator/config/common.mdx +12 -12
  299. package/zh/guides/topic-detail/generator/plugin/api/input/addInputBefore.mdx +1 -1
  300. package/zh/guides/topic-detail/generator/plugin/api/new/createElement.mdx +1 -1
  301. package/zh/guides/topic-detail/generator/plugin/api/new/enableFunc.mdx +1 -1
  302. package/zh/guides/topic-detail/generator/plugin/api/new/introduce.mdx +2 -2
  303. package/zh/guides/topic-detail/generator/plugin/develop.mdx +3 -3
  304. package/zh/guides/topic-detail/micro-frontend/c02-development.mdx +128 -61
  305. package/zh/guides/topic-detail/micro-frontend/c03-main-app.mdx +71 -40
  306. package/zh/guides/topic-detail/micro-frontend/c05-mixed-stack.mdx +1 -1
  307. package/zh/guides/topic-detail/model/auto-actions.mdx +1 -1
  308. package/zh/guides/topic-detail/model/define-model.mdx +1 -1
  309. package/zh/guides/topic-detail/model/manage-effects.mdx +1 -1
  310. package/zh/guides/topic-detail/model/quick-start.mdx +2 -2
  311. package/zh/guides/topic-detail/model/test-model.mdx +1 -1
  312. package/zh/guides/topic-detail/model/use-model.mdx +3 -3
  313. package/zh/guides/topic-detail/monorepo/create-sub-project.mdx +2 -2
  314. package/zh/guides/topic-detail/monorepo/sub-project-interface.mdx +2 -2
  315. package/zh/tutorials/first-app/c02-component.mdx +1 -1
  316. package/zh/tutorials/first-app/c03-css.mdx +3 -3
  317. package/zh/tutorials/first-app/c04-routes.mdx +1 -1
  318. package/zh/tutorials/first-app/c06-model.mdx +1 -1
@@ -1,10 +1,11 @@
1
1
  ---
2
- title: tools.inspector
3
2
  sidebar_label: inspector
4
3
  ---
5
4
 
6
- :::info BUILDER
7
- 该配置为 Modern.js Builder 配置,详细信息可参考 [tools.inspector](https://modernjs.dev/builder/api/config-tools.html#tools-inspector)。
5
+ # tools.inspector
6
+
7
+ :::tip
8
+ 该配置由 Modern.js Builder 提供,更多信息可参考 [tools.inspector](https://modernjs.dev/builder/api/config-tools.html#toolsinspector)。
8
9
  :::
9
10
 
10
11
  import Main from '@modern-js/builder-doc/docs/zh/config/tools/inspector.md'
@@ -5,8 +5,8 @@ sidebar_label: jest
5
5
  ---
6
6
  # jest
7
7
 
8
- - 类型: `Object | Function`
9
- - 默认值:`{}`
8
+ - **类型:** `Object | Function`
9
+ - **默认值:** `{}`
10
10
 
11
11
  :::caution 注意
12
12
  需要先通过 `pnpm run new` 启用 单元测试 功能。
@@ -1,10 +1,11 @@
1
1
  ---
2
- title: tools.less
3
2
  sidebar_label: less
4
3
  ---
5
4
 
6
- :::info BUILDER
7
- 该配置为 Modern.js Builder 配置,详细信息可参考 [tools.less](https://modernjs.dev/builder/api/config-tools.html#tools-less)。
5
+ # tools.less
6
+
7
+ :::tip
8
+ 该配置由 Modern.js Builder 提供,更多信息可参考 [tools.less](https://modernjs.dev/builder/api/config-tools.html#toolsless)。
8
9
  :::
9
10
 
10
11
  import Main from '@modern-js/builder-doc/docs/zh/config/tools/less.md'
@@ -1,10 +1,11 @@
1
1
  ---
2
- title: tools.minifyCss
3
2
  sidebar_label: minifyCss
4
3
  ---
5
4
 
6
- :::info BUILDER
7
- 该配置为 Modern.js Builder 配置,详细信息可参考 [tools.minifyCss](https://modernjs.dev/builder/api/config-tools.html#tools-minifycss)。
5
+ # tools.minifyCss
6
+
7
+ :::tip
8
+ 该配置由 Modern.js Builder 提供,更多信息可参考 [tools.minifyCss](https://modernjs.dev/builder/api/config-tools.html#toolsminifycss)。
8
9
  :::
9
10
 
10
11
  import Main from '@modern-js/builder-doc/docs/zh/config/tools/minifyCss.md'
@@ -1,10 +1,11 @@
1
1
  ---
2
- title: tools.postcss
3
2
  sidebar_label: postcss
4
3
  ---
5
4
 
6
- :::info BUILDER
7
- 该配置为 Modern.js Builder 配置,详细信息可参考 [tools.postcss](https://modernjs.dev/builder/api/config-tools.html#tools-postcss)。
5
+ # tools.postcss
6
+
7
+ :::tip
8
+ 该配置由 Modern.js Builder 提供,更多信息可参考 [tools.postcss](https://modernjs.dev/builder/api/config-tools.html#toolspostcss)。
8
9
  :::
9
10
 
10
11
  import Main from '@modern-js/builder-doc/docs/zh/config/tools/postcss.md'
@@ -1,10 +1,11 @@
1
1
  ---
2
- title: tools.pug
3
2
  sidebar_label: pug
4
3
  ---
5
4
 
6
- :::info BUILDER
7
- 该配置为 Modern.js Builder 配置,详细信息可参考 [tools.pug](https://modernjs.dev/builder/api/config-tools.html#tools-pug)。
5
+ # tools.pug
6
+
7
+ :::tip
8
+ 该配置由 Modern.js Builder 提供,更多信息可参考 [tools.pug](https://modernjs.dev/builder/api/config-tools.html#toolspug)。
8
9
  :::
9
10
 
10
11
  import Main from '@modern-js/builder-doc/docs/zh/config/tools/pug.md'
@@ -1,10 +1,11 @@
1
1
  ---
2
- title: tools.sass
3
2
  sidebar_label: sass
4
3
  ---
5
4
 
6
- :::info BUILDER
7
- 该配置为 Modern.js Builder 配置,详细信息可参考 [tools.sass](https://modernjs.dev/builder/api/config-tools.html#tools-sass)。
5
+ # tools.sass
6
+
7
+ :::tip
8
+ 该配置由 Modern.js Builder 提供,更多信息可参考 [tools.sass](https://modernjs.dev/builder/api/config-tools.html#toolssass)。
8
9
  :::
9
10
 
10
11
  import Main from '@modern-js/builder-doc/docs/zh/config/tools/sass.md'
@@ -1,10 +1,11 @@
1
1
  ---
2
- title: tools.styleLoader
3
2
  sidebar_label: styleLoader
4
3
  ---
5
4
 
6
- :::info BUILDER
7
- 该配置为 Modern.js Builder 配置,详细信息可参考 [tools.styleLoader](https://modernjs.dev/builder/api/config-tools.html#tools-styleloader)。
5
+ # tools.styleLoader
6
+
7
+ :::tip
8
+ 该配置由 Modern.js Builder 提供,更多信息可参考 [tools.styleLoader](https://modernjs.dev/builder/api/config-tools.html#toolsstyleloader)。
8
9
  :::
9
10
 
10
11
  import Main from '@modern-js/builder-doc/docs/zh/config/tools/styleLoader.md'
@@ -1,10 +1,11 @@
1
1
  ---
2
- title: tools.styledComponents
3
2
  sidebar_label: styledComponents
4
3
  ---
5
4
 
6
- :::info BUILDER
7
- 该配置为 Modern.js Builder 配置,详细信息可参考 [tools.styledComponents](https://modernjs.dev/builder/api/config-tools.html#tools-styledcomponents)。
5
+ # tools.styledComponents
6
+
7
+ :::tip
8
+ 该配置由 Modern.js Builder 提供,更多信息可参考 [tools.styledComponents](https://modernjs.dev/builder/api/config-tools.html#toolsstyledcomponents)。
8
9
  :::
9
10
 
10
11
  import Main from '@modern-js/builder-doc/docs/zh/config/tools/styledComponents.md'
@@ -4,8 +4,8 @@ sidebar_label: swc
4
4
  ---
5
5
  # swc
6
6
 
7
- - 类型: `Object`
8
- - 默认值: `undefined`
7
+ - **类型:** `Object`
8
+ - **默认值:** `undefined`
9
9
 
10
10
  ## 介绍
11
11
 
@@ -1,15 +1,11 @@
1
1
  ---
2
- title: tools.tailwindcss
3
-
4
2
  sidebar_label: tailwindcss
5
3
  ---
6
- # tailwindcss
7
4
 
8
- - 类型: `Object | Function`
9
- - 默认值:见下方配置详情。
5
+ # tools.tailwindcss
10
6
 
11
- <details>
12
- <summary>TailwindCSS 配置详情</summary>
7
+ - **类型:** `Object | Function`
8
+ - **默认值:**
13
9
 
14
10
  ```js
15
11
  const tailwind = {
@@ -23,21 +19,19 @@ const tailwind = {
23
19
  './src/**/*.tsx',
24
20
  './storybook/**/*',
25
21
  ],
26
- theme: source.designSystem, // 使用source.designSystem配置作为Tailwind CSS Theme配置
22
+ // 使用 source.designSystem 配置作为 Tailwind CSS Theme 配置
23
+ theme: source.designSystem,
27
24
  };
28
25
  ```
29
26
 
30
- :::tip 提示
31
- 更多关于:<a href="https://tailwindcss.com/docs/configuration" target="_blank">TailwindCSS 配置</a>。
32
-
33
- :::
27
+ 对应 [TailwindCSS](https://tailwindcss.com/docs/configuration) 的配置。
34
28
 
35
- </details>
29
+ 当值为 `Object` 类型时,与默认配置通过 `Object.assign` 合并。
36
30
 
37
- 对应 [TailwindCSS](https://tailwindcss.com/docs/configuration) 的配置,值为 `Object` 类型时,与默认配置通过 `Object.assign` 合并。
31
+ 当值为 `Function` 类型时,函数返回的对象与默认配置通过 `Object.assign` 合并。
38
32
 
39
- 值为 `Function` 类型时,函数返回的对象与默认配置通过 `Object.assign` 合并。
33
+ ### 限制
40
34
 
41
- 不允许出现 `theme` 属性,否则会构建失败。 Modern.js 使用 [`source.designSystem`](/configure/app/source/design-system) 作为 `Tailwind CSS Theme` 配置。
35
+ 注意,该配置中不允许使用 `theme` 配置项,否则会构建失败。在 Modern.js 中,请使用 [source.designSystem](/configure/app/source/design-system) 作为 `Tailwind CSS Theme` 配置。
42
36
 
43
37
  其他的使用方式和 Tailwind CSS 一致: [快速传送门](https://tailwindcss.com/docs/configuration)。
@@ -1,10 +1,11 @@
1
1
  ---
2
- title: tools.terser
3
2
  sidebar_label: terser
4
3
  ---
5
4
 
6
- :::info BUILDER
7
- 该配置为 Modern.js Builder 配置,详细信息可参考 [tools.terser](https://modernjs.dev/builder/api/config-tools.html#tools-terser)。
5
+ # tools.terser
6
+
7
+ :::tip
8
+ 该配置由 Modern.js Builder 提供,更多信息可参考 [tools.terser](https://modernjs.dev/builder/api/config-tools.html#toolsterser)。
8
9
  :::
9
10
 
10
11
  import Main from '@modern-js/builder-doc/docs/zh/config/tools/terser.md'
@@ -1,10 +1,11 @@
1
1
  ---
2
- title: tools.tsChecker
3
2
  sidebar_label: tsChecker
4
3
  ---
5
4
 
6
- :::info BUILDER
7
- 该配置为 Modern.js Builder 配置,详细信息可参考 [tools.tsChecker](https://modernjs.dev/builder/api/config-tools.html#tools-tschecker)。
5
+ # tools.tsChecker
6
+
7
+ :::tip
8
+ 该配置由 Modern.js Builder 提供,更多信息可参考 [tools.tsChecker](https://modernjs.dev/builder/api/config-tools.html#toolstschecker)。
8
9
  :::
9
10
 
10
11
  import Main from '@modern-js/builder-doc/docs/zh/config/tools/tsChecker.md'
@@ -1,10 +1,11 @@
1
1
  ---
2
- title: tools.tsLoader
3
2
  sidebar_label: tsLoader
4
3
  ---
5
4
 
6
- :::info BUILDER
7
- 该配置为 Modern.js Builder 配置,详细信息可参考 [tools.tsLoader](https://modernjs.dev/builder/api/config-tools.html#tools-tsloader)。
5
+ # tools.tsLoader
6
+
7
+ :::tip
8
+ 该配置由 Modern.js Builder 提供,更多信息可参考 [tools.tsLoader](https://modernjs.dev/builder/api/config-tools.html#toolstsloader)。
8
9
  :::
9
10
 
10
11
  import Main from '@modern-js/builder-doc/docs/zh/config/tools/tsLoader.md'
@@ -1,10 +1,11 @@
1
1
  ---
2
- title: tools.webpackChain
3
2
  sidebar_label: webpackChain
4
3
  ---
5
4
 
6
- :::info BUILDER
7
- 该配置为 Modern.js Builder 配置,详细信息可参考 [tools.webpackChain](https://modernjs.dev/builder/api/config-tools.html#tools-webpackchain)。
5
+ # tools.webpackChain
6
+
7
+ :::tip
8
+ 该配置由 Modern.js Builder 提供,更多信息可参考 [tools.webpackChain](https://modernjs.dev/builder/api/config-tools.html#toolswebpackchain)。
8
9
  :::
9
10
 
10
11
  import Main from '@modern-js/builder-doc/docs/zh/config/tools/webpackChain.md'
@@ -1,10 +1,11 @@
1
1
  ---
2
- title: tools.webpack
3
2
  sidebar_label: webpack
4
3
  ---
5
4
 
6
- :::info BUILDER
7
- 该配置为 Modern.js Builder 配置,详细信息可参考 [tools.webpack](https://modernjs.dev/builder/api/config-tools.html#tools-webpack)。
5
+ # tools.webpack
6
+
7
+ :::tip
8
+ 该配置由 Modern.js Builder 提供,更多信息可参考 [tools.webpack](https://modernjs.dev/builder/api/config-tools.html#toolswebpack)。
8
9
  :::
9
10
 
10
11
  import Main from '@modern-js/builder-doc/docs/zh/config/tools/webpack.md'
@@ -8,22 +8,22 @@ Modern.js 中有两种配置,一个是编译时配置,一个是服务端运
8
8
 
9
9
  编译时配置可以在两个位置进行配置:
10
10
 
11
+ - 根路径下的 `modern.config.(ts|js|mjs)` 文件
11
12
  - `package.json` 文件
12
- - 根路径下的 `modern.config.t(j)s` 文件
13
-
14
- :::warning 注意
15
- 同一个配置不支持同时在 `package.json` 中和 `modern.config.t(j)s` 中配置。推荐在 `modern.config.t(j)s` 中进行配置。
16
13
 
14
+ :::info
15
+ 不支持同时在 package.json 中和 modern.config.ts 中配置同一个配置项,推荐优先在 modern.config.ts 中进行配置。如果 Modern.js 检测到重复配置导致的冲突,将会抛出警告。
17
16
  :::
18
17
 
19
- 服务端运行时配置可以在根路径下的 `modern.server-runtime.config.t(j)s` 自定义配置选项。
18
+ 服务端运行时配置可以在根路径下的 `modern.server-runtime.config.(ts|js|mjs)` 中自定义配置选项。
20
19
 
21
20
  ## 在配置文件中配置
22
21
 
23
- Modern.js 的配置文件定义在项目的根目录下,同时支持 `.js` 和 `.ts` 两种格式:
22
+ Modern.js 的配置文件定义在项目的根目录下,支持 `.js`, `.ts` 和 `.mjs` 格式:
24
23
 
25
24
  - `modern.config.js`
26
25
  - `modern.config.ts`
26
+ - `modern.config.mjs`
27
27
 
28
28
  ### modern.config.js
29
29
 
@@ -51,7 +51,7 @@ export default {
51
51
  };
52
52
  ```
53
53
 
54
- ### modern.config.ts
54
+ ### modern.config.ts(推荐)
55
55
 
56
56
  我们推荐使用 .ts 格式的配置文件,它提供了友好的 TypeScript 类型提示,从而帮助你避免配置中的错误。
57
57
 
@@ -69,6 +69,69 @@ export default defineConfig({
69
69
  });
70
70
  ```
71
71
 
72
+ ### 导出配置函数
73
+
74
+ Modern.js 支持在配置文件中导出一个函数,你可以在函数中动态计算配置,并返回给 Modern.js。
75
+
76
+ ```js title="modern.config.js"
77
+ import { defineConfig } from '@modern-js/app-tools';
78
+
79
+ export default defineConfig(({ env, command }) => ({
80
+ source: {
81
+ alias: {
82
+ '@foo': env === 'development' ? './src/foo.dev.ts' : './src/foo.prod.ts',
83
+ },
84
+ },
85
+ }));
86
+ ```
87
+
88
+ 该函数接受以下入参:
89
+
90
+ - `env`:对应 `process.env.NODE_ENV` 的值。
91
+ - 当运行 `modern dev` 或 `modern start` 时,`env` 的值为 `development`。
92
+ - 当运行 `modern build` 或 `modern serve` 时,`env` 的值为 `production`。
93
+ - 当运行 `modern test` 时,`env` 的值为 `test`。
94
+ - `command`: 对应当前运行的命令,如 `dev`、`start`、`build`、`serve`。
95
+
96
+ ### 导出异步函数
97
+
98
+ Modern.js 也支持在配置文件中导出一个异步函数,你可以在函数中进行一些异步操作:
99
+
100
+ ```js title="modern.config.js"
101
+ import { defineConfig } from '@modern-js/app-tools';
102
+
103
+ export default defineConfig(async ({ env, command }) => {
104
+ const result = await someAsyncFunction();
105
+
106
+ return {
107
+ html: {
108
+ title: result,
109
+ },
110
+ };
111
+ });
112
+ ```
113
+
114
+ ### 指定配置文件
115
+
116
+ Modern.js 命令行支持通过 `--config` 选项来指定配置文件的名称。
117
+
118
+ 例如,你需要在执行 build 命令时使用 `modern.prod.config.ts` 文件,可以在 `package.json` 中添加如下配置:
119
+
120
+ ```json title="package.json"
121
+ {
122
+ "scripts": {
123
+ "dev": "modern modern",
124
+ "build": "modern build --config modern.prod.config.ts"
125
+ }
126
+ }
127
+ ```
128
+
129
+ 你也可以将 `--config` 选项缩写为 `-c`:
130
+
131
+ ```bash
132
+ $ modern build -c modern.prod.config.js
133
+ ```
134
+
72
135
  ## 在 package.json 中配置(不推荐)
73
136
 
74
137
  除了配置文件外,也可以在 `package.json` 中的 `modernConfig` 字段下设置配置选项,如:
@@ -87,7 +150,53 @@ export default defineConfig({
87
150
 
88
151
  由于 JSON 文件格式的限制,`package.json` 中只能定义数字、字符串、布尔值、数组等简单类型的值,当我们需要设置函数类型的值时,建议在 Modern.js 配置文件中进行设置。
89
152
 
90
- ## 注意事项
153
+ ### 注意事项
91
154
 
92
155
  - 不建议同时使用 `package.json` 和 `modern.config.js` 进行配置。如果同时使用了两者并出现配置冲突,Modern.js 会在命令行进行提示。
93
156
  - `@modern-js/runtime` 导出了同名的 [defineConfig](/apis/app/runtime/app/define-config) API,请注意区分。
157
+
158
+ ## 本地调试配置
159
+
160
+ 为了便于本地调试配置,Modern.js 支持在项目根目录下创建 `modern.config.local.(ts|js|mjs)` 文件,用于覆盖 `modern.config.(ts|js|mjs)` 中的配置选项。
161
+
162
+ ### 示例
163
+
164
+ 比如,项目的 `modern.config.ts` 中配置了端口号为 `3000`:
165
+
166
+ ```ts title="modern.config.ts"
167
+ import { defineConfig } from '@modern-js/app-tools';
168
+
169
+ export default defineConfig({
170
+ server: {
171
+ port: 3000,
172
+ },
173
+ });
174
+ ```
175
+
176
+ 如果你在本地调试时需要将端口号修改为 `3001`,但是又不希望修改当前项目的 `modern.config.ts` 文件,那么可以创建一个 `modern.config.local.ts` 文件,并添加以下配置:
177
+
178
+ ```ts title="modern.config.local.ts"
179
+ import { defineConfig } from '@modern-js/app-tools';
180
+
181
+ export default defineConfig({
182
+ server: {
183
+ port: 3001,
184
+ },
185
+ });
186
+ ```
187
+
188
+ `modern.config.local.ts` 文件中的配置会与 `modern.config.ts` 中的配置进行深层合并,并覆盖 `modern.config.ts` 中的配置选项,因此 `server.port` 会被覆盖为 `3001`。
189
+
190
+ ### 注意事项
191
+
192
+ 在使用 `modern.config.local.ts` 时,请注意以下事项:
193
+
194
+ - `modern.config.local.ts` 文件仅会在执行 `modern dev` 或 `modern start` 命令时被加载,当执行 `modern build` 时不会被加载。
195
+ - `modern.config.local.ts` 文件的优先级不仅高于 `modern.config.ts`,也高于 `package.json` 中的 `modernConfig` 字段。
196
+ - 由于 `modern.config.local.ts` 仅在本地调试时使用,因此不建议将其提交到代码仓库中,请确保项目的 `.gitignore` 文件中包含 `modern.config.local.ts` 等文件。
197
+
198
+ ```bash title=".gitingore"
199
+ modern.config.local.ts
200
+ modern.config.local.js
201
+ modern.config.local.mjs
202
+ ```
@@ -41,7 +41,7 @@ export default () => {
41
41
  };
42
42
  ```
43
43
 
44
- :::info
44
+ :::info
45
45
  Modern.js 生成器已经在 `tsconfig.json` 中配置 `@api` 别名,因此可以直接通过别名的方式引入函数。
46
46
 
47
47
  :::
@@ -102,7 +102,7 @@ Modern.js 中,BFF 函数对应的路由系统是基于文件系统实现的,
102
102
 
103
103
  Modern.js 的 BFF 函数需要遵循 RESTful API 标准来定义, 遵循 HTTP Method 规范,并且不允许自由定义参数。
104
104
 
105
- :::info
105
+ :::info
106
106
  假设函数允许自由定义参数,产出的路由必然由**私有协议**进行调用(原因是无法区分请求参数与请求体),而无法实现任意的 RESTful API。
107
107
 
108
108
  如果服务仅用于应用本身不存在问题,但它**不标准的接口定义**无法融入更大的体系。 在多个系统共同工作的情况下(例如 BFF 低码搭建),会导致其他系统也需要遵循**私有协议**。
@@ -141,7 +141,7 @@ export const post = async () => {
141
141
 
142
142
  - 可以在一个文件中定义多个不同 Method 的函数,但如果定义多个相同 Method 的函数,则只有第一个会生效。
143
143
 
144
- :::info
144
+ :::info
145
145
  需要注意的是,定义的函数都应该是异步的,与函数调用时类型有关,后面会提到。
146
146
 
147
147
  :::
@@ -74,7 +74,7 @@ function MyComponent() {
74
74
 
75
75
  `loadable` 更多用法请见 [loadable API](/apis/app/runtime/utility/loadable)。
76
76
 
77
- :::info
77
+ :::info
78
78
  `loadable` 开箱即用的支持 SSR,但不支持和 Suspense 一起使用,如果是 CSR 项目可以使用 [loadable.lazy](https://loadable-components.com/docs/suspense/)
79
79
 
80
80
  :::
@@ -31,7 +31,7 @@ Modern.js 在编译时默认通过 [core-js](https://github.com/zloirock/core-js
31
31
 
32
32
  默认情况下会根据项目 Browserslist 的设置情况引入所需的 Polyfill 代码, 这样基本不用再担心项目源码和第三方依赖的 Polyfill 问题了,但是因为包含了一些没有用到的 Polyfill 代码,所以最终的包大小可能会有所增加。
33
33
 
34
- :::info
34
+ :::info
35
35
  对于明确第三方依赖不需要 Polyfill 的场景,可以设置 [`output.polyfill`](/configure/app/output/polyfill) 为 `usage`, 这样 Babel 编译时只会根据代码中使用到的语法引入 Polyfill 代码。
36
36
 
37
37
  :::
@@ -16,7 +16,7 @@ sidebar_position: 8
16
16
 
17
17
  多数问题会被 ESLint 规则的自动修复功能或 [Prettier](https://prettier.io/) 的代码格式化功能(已被集成到 ESLint 里)自动解决,开发者不需要关心问题的细节和解决方式。
18
18
 
19
- :::info
19
+ :::info
20
20
  主要在 IDE 保存文件的环节执行这种自动修复,少数漏网之鱼会在提交代码环节被自动修复。
21
21
 
22
22
  :::
@@ -45,7 +45,7 @@ pnpm run lint:error
45
45
  /* eslint-enable filenames/match-exported */
46
46
  ```
47
47
 
48
- :::info
48
+ :::info
49
49
  在 VS Code 编辑器里输入 eslint,会自动出现关于 "eslint-disable" 的提示框,选择提示选项生成对应注释对。
50
50
 
51
51
  :::
@@ -76,7 +76,7 @@ pnpm run lint:error
76
76
 
77
77
  Modern.js 的应用工程、模块工程,源代码目录里都会默认有这个配置文件,是针对 Universal JS 代码设计的。
78
78
 
79
- :::info
79
+ :::info
80
80
  Universal JS 代码是既能浏览器端也能在服务器端运行的代码。
81
81
 
82
82
  :::
@@ -66,7 +66,7 @@ Warning: Expected server HTML to contain a matching <div> in <div>.
66
66
 
67
67
  这是 React 在客户端执行 hydrate 逻辑时,发现渲染结果与 SSR 渲染结果不一致造成的。虽然页面表现正常,但在复杂应用中,很有可能因此出现 DOM 层级混乱、样式混乱等问题。
68
68
 
69
- :::info
69
+ :::info
70
70
  关于 hydrate (注水)逻辑请参考[这里](https://reactjs.org/docs/react-dom.html#hydrate)。
71
71
 
72
72
  :::
@@ -242,11 +242,11 @@ if (process.env.MODERN_TARGET === 'browser') {
242
242
  例如在代码中引入了 `fs-extra`,这时候直接引用到组件中,会造成 CSR 加载报错。可以创建同名的 `.ts` 和 `.node.ts` 文件做一层代理:
243
243
 
244
244
  ```ts title="compat.ts"
245
- export { readFileSync } from 'fs-extra';
245
+ export const readFileSync: any = () => {};
246
246
  ```
247
247
 
248
248
  ```ts title="compat.node.ts"
249
- export const readFileSync: any = () => {};
249
+ export { readFileSync } from 'fs-extra';
250
250
  ```
251
251
 
252
252
  在文件中直接引入 `./compat`,此时 SSR 环境下会优先使用 `.node.ts` 后缀的文件,CSR 环境下会使用 `.ts` 后缀的文件。
@@ -13,7 +13,7 @@ Modern.js 允许在 JS 和 CSS 中使用别名导入自定义目录下的模块
13
13
  }
14
14
  ```
15
15
 
16
- :::info
16
+ :::info
17
17
  在开启可选功能时,生成器也会动态的添加内置别名,例如启用 BFF 时默认会添加 `@api` 别名。
18
18
 
19
19
  :::
@@ -6,7 +6,7 @@ sidebar_position: 2
6
6
 
7
7
  **Modern.js 的构建能力由 [Modern.js Builder](https://modernjs.dev/builder) 提供。**
8
8
 
9
- Modern.js Builder 是 Modern.js 体系的核心组件之一,它是一个面向现代 Web 开发场景的构建引擎,可以脱离 Modern.js 被独立使用。Modern.js Builder 同时支持 webpack 和 rspack 等多种打包工具,默认情况下使用最成熟的 webpack 进行打包。
9
+ Modern.js Builder 是 Modern.js 体系的核心组件之一,它是一个面向 Web 开发场景的构建引擎,可以脱离 Modern.js 被独立使用。Modern.js Builder 同时支持 webpack 和 Rspack 等多种打包工具,默认情况下使用最成熟的 webpack 进行打包。
10
10
 
11
11
  ## 构建架构
12
12
 
@@ -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={{ maxWidth: '540px' }} />
20
20
 
@@ -10,7 +10,7 @@ sidebar_position: 3
10
10
 
11
11
  1. [Autoprefixer](https://github.com/postcss/autoprefixer) 根据需要支持的浏览器范围,会自动为 CSS 规则添加需要的浏览器厂商前缀。Modern.js 默认支持的浏览器范围为:`['> 0.01%', 'not dead', 'not op_mini all']`。
12
12
 
13
- :::info 注意
13
+ :::info
14
14
  - 【支持的浏览器范围为:`> 0.01%`】是指浏览器市场份额大于 0.01%。
15
15
  - `not dead` 是指不包含官方不再支持的浏览器和过去24个月没有更新的浏览器。
16
16
  - `not op_mini all` 是指不包含 Opera Mini。
@@ -217,7 +217,7 @@ Modern.js 也支持 HTML 语法。默认情况下,Modern.js 的应用工程中
217
217
 
218
218
  在 `config/html/` 目录下,创建 `index.html` 文件,该文件将替代默认的 HTML 模板。
219
219
 
220
- :::info
220
+ :::info
221
221
  内部默认 HTML 模板可以在 `node_modules/.modern-js/${entryName}/index.html` 中查看。
222
222
 
223
223
  :::
@@ -4,7 +4,7 @@ sidebar_position: 1
4
4
  ---
5
5
  # 路由
6
6
 
7
- Modern.js 内置了对 [React Router 6](https://reactrouter.com/en/main) 的**部分**支持,并提供了多种类型的路由模式。根据不同[入口](/guides/concept/entries)类型,将路由分为三种模式,分别是**约定式路由**,**自控式路由**和**其他路由方案**。
7
+ Modern.js 的路由基于 [React Router 6](https://reactrouter.com/en/main),并提供了多种类型的路由模式。根据不同[入口](/docs/guides/concept/entries)类型,将路由分为三种模式,分别是**约定式路由**,**自控式路由**和**其他路由方案**。
8
8
 
9
9
  :::note
10
10
  本小节提到的路由,都是客户端路由,即 SPA 路由。
@@ -168,6 +168,33 @@ export default () => {
168
168
 
169
169
  在 loader 中,params 会作为 [loader](/guides/basic-features/data-fetch#loader-函数) 的入参,通过 `params.xxx` 可以获取。
170
170
 
171
+ ### 通配路由
172
+
173
+ 如果在 routes 目录下创建 `$.tsx` 文件,该文件会作为通配路由组件,当没有匹配的路由时,会渲染该路由组件。
174
+
175
+ :::note
176
+ `$.tsx` 可以认为是一种特殊的 `page` 路由组件,当前目录下有 `layout` 组件时,`$.tsx`,会作为 `layout` 的子组件渲染。
177
+ :::
178
+
179
+ 例如以下目录结构:
180
+ ```
181
+ └── routes
182
+ ├── $.tsx
183
+ ├── blog
184
+ │   └── page.tsx
185
+ └── page.tsx
186
+ ```
187
+
188
+ 当访问任何匹配不到的路径时,都会渲染 `routes/$.tsx` 组件,同样,`$.tsx` 中可以使用 [useParams](/apis/app/runtime/router/#useparams) 捕获 url 的剩余部分。
189
+ ```ts title="$.tsx"
190
+ import { useParams } from '@modern-js/runtime/router';
191
+ // 当 path 是 `/aaa/bbb` 时
192
+ const params = useParams();
193
+ params['*'] // => 'aaa/bbb'
194
+ ```
195
+
196
+ `$.tsx` 可以加入到 `routes` 目录下的任意目录中,一个常见的使用示例是添加 `routes/$.tsx` 文件去定制任意层级的 404 页面。
197
+
171
198
  ### 无路径布局
172
199
 
173
200
  当目录名以 \_\_ 开头时,对应的目录名不会转换为实际的路由路径,例如以下文件目录:
@@ -76,7 +76,7 @@ pipeline.run(5); // 6
76
76
 
77
77
  上面的例子就是以 Pipeline 为例描述的,这里就不赘述了,在 Pipeline 这个大类中,提供了两个小类:Sync 和 Async,顾名思义,它们的区别就是管理的函数的类型是 Sync 的还是 Async 的。
78
78
 
79
- :::info
79
+ :::info
80
80
  当 Pipeline 中没有函数或者所有函数都调用了 `next` 函数,则就需要在运行的时候提供:
81
81
 
82
82
  ```ts
@@ -2,7 +2,7 @@
2
2
  sidebar_position: 2
3
3
  ---
4
4
 
5
- # 应用
5
+ # Web 应用
6
6
 
7
7
  ## 项目创建
8
8