@modern-js/main-doc 2.60.0 → 2.60.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (321) hide show
  1. package/docs/en/apis/app/commands.mdx +0 -16
  2. package/docs/en/community/contributing-guide.mdx +0 -1
  3. package/docs/en/components/builder.mdx +3 -0
  4. package/docs/en/components/bundler.mdx +3 -0
  5. package/docs/en/components/enableSwc.mdx +17 -0
  6. package/docs/en/components/esbuild.mdx +3 -0
  7. package/docs/en/components/micro-frontend.mdx +6 -0
  8. package/docs/en/components/module-federation.mdx +7 -0
  9. package/docs/en/components/nodeVersion.mdx +26 -0
  10. package/docs/en/components/output-asset-prefix-extend.mdx +0 -0
  11. package/docs/en/components/output-polyfill-extend.mdx +1 -0
  12. package/docs/en/components/prerequisites.mdx +1 -1
  13. package/docs/en/components/rsbuild-config-tooltip.mdx +5 -0
  14. package/docs/en/components/rsbuild.mdx +3 -0
  15. package/docs/en/components/rspack.mdx +3 -0
  16. package/docs/en/components/rspackPrecautions.mdx +6 -0
  17. package/docs/en/components/rspackTip.mdx +7 -0
  18. package/docs/en/components/swc.mdx +3 -0
  19. package/docs/en/configure/app/dev/asset-prefix.mdx +12 -2
  20. package/docs/en/configure/app/dev/before-start-url.mdx +14 -2
  21. package/docs/en/configure/app/dev/client.mdx +20 -16
  22. package/docs/en/configure/app/dev/hmr.mdx +8 -2
  23. package/docs/en/configure/app/dev/host.mdx +15 -2
  24. package/docs/en/configure/app/dev/https.mdx +71 -2
  25. package/docs/en/configure/app/dev/live-reload.mdx +3 -15
  26. package/docs/en/configure/app/dev/port.mdx +18 -2
  27. package/docs/en/configure/app/dev/progress-bar.mdx +17 -2
  28. package/docs/en/configure/app/dev/setup-middlewares.mdx +25 -39
  29. package/docs/en/configure/app/dev/start-url.mdx +46 -2
  30. package/docs/en/configure/app/dev/watch-files.mdx +5 -39
  31. package/docs/en/configure/app/dev/write-to-disk.mdx +4 -27
  32. package/docs/en/configure/app/experiments/lazy-compilation.mdx +84 -2
  33. package/docs/en/configure/app/experiments/source-build.mdx +28 -3
  34. package/docs/en/configure/app/html/app-icon.mdx +48 -2
  35. package/docs/en/configure/app/html/crossorigin.mdx +8 -2
  36. package/docs/en/configure/app/html/disable-html-folder.mdx +35 -2
  37. package/docs/en/configure/app/html/favicon-by-entries.mdx +29 -2
  38. package/docs/en/configure/app/html/favicon.mdx +14 -2
  39. package/docs/en/configure/app/html/inject-by-entries.mdx +29 -2
  40. package/docs/en/configure/app/html/inject.mdx +8 -2
  41. package/docs/en/configure/app/html/meta-by-entries.mdx +41 -2
  42. package/docs/en/configure/app/html/meta.mdx +22 -2
  43. package/docs/en/configure/app/html/mount-id.mdx +8 -2
  44. package/docs/en/configure/app/html/script-loading.mdx +8 -2
  45. package/docs/en/configure/app/html/tags-by-entries.mdx +37 -2
  46. package/docs/en/configure/app/html/tags.mdx +13 -2
  47. package/docs/en/configure/app/html/template-by-entries.mdx +26 -2
  48. package/docs/en/configure/app/html/template-parameters-by-entries.mdx +28 -2
  49. package/docs/en/configure/app/html/template-parameters.mdx +31 -2
  50. package/docs/en/configure/app/html/template.mdx +8 -2
  51. package/docs/en/configure/app/html/title-by-entries.mdx +30 -2
  52. package/docs/en/configure/app/html/title.mdx +16 -2
  53. package/docs/en/configure/app/output/asset-prefix.mdx +12 -2
  54. package/docs/en/configure/app/output/assets-retry.mdx +72 -2
  55. package/docs/en/configure/app/output/charset.mdx +8 -2
  56. package/docs/en/configure/app/output/clean-dist-path.mdx +13 -2
  57. package/docs/en/configure/app/output/convert-to-rem.mdx +76 -2
  58. package/docs/en/configure/app/output/copy.mdx +5 -2
  59. package/docs/en/configure/app/output/css-module-local-ident-name.mdx +14 -2
  60. package/docs/en/configure/app/output/css-modules.mdx +46 -2
  61. package/docs/en/configure/app/output/data-uri-limit.mdx +24 -2
  62. package/docs/en/configure/app/output/disable-css-extract.mdx +9 -2
  63. package/docs/en/configure/app/output/disable-css-module-extension.mdx +52 -2
  64. package/docs/en/configure/app/output/disable-filename-hash.mdx +9 -2
  65. package/docs/en/configure/app/output/disable-inline-runtime-chunk.mdx +38 -2
  66. package/docs/en/configure/app/output/disable-minimize.mdx +7 -2
  67. package/docs/en/configure/app/output/disable-source-map.mdx +24 -2
  68. package/docs/en/configure/app/output/disable-svgr.mdx +13 -2
  69. package/docs/en/configure/app/output/disable-ts-checker.mdx +46 -2
  70. package/docs/en/configure/app/output/dist-path.mdx +39 -2
  71. package/docs/en/configure/app/output/enable-asset-fallback.mdx +29 -2
  72. package/docs/en/configure/app/output/enable-asset-manifest.mdx +33 -2
  73. package/docs/en/configure/app/output/enable-css-module-tsdeclaration.mdx +25 -2
  74. package/docs/en/configure/app/output/enable-inline-scripts.mdx +15 -2
  75. package/docs/en/configure/app/output/enable-inline-styles.mdx +15 -2
  76. package/docs/en/configure/app/output/enable-latest-decorators.mdx +7 -2
  77. package/docs/en/configure/app/output/externals.mdx +18 -2
  78. package/docs/en/configure/app/output/filename-hash.mdx +3 -27
  79. package/docs/en/configure/app/output/filename.mdx +47 -2
  80. package/docs/en/configure/app/output/inject-styles.mdx +15 -0
  81. package/docs/en/configure/app/output/inline-scripts.mdx +34 -0
  82. package/docs/en/configure/app/output/inline-styles.mdx +34 -0
  83. package/docs/en/configure/app/output/legal-comments.mdx +16 -2
  84. package/docs/en/configure/app/output/minify.mdx +27 -0
  85. package/docs/en/configure/app/output/override-browserslist.mdx +18 -2
  86. package/docs/en/configure/app/output/polyfill.mdx +12 -2
  87. package/docs/en/configure/app/output/source-map.mdx +30 -0
  88. package/docs/en/configure/app/output/ssg.mdx +20 -17
  89. package/docs/en/configure/app/output/svg-default-export.mdx +27 -2
  90. package/docs/en/configure/app/performance/build-cache.mdx +78 -2
  91. package/docs/en/configure/app/performance/bundle-analyze.mdx +18 -2
  92. package/docs/en/configure/app/performance/chunk-split.mdx +38 -2
  93. package/docs/en/configure/app/performance/dns-prefetch.mdx +13 -2
  94. package/docs/en/configure/app/performance/preconnect.mdx +14 -2
  95. package/docs/en/configure/app/performance/prefetch.mdx +19 -2
  96. package/docs/en/configure/app/performance/preload.mdx +21 -2
  97. package/docs/en/configure/app/performance/print-file-size.mdx +38 -2
  98. package/docs/en/configure/app/performance/profile.mdx +8 -2
  99. package/docs/en/configure/app/performance/remove-console.mdx +8 -2
  100. package/docs/en/configure/app/performance/remove-moment-locale.mdx +8 -2
  101. package/docs/en/configure/app/performance/transform-lodash.mdx +42 -2
  102. package/docs/en/configure/app/plugins.mdx +1 -1
  103. package/docs/en/configure/app/security/check-syntax.mdx +66 -2
  104. package/docs/en/configure/app/security/nonce.mdx +13 -2
  105. package/docs/en/configure/app/security/sri.mdx +19 -2
  106. package/docs/en/configure/app/server/port.mdx +5 -0
  107. package/docs/en/configure/app/server/ssr.mdx +10 -9
  108. package/docs/en/configure/app/source/alias-strategy.mdx +8 -2
  109. package/docs/en/configure/app/source/alias.mdx +17 -2
  110. package/docs/en/configure/app/source/config-dir.mdx +1 -1
  111. package/docs/en/configure/app/source/decorators.mdx +8 -21
  112. package/docs/en/configure/app/source/define.mdx +14 -2
  113. package/docs/en/configure/app/source/enable-async-entry.mdx +1 -1
  114. package/docs/en/configure/app/source/entries-dir.mdx +1 -1
  115. package/docs/en/configure/app/source/exclude.mdx +8 -2
  116. package/docs/en/configure/app/source/global-vars.mdx +103 -2
  117. package/docs/en/configure/app/source/include.mdx +19 -2
  118. package/docs/en/configure/app/source/mainEntryName.mdx +1 -1
  119. package/docs/en/configure/app/source/module-scopes.mdx +62 -2
  120. package/docs/en/configure/app/source/pre-entry.mdx +8 -2
  121. package/docs/en/configure/app/source/resolve-extension-prefix.mdx +48 -2
  122. package/docs/en/configure/app/source/resolve-main-fields.mdx +39 -2
  123. package/docs/en/configure/app/source/transform-import.mdx +56 -2
  124. package/docs/en/configure/app/tools/autoprefixer.mdx +41 -2
  125. package/docs/en/configure/app/tools/babel.mdx +218 -2
  126. package/docs/en/configure/app/tools/bundler-chain.mdx +23 -2
  127. package/docs/en/configure/app/tools/css-extract.mdx +31 -2
  128. package/docs/en/configure/app/tools/css-loader.mdx +14 -2
  129. package/docs/en/configure/app/tools/dev-server.mdx +435 -2
  130. package/docs/en/configure/app/tools/esbuild.mdx +1 -1
  131. package/docs/en/configure/app/tools/html-plugin.mdx +21 -2
  132. package/docs/en/configure/app/tools/less.mdx +78 -2
  133. package/docs/en/configure/app/tools/minify-css.mdx +50 -2
  134. package/docs/en/configure/app/tools/postcss.mdx +30 -2
  135. package/docs/en/configure/app/tools/pug.mdx +47 -2
  136. package/docs/en/configure/app/tools/rspack.mdx +8 -2
  137. package/docs/en/configure/app/tools/sass.mdx +75 -2
  138. package/docs/en/configure/app/tools/style-loader.mdx +8 -2
  139. package/docs/en/configure/app/tools/styled-components.mdx +48 -2
  140. package/docs/en/configure/app/tools/swc.mdx +33 -2
  141. package/docs/en/configure/app/tools/terser.mdx +49 -2
  142. package/docs/en/configure/app/tools/ts-checker.mdx +49 -2
  143. package/docs/en/configure/app/tools/ts-loader.mdx +63 -2
  144. package/docs/en/configure/app/tools/webpack-chain.mdx +239 -2
  145. package/docs/en/configure/app/tools/webpack.mdx +295 -2
  146. package/docs/en/guides/advanced-features/_meta.json +0 -1
  147. package/docs/en/guides/advanced-features/rspack-start.mdx +2 -2
  148. package/docs/en/guides/basic-features/css/css-modules.mdx +2 -2
  149. package/docs/en/guides/basic-features/output-files.mdx +1 -1
  150. package/docs/en/guides/basic-features/render/ssg.mdx +1 -1
  151. package/docs/en/guides/concept/builder.mdx +1 -1
  152. package/docs/en/guides/get-started/glossary.mdx +7 -7
  153. package/docs/en/guides/get-started/quick-start.mdx +1 -1
  154. package/docs/en/guides/topic-detail/_meta.json +0 -6
  155. package/docs/en/guides/topic-detail/micro-frontend/c01-introduction.mdx +1 -1
  156. package/docs/en/guides/topic-detail/model/quick-start.mdx +5 -0
  157. package/docs/en/guides/troubleshooting/builder.mdx +2 -2
  158. package/docs/en/plugin/cli-plugins/plugin-swc.mdx +4 -4
  159. package/docs/en/plugin/rsbuild-plugins/plugin-esbuild.mdx +4 -4
  160. package/docs/zh/apis/app/commands.mdx +0 -18
  161. package/docs/zh/community/contributing-guide.mdx +0 -1
  162. package/docs/zh/components/builder.mdx +3 -0
  163. package/docs/zh/components/bundler.mdx +4 -0
  164. package/docs/zh/components/enableSwc.mdx +17 -0
  165. package/docs/zh/components/esbuild.mdx +3 -0
  166. package/docs/zh/components/micro-frontend.mdx +6 -0
  167. package/docs/zh/components/module-federation.mdx +7 -0
  168. package/docs/zh/components/nodeVersion.mdx +28 -0
  169. package/docs/zh/components/output-asset-prefix-extend.mdx +0 -0
  170. package/docs/zh/components/output-polyfill-extend.mdx +1 -0
  171. package/docs/zh/components/prerequisites.mdx +1 -1
  172. package/docs/zh/components/rsbuild-config-tooltip.mdx +5 -0
  173. package/docs/zh/components/rsbuild.mdx +3 -0
  174. package/docs/zh/components/rspack.mdx +3 -0
  175. package/docs/zh/components/rspackPrecautions.mdx +6 -0
  176. package/docs/zh/components/rspackTip.mdx +7 -0
  177. package/docs/zh/components/swc.mdx +3 -0
  178. package/docs/zh/configure/app/dev/asset-prefix.mdx +12 -2
  179. package/docs/zh/configure/app/dev/before-start-url.mdx +14 -2
  180. package/docs/zh/configure/app/dev/client.mdx +20 -16
  181. package/docs/zh/configure/app/dev/hmr.mdx +8 -2
  182. package/docs/zh/configure/app/dev/host.mdx +15 -2
  183. package/docs/zh/configure/app/dev/https.mdx +72 -2
  184. package/docs/zh/configure/app/dev/live-reload.mdx +3 -15
  185. package/docs/zh/configure/app/dev/port.mdx +18 -2
  186. package/docs/zh/configure/app/dev/progress-bar.mdx +17 -2
  187. package/docs/zh/configure/app/dev/setup-middlewares.mdx +26 -39
  188. package/docs/zh/configure/app/dev/start-url.mdx +47 -2
  189. package/docs/zh/configure/app/dev/watch-files.mdx +5 -39
  190. package/docs/zh/configure/app/dev/write-to-disk.mdx +3 -26
  191. package/docs/zh/configure/app/experiments/lazy-compilation.mdx +84 -2
  192. package/docs/zh/configure/app/experiments/source-build.mdx +29 -2
  193. package/docs/zh/configure/app/html/app-icon.mdx +48 -2
  194. package/docs/zh/configure/app/html/crossorigin.mdx +9 -2
  195. package/docs/zh/configure/app/html/disable-html-folder.mdx +34 -2
  196. package/docs/zh/configure/app/html/favicon-by-entries.mdx +30 -2
  197. package/docs/zh/configure/app/html/favicon.mdx +15 -2
  198. package/docs/zh/configure/app/html/inject-by-entries.mdx +30 -2
  199. package/docs/zh/configure/app/html/inject.mdx +8 -2
  200. package/docs/zh/configure/app/html/meta-by-entries.mdx +41 -2
  201. package/docs/zh/configure/app/html/meta.mdx +22 -2
  202. package/docs/zh/configure/app/html/mount-id.mdx +8 -2
  203. package/docs/zh/configure/app/html/script-loading.mdx +8 -2
  204. package/docs/zh/configure/app/html/tags-by-entries.mdx +37 -2
  205. package/docs/zh/configure/app/html/tags.mdx +13 -2
  206. package/docs/zh/configure/app/html/template-by-entries.mdx +26 -2
  207. package/docs/zh/configure/app/html/template-parameters-by-entries.mdx +29 -2
  208. package/docs/zh/configure/app/html/template-parameters.mdx +31 -2
  209. package/docs/zh/configure/app/html/template.mdx +8 -2
  210. package/docs/zh/configure/app/html/title-by-entries.mdx +30 -2
  211. package/docs/zh/configure/app/html/title.mdx +16 -2
  212. package/docs/zh/configure/app/output/asset-prefix.mdx +12 -2
  213. package/docs/zh/configure/app/output/assets-retry.mdx +72 -2
  214. package/docs/zh/configure/app/output/charset.mdx +8 -2
  215. package/docs/zh/configure/app/output/clean-dist-path.mdx +13 -2
  216. package/docs/zh/configure/app/output/convert-to-rem.mdx +77 -2
  217. package/docs/zh/configure/app/output/copy.mdx +6 -2
  218. package/docs/zh/configure/app/output/css-module-local-ident-name.mdx +14 -2
  219. package/docs/zh/configure/app/output/css-modules.mdx +46 -2
  220. package/docs/zh/configure/app/output/data-uri-limit.mdx +24 -2
  221. package/docs/zh/configure/app/output/disable-css-extract.mdx +9 -2
  222. package/docs/zh/configure/app/output/disable-css-module-extension.mdx +52 -2
  223. package/docs/zh/configure/app/output/disable-filename-hash.mdx +9 -2
  224. package/docs/zh/configure/app/output/disable-inline-runtime-chunk.mdx +38 -2
  225. package/docs/zh/configure/app/output/disable-minimize.mdx +7 -2
  226. package/docs/zh/configure/app/output/disable-source-map.mdx +24 -2
  227. package/docs/zh/configure/app/output/disable-svgr.mdx +14 -2
  228. package/docs/zh/configure/app/output/disable-ts-checker.mdx +46 -2
  229. package/docs/zh/configure/app/output/dist-path.mdx +39 -2
  230. package/docs/zh/configure/app/output/enable-asset-fallback.mdx +29 -2
  231. package/docs/zh/configure/app/output/enable-asset-manifest.mdx +33 -2
  232. package/docs/zh/configure/app/output/enable-css-module-tsdeclaration.mdx +25 -2
  233. package/docs/zh/configure/app/output/enable-inline-scripts.mdx +15 -2
  234. package/docs/zh/configure/app/output/enable-inline-styles.mdx +15 -2
  235. package/docs/zh/configure/app/output/enable-latest-decorators.mdx +7 -2
  236. package/docs/zh/configure/app/output/externals.mdx +18 -2
  237. package/docs/zh/configure/app/output/filename-hash.mdx +4 -27
  238. package/docs/zh/configure/app/output/filename.mdx +47 -2
  239. package/docs/zh/configure/app/output/inject-styles.mdx +15 -0
  240. package/docs/zh/configure/app/output/inline-scripts.mdx +34 -0
  241. package/docs/zh/configure/app/output/inline-styles.mdx +34 -0
  242. package/docs/zh/configure/app/output/legal-comments.mdx +16 -2
  243. package/docs/zh/configure/app/output/minify.mdx +27 -0
  244. package/docs/zh/configure/app/output/override-browserslist.mdx +20 -2
  245. package/docs/zh/configure/app/output/polyfill.mdx +12 -2
  246. package/docs/zh/configure/app/output/source-map.mdx +30 -0
  247. package/docs/zh/configure/app/output/ssg.mdx +19 -15
  248. package/docs/zh/configure/app/output/svg-default-export.mdx +27 -2
  249. package/docs/zh/configure/app/performance/build-cache.mdx +77 -2
  250. package/docs/zh/configure/app/performance/bundle-analyze.mdx +18 -2
  251. package/docs/zh/configure/app/performance/chunk-split.mdx +38 -2
  252. package/docs/zh/configure/app/performance/dns-prefetch.mdx +13 -2
  253. package/docs/zh/configure/app/performance/preconnect.mdx +14 -2
  254. package/docs/zh/configure/app/performance/prefetch.mdx +19 -2
  255. package/docs/zh/configure/app/performance/preload.mdx +21 -2
  256. package/docs/zh/configure/app/performance/print-file-size.mdx +38 -2
  257. package/docs/zh/configure/app/performance/profile.mdx +8 -2
  258. package/docs/zh/configure/app/performance/remove-console.mdx +8 -2
  259. package/docs/zh/configure/app/performance/remove-moment-locale.mdx +8 -2
  260. package/docs/zh/configure/app/performance/transform-lodash.mdx +42 -2
  261. package/docs/zh/configure/app/plugins.mdx +1 -1
  262. package/docs/zh/configure/app/security/check-syntax.mdx +66 -2
  263. package/docs/zh/configure/app/security/nonce.mdx +13 -2
  264. package/docs/zh/configure/app/security/sri.mdx +19 -2
  265. package/docs/zh/configure/app/server/port.mdx +5 -0
  266. package/docs/zh/configure/app/server/ssr.mdx +10 -9
  267. package/docs/zh/configure/app/source/alias-strategy.mdx +8 -2
  268. package/docs/zh/configure/app/source/alias.mdx +17 -2
  269. package/docs/zh/configure/app/source/config-dir.mdx +1 -1
  270. package/docs/zh/configure/app/source/decorators.mdx +8 -20
  271. package/docs/zh/configure/app/source/define.mdx +14 -2
  272. package/docs/zh/configure/app/source/enable-async-entry.mdx +1 -1
  273. package/docs/zh/configure/app/source/entries-dir.mdx +1 -1
  274. package/docs/zh/configure/app/source/exclude.mdx +8 -2
  275. package/docs/zh/configure/app/source/global-vars.mdx +102 -2
  276. package/docs/zh/configure/app/source/include.mdx +19 -2
  277. package/docs/zh/configure/app/source/mainEntryName.mdx +1 -1
  278. package/docs/zh/configure/app/source/module-scopes.mdx +62 -2
  279. package/docs/zh/configure/app/source/pre-entry.mdx +8 -2
  280. package/docs/zh/configure/app/source/resolve-extension-prefix.mdx +50 -2
  281. package/docs/zh/configure/app/source/resolve-main-fields.mdx +39 -2
  282. package/docs/zh/configure/app/source/transform-import.mdx +56 -2
  283. package/docs/zh/configure/app/tools/autoprefixer.mdx +41 -2
  284. package/docs/zh/configure/app/tools/babel.mdx +218 -2
  285. package/docs/zh/configure/app/tools/bundler-chain.mdx +26 -2
  286. package/docs/zh/configure/app/tools/css-extract.mdx +28 -2
  287. package/docs/zh/configure/app/tools/css-loader.mdx +15 -2
  288. package/docs/zh/configure/app/tools/dev-server.mdx +435 -2
  289. package/docs/zh/configure/app/tools/esbuild.mdx +1 -1
  290. package/docs/zh/configure/app/tools/html-plugin.mdx +21 -2
  291. package/docs/zh/configure/app/tools/less.mdx +79 -2
  292. package/docs/zh/configure/app/tools/minify-css.mdx +50 -2
  293. package/docs/zh/configure/app/tools/postcss.mdx +31 -2
  294. package/docs/zh/configure/app/tools/pug.mdx +47 -2
  295. package/docs/zh/configure/app/tools/rspack.mdx +8 -2
  296. package/docs/zh/configure/app/tools/sass.mdx +73 -2
  297. package/docs/zh/configure/app/tools/style-loader.mdx +8 -2
  298. package/docs/zh/configure/app/tools/styled-components.mdx +47 -2
  299. package/docs/zh/configure/app/tools/swc.mdx +33 -2
  300. package/docs/zh/configure/app/tools/terser.mdx +49 -2
  301. package/docs/zh/configure/app/tools/ts-checker.mdx +49 -2
  302. package/docs/zh/configure/app/tools/ts-loader.mdx +63 -2
  303. package/docs/zh/configure/app/tools/webpack-chain.mdx +243 -2
  304. package/docs/zh/configure/app/tools/webpack.mdx +295 -2
  305. package/docs/zh/guides/advanced-features/_meta.json +0 -1
  306. package/docs/zh/guides/advanced-features/rspack-start.mdx +2 -2
  307. package/docs/zh/guides/basic-features/css/css-modules.mdx +1 -1
  308. package/docs/zh/guides/basic-features/output-files.mdx +2 -2
  309. package/docs/zh/guides/concept/builder.mdx +1 -1
  310. package/docs/zh/guides/get-started/glossary.mdx +7 -7
  311. package/docs/zh/guides/get-started/quick-start.mdx +1 -1
  312. package/docs/zh/guides/topic-detail/_meta.json +0 -6
  313. package/docs/zh/guides/topic-detail/micro-frontend/c01-introduction.mdx +1 -1
  314. package/docs/zh/guides/topic-detail/model/quick-start.mdx +5 -0
  315. package/docs/zh/guides/troubleshooting/builder.mdx +2 -2
  316. package/docs/zh/plugin/cli-plugins/plugin-swc.mdx +4 -4
  317. package/docs/zh/plugin/rsbuild-plugins/plugin-esbuild.mdx +6 -6
  318. package/package.json +6 -11
  319. package/src/components/RsbuildLink/index.tsx +19 -0
  320. /package/docs/en/configure/app/output/{splitRouteChunks.mdx → split-route-chunks.mdx} +0 -0
  321. /package/docs/zh/configure/app/output/{splitRouteChunks.mdx → split-route-chunks.mdx} +0 -0
@@ -4,6 +4,88 @@ title: lazyCompilation
4
4
 
5
5
  # experiments.lazyCompilation
6
6
 
7
- import Main from '@modern-js/builder-doc/docs/zh/config/experiments/lazyCompilation.md';
7
+ - **类型:**
8
8
 
9
- <Main />
9
+ ```ts
10
+ type LazyCompilationOptions =
11
+ | boolean
12
+ | {
13
+ // 是否为异步模块开启延迟编译
14
+ imports?: boolean;
15
+ // 是否为入口模块开启延迟编译
16
+ entries?: boolean;
17
+ // 指定哪些导入的模块应该被延迟编译
18
+ test?: RegExp | ((m: Module) => boolean);
19
+ };
20
+ ```
21
+
22
+ - **默认值:** `false`
23
+
24
+ 用于开启延迟编译(即按需编译)的能力。当开启此配置项时,Modern.js 会进行延迟编译,提升项目的编译启动速度。
25
+
26
+ 延迟编译只在开发环境下生效。
27
+
28
+ ### 延迟编译异步模块
29
+
30
+ 延迟编译 [dynamic import](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/import) 引入的异步模块:
31
+
32
+ ```ts
33
+ export default {
34
+ experiments: {
35
+ lazyCompilation: {
36
+ imports: true,
37
+ entries: false,
38
+ },
39
+ },
40
+ };
41
+ ```
42
+
43
+ 开启 `imports` 选项后,所有的异步模块只有在被请求时才触发编译。如果你的项目是一个单页应用(SPA),并通过 dynamic import 进行了路由拆分,那么会有明显的编译提速效果。
44
+
45
+ ### 延迟编译入口模块
46
+
47
+ 除了延迟编译异步模块,你也可以选择同时延迟编译入口模块和异步模块。
48
+
49
+ ```ts
50
+ export default {
51
+ experiments: {
52
+ lazyCompilation: {
53
+ imports: true,
54
+ entries: true,
55
+ },
56
+ },
57
+ };
58
+ ```
59
+
60
+ 以上配置也可以简化为:
61
+
62
+ ```ts
63
+ export default {
64
+ experiments: {
65
+ lazyCompilation: true,
66
+ },
67
+ };
68
+ ```
69
+
70
+ 开启 `entries` 选项后,当启动编译时,不会编译所有的页面,而是仅在路由跳转到对应的页面时,才对该页面进行编译。
71
+
72
+ 使用延迟编译入口模块时,有以下注意事项:
73
+
74
+ - 只适用于多页应用(MPA),对单页应用(SPA)没有优化效果。
75
+ - 当你访问一个页面时,由于要等待页面编译完成,会有一段时间的白屏。
76
+
77
+ ### 局限性
78
+
79
+ #### 禁用拆包规则
80
+
81
+ 当你开启延迟编译时,为了保证编译结果正常,Modern.js 会在开发环境下禁用拆包规则。这不会影响生产环境的打包产物,但会导致开发环境和生产环境的打包产物有一定差异。
82
+
83
+ #### 使用代理
84
+
85
+ Lazy Compilation 依赖 webpack 在本地启动的开发服务器,当你将某个域名代理到 localhost 进行开发时,Lazy Compilation 将无法正常工作。因此,如果你需要使用代理时,请禁用 Lazy Compilation。
86
+
87
+ #### 其他潜在的问题
88
+
89
+ 考虑到 Lazy Compilation 仍然是 webpack 的实验性功能,因此你在使用过程中,可能会遇到一些潜在的问题,比如编译产物的行为变化,或是编译出现异常。
90
+
91
+ 当你遇到这些问题时,可以参考 [webpack 的 Issues](https://github.com/webpack/webpack/issues) 寻找解决方案,也可以关闭 `lazyCompilation` 配置项。
@@ -4,6 +4,33 @@ title: sourceBuild
4
4
 
5
5
  # experiments.sourceBuild
6
6
 
7
- import Main from '@modern-js/builder-doc/docs/zh/config/experiments/sourceBuild.md';
7
+ - **类型:** `boolean | PluginSourceBuildOptions`
8
+ - **默认值:** `false`
9
+ - **版本:** `MAJOR_VERSION.46.0`
8
10
 
9
- <Main />
11
+ 用于开启源码构建的能力。当开启此配置项时,Modern.js 会读取子项目 package.json 的 `source` 字段对应的源码文件,并进行编译。
12
+
13
+ ```ts
14
+ export default {
15
+ experiments: {
16
+ sourceBuild: true,
17
+ },
18
+ };
19
+ ```
20
+
21
+ 更多信息可参考[「源码构建模式」](https://modernjs.dev/guides/advanced-features/source-build.html)。
22
+
23
+ ### 选项
24
+
25
+ `experiments.sourceBuild` 底层基于 [@rsbuild/plugin-source-build](https://github.com/rspack-contrib/rsbuild-plugin-source-build?tab=readme-ov-file#options) 实现,你可以传入插件选项,比如:
26
+
27
+ ```ts
28
+ export default {
29
+ experiments: {
30
+ sourceBuild: {
31
+ sourceField: 'my-source',
32
+ resolvePriority: 'output',
33
+ },
34
+ },
35
+ };
36
+ ```
@@ -1,9 +1,55 @@
1
1
  ---
2
2
  title: appIcon
3
+ configName: html.appIcon
3
4
  ---
4
5
 
5
6
  # html.appIcon
6
7
 
7
- import Main from '@modern-js/builder-doc/docs/zh/config/html/appIcon.md';
8
+ - **类型:**
8
9
 
9
- <Main />
10
+ ```ts
11
+ type AppIconItem = {
12
+ src: string;
13
+ size: number;
14
+ target?: 'apple-touch-icon' | 'web-app-manifest';
15
+ };
16
+
17
+ type AppIcon = string | {
18
+ name?: string;
19
+ icons: AppIconItem[];
20
+ filename?: string;
21
+ };
22
+ ```
23
+
24
+ - **默认值:** `undefined`
25
+
26
+ 设置 Web 应用的图标,用于在添加到移动设备的主屏幕时显示:
27
+
28
+ - 生成 web app manifest 文件和其中的 `icons` 字段。
29
+ - 生成 HTML 文件中的 `apple-touch-icon` 标签和 `manifest` 标签。
30
+
31
+ ### 字符串形式
32
+
33
+ `string` 类型的 `appIcon` 配置是对象类型的一个语法糖。
34
+
35
+ ```js
36
+ export default {
37
+ html: {
38
+ appIcon: './src/assets/icon.png',
39
+ },
40
+ };
41
+ ```
42
+
43
+ 以上配置相当于下面配置的语法糖:
44
+
45
+ ```js
46
+ export default {
47
+ html: {
48
+ appIcon: { icons: [{ src: './src/assets/icon.png', size: 180 }] }
49
+ },
50
+ };
51
+ ```
52
+
53
+ import RsbuildConig from '@site-docs/components/rsbuild-config-tooltip';
54
+
55
+ <RsbuildConig />
@@ -1,9 +1,16 @@
1
1
  ---
2
2
  title: crossorigin
3
+ configName: html.crossorigin
3
4
  ---
4
5
 
5
6
  # html.crossorigin
6
7
 
7
- import Main from '@modern-js/builder-doc/docs/zh/config/html/crossorigin.md';
8
+ - **类型:** `boolean | 'anonymous' | 'use-credentials'`
9
+ - **默认值:** `false`
8
10
 
9
- <Main />
11
+ 用于设置 `<script>` 和 `<style>` 标签的 [crossorigin](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/crossorigin) 属性。
12
+
13
+
14
+ import RsbuildConig from '@site-docs/components/rsbuild-config-tooltip';
15
+
16
+ <RsbuildConig />
@@ -4,6 +4,38 @@ title: disableHtmlFolder
4
4
 
5
5
  # html.disableHtmlFolder
6
6
 
7
- import Main from '@modern-js/builder-doc/docs/zh/config/html/disableHtmlFolder.md';
7
+ - **类型:** `boolean`
8
+ - **默认值:** `false`
8
9
 
9
- <Main />
10
+ 移除 HTML 产物对应的文件夹。开启该选项后,生成的 HTML 文件目录会从 `[name]/index.html` 变为 `[name].html`。
11
+
12
+ ### 示例
13
+
14
+ 默认情况下,HTML 产物在 `dist` 目录下的结构为:
15
+
16
+ ```bash
17
+ /dist
18
+ └── html
19
+ └── main
20
+ └── index.html
21
+ ```
22
+
23
+ 开启 `html.disableHtmlFolder` 配置:
24
+
25
+ ```js
26
+ export default {
27
+ html: {
28
+ disableHtmlFolder: true,
29
+ },
30
+ };
31
+ ```
32
+
33
+ 重新编译后,HTML 产物在 dist 中的目录结构如下:
34
+
35
+ ```bash
36
+ /dist
37
+ └── html
38
+ └── main.html
39
+ ```
40
+
41
+ > 如果需要设置 HTML 文件在 dist 目录中的路径,请使用 `output.distPath.html` 配置。
@@ -4,6 +4,34 @@ title: faviconByEntries
4
4
 
5
5
  # html.faviconByEntries
6
6
 
7
- import Main from '@modern-js/builder-doc/docs/zh/config/html/faviconByEntries.md';
7
+ - **类型:** `Record<string, string>`
8
+ - **默认值:** `undefined`
9
+
10
+ 用于在多页面的场景下,为不同的页面设置不同的 favicon。
11
+
12
+ 整体用法与 `favicon` 一致,并且可以使用「入口名称」作为 key ,对各个页面进行单独设置。
13
+
14
+ `faviconByEntries` 的优先级高于 `favicon`,因此会覆盖 `favicon` 中设置的值。
15
+
16
+ :::warning
17
+ **Deprecated**:该配置已废弃,请使用 `html.favicon` 的函数用法代替。
18
+ :::
19
+
20
+ ### 示例
21
+
22
+ ```js
23
+ export default {
24
+ html: {
25
+ favicon: './src/assets/default.png',
26
+ faviconByEntries: {
27
+ foo: './src/assets/foo.png',
28
+ },
29
+ },
30
+ };
31
+ ```
32
+
33
+ 重新编译后,可以看到:
34
+
35
+ - 页面 `foo` 的 favicon 为 `./src/assets/foo.png`。
36
+ - 其他页面的 favicon 为 `./src/assets/default.png`。
8
37
 
9
- <Main />
@@ -1,9 +1,22 @@
1
1
  ---
2
2
  title: favicon
3
+ configName: html.favicon
3
4
  ---
4
5
 
5
6
  # html.favicon
6
7
 
7
- import Main from '@modern-js/builder-doc/docs/zh/config/html/favicon.md';
8
+ - **类型:** `string | Function`
9
+ - **默认值:** `undefined`
8
10
 
9
- <Main />
11
+ 设置页面的 favicon 图标,可以设置为:
12
+
13
+ - URL 地址。
14
+ - 文件的绝对路径。
15
+ - 相对于项目根目录的相对路径。
16
+
17
+ 配置该选项后,在编译过程中会自动将图标拷贝至 dist 目录下,并在 HTML 中添加相应的 `link` 标签。
18
+
19
+
20
+ import RsbuildConig from '@site-docs/components/rsbuild-config-tooltip';
21
+
22
+ <RsbuildConig />
@@ -4,6 +4,34 @@ title: injectByEntries
4
4
 
5
5
  # html.injectByEntries
6
6
 
7
- import Main from '@modern-js/builder-doc/docs/zh/config/html/injectByEntries.md';
7
+ - **类型:** `Record<string, boolean | string>`
8
+ - **默认值:** `undefined`
9
+
10
+ 用于在多页面的场景下,为不同的页面设置不同的 script 标签插入位置。
11
+
12
+ 整体用法与 `inject` 一致,并且可以使用「入口名称」作为 key ,对各个页面进行单独设置。
13
+
14
+ `injectByEntries` 的优先级高于 `inject`,因此会覆盖 `inject` 中设置的值。
15
+
16
+ :::warning
17
+ **Deprecated**:该配置已废弃,请使用 `html.inject` 的函数用法代替。
18
+ :::
19
+
20
+ ### 示例
21
+
22
+ ```js
23
+ export default {
24
+ html: {
25
+ inject: 'head',
26
+ injectByEntries: {
27
+ foo: 'body',
28
+ },
29
+ },
30
+ };
31
+ ```
32
+
33
+ 重新编译后,可以看到:
34
+
35
+ - 页面 `foo` 的 script 标签会插入到 `body` 标签内。
36
+ - 其他页面的 script 标签会插入到 `head` 标签内。
8
37
 
9
- <Main />
@@ -1,9 +1,15 @@
1
1
  ---
2
2
  title: inject
3
+ configName: html.inject
3
4
  ---
4
5
 
5
6
  # html.inject
6
7
 
7
- import Main from '@modern-js/builder-doc/docs/zh/config/html/inject.md';
8
+ - **类型:** `'head' | 'body' | boolean | Function`
9
+ - **默认值:** `'head'`
8
10
 
9
- <Main />
11
+ 修改构建产物中 `<script>` 标签在 HTML 中的插入位置。
12
+
13
+ import RsbuildConig from '@site-docs/components/rsbuild-config-tooltip';
14
+
15
+ <RsbuildConig />
@@ -4,6 +4,45 @@ title: metaByEntries
4
4
 
5
5
  # html.metaByEntries
6
6
 
7
- import Main from '@modern-js/builder-doc/docs/zh/config/html/metaByEntries.md';
7
+ - **类型:** `Record<string, Meta>`
8
+ - **默认值:** `undefined`
9
+
10
+ 用于在多页面的场景下,为不同的页面设置不同的 meta 标签。
11
+
12
+ 整体用法与 `meta` 一致,并且可以使用「入口名称」作为 key ,对各个页面进行单独设置。
13
+
14
+ `metaByEntries` 的优先级高于 `meta`,因此会覆盖 `meta` 中设置的值。
15
+
16
+ :::warning
17
+ **Deprecated**:该配置已废弃,请使用 `html.meta` 的函数用法代替。
18
+ :::
19
+
20
+ ### 示例
21
+
22
+ ```js
23
+ export default {
24
+ html: {
25
+ meta: {
26
+ description: 'ByteDance',
27
+ },
28
+ metaByEntries: {
29
+ foo: {
30
+ description: 'TikTok',
31
+ },
32
+ },
33
+ },
34
+ };
35
+ ```
36
+
37
+ 编译后,可以看到页面 `foo` 的 meta 为:
38
+
39
+ ```html
40
+ <meta name="description" content="TikTok" />
41
+ ```
42
+
43
+ 其他页面的 meta 为:
44
+
45
+ ```html
46
+ <meta name="description" content="ByteDance" />
47
+ ```
8
48
 
9
- <Main />
@@ -1,9 +1,29 @@
1
1
  ---
2
2
  title: meta
3
+ configName: html.meta
3
4
  ---
4
5
 
5
6
  # html.meta
6
7
 
7
- import Main from '@modern-js/builder-doc/docs/zh/config/html/meta.md';
8
+ - **类型:** `Object | Function`
9
+ - **默认值:**
8
10
 
9
- <Main />
11
+ ```js
12
+ const defaultMeta = {
13
+ charset: { charset: 'utf-8' },
14
+ viewport:
15
+ 'width=device-width, initial-scale=1.0, shrink-to-fit=no, viewport-fit=cover, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no',
16
+ 'http-equiv': { 'http-equiv': 'x-ua-compatible', content: 'ie=edge' },
17
+ renderer: 'webkit',
18
+ layoutmode: 'standard',
19
+ imagemode: 'force',
20
+ 'wap-font-scale': 'no',
21
+ 'format-detection': 'telephone=no',
22
+ };
23
+ ```
24
+
25
+ 配置 HTML 页面的 `<meta>` 标签。
26
+
27
+ import RsbuildConig from '@site-docs/components/rsbuild-config-tooltip';
28
+
29
+ <RsbuildConig />
@@ -1,9 +1,15 @@
1
1
  ---
2
2
  title: mountId
3
+ configName: html.mountId
3
4
  ---
4
5
 
5
6
  # html.mountId
6
7
 
7
- import Main from '@modern-js/builder-doc/docs/zh/config/html/mountId.md';
8
+ - **类型:** `string`
9
+ - **默认值:** `'root'`
8
10
 
9
- <Main />
11
+ 默认情况下,HTML 模板中包含了 `root` 节点用于组件挂载,通过 `mountId` 可以修改该节点的 id。
12
+
13
+ import RsbuildConig from '@site-docs/components/rsbuild-config-tooltip';
14
+
15
+ <RsbuildConig />
@@ -1,9 +1,15 @@
1
1
  ---
2
2
  title: scriptLoading
3
+ configName: html.scriptLoading
3
4
  ---
4
5
 
5
6
  # html.scriptLoading
6
7
 
7
- import Main from '@modern-js/builder-doc/docs/zh/config/html/scriptLoading.md';
8
+ - **类型:** `'defer' | 'blocking' | 'module'`
9
+ - **默认值:** `'defer'`
8
10
 
9
- <Main />
11
+ 用于设置 `<script>` 标签的加载方式。
12
+
13
+ import RsbuildConig from '@site-docs/components/rsbuild-config-tooltip';
14
+
15
+ <RsbuildConig />
@@ -4,6 +4,41 @@ title: tagsByEntries
4
4
 
5
5
  # html.tagsByEntries
6
6
 
7
- import Main from '@modern-js/builder-doc/docs/zh/config/html/tagsByEntries.md';
7
+ - **类型:** `Record<string, ArrayOrNot<HtmlInjectTag | HtmlInjectTagHandler>>`
8
+ - **默认值:** `undefined`
9
+
10
+ 用于在多页面的场景下,为不同的页面注入不同的标签。
11
+
12
+ 整体用法与 `tags` 一致,并且可以使用「入口名称」作为 key ,对各个页面进行单独设置。
13
+
14
+ `tagsByEntries` 的优先级高于 `tags`,因此会覆盖 `tags` 中设置的值。
15
+
16
+ :::warning
17
+ **Deprecated**:该配置已废弃,请使用 `html.tags` 的函数用法代替。
18
+ :::
19
+
20
+ ### 示例
21
+
22
+ ```js
23
+ export default {
24
+ html: {
25
+ tags: [{ tag: 'script', attrs: { src: 'a.js' } }],
26
+ tagsByEntries: {
27
+ foo: [{ tag: 'script', attrs: { src: 'b.js' } }],
28
+ },
29
+ },
30
+ };
31
+ ```
32
+
33
+ 编译后,可以看到页面 `foo` 注入标签:
34
+
35
+ ```html
36
+ <script src="b.js"></script>
37
+ ```
38
+
39
+ 其他页面则注入了:
40
+
41
+ ```html
42
+ <script src="a.js"></script>
43
+ ```
8
44
 
9
- <Main />
@@ -1,9 +1,20 @@
1
1
  ---
2
2
  title: tags
3
+ configName: html.tags
3
4
  ---
4
5
 
5
6
  # html.tags
6
7
 
7
- import Main from '@modern-js/builder-doc/docs/zh/config/html/tags.md';
8
+ - **类型:**
8
9
 
9
- <Main />
10
+ ```ts
11
+ type TagsConfig = HtmlTag | HtmlTagHandler | Array<HtmlTag | HtmlTagHandler>;
12
+ ```
13
+
14
+ - **默认值:** `undefined`
15
+
16
+ 添加和修改最终注入到 HTML 页面的标签。
17
+
18
+ import RsbuildConig from '@site-docs/components/rsbuild-config-tooltip';
19
+
20
+ <RsbuildConig />
@@ -4,6 +4,30 @@ title: templateByEntries
4
4
 
5
5
  # html.templateByEntries
6
6
 
7
- import Main from '@modern-js/builder-doc/docs/zh/config/html/templateByEntries.md';
7
+ - **类型:** `Object`
8
+ - **默认值:** `undefined`
9
+
10
+ 用于在多页面的场景下,为不同的页面设置不同的 HTML 模板。
11
+
12
+ 整体用法与 `template` 一致,并且可以使用「入口名称」作为 key ,对各个页面进行单独设置。
13
+
14
+ `templateByEntries` 的优先级高于 `template`,因此会覆盖 `template` 设置的值。
15
+
16
+ :::warning
17
+ **Deprecated**:该配置已废弃,请使用 `html.template` 的函数用法代替。
18
+ :::
19
+
20
+ ### 示例
21
+
22
+ ```js
23
+ export default {
24
+ html: {
25
+ template: './static/index.html',
26
+ templateByEntries: {
27
+ foo: './src/pages/foo/index.html',
28
+ bar: './src/pages/bar/index.html',
29
+ },
30
+ },
31
+ };
32
+ ```
8
33
 
9
- <Main />
@@ -4,6 +4,33 @@ title: templateParametersByEntries
4
4
 
5
5
  # html.templateParametersByEntries
6
6
 
7
- import Main from '@modern-js/builder-doc/docs/zh/config/html/templateParametersByEntries.md';
7
+ - **类型:** `Object`
8
+ - **默认值:** `undefined`
9
+
10
+ 用于在多页面的场景下,为不同的页面设置不同的模板参数。
11
+
12
+ 整体用法与 `templateParameters` 一致,并且可以使用「入口名称」作为 key ,对各个页面进行单独设置。
13
+
14
+ `templateParametersByEntries` 的优先级高于 `templateParameters`,因此会覆盖 `templateParameters` 中设置的值。
15
+
16
+ :::warning
17
+ **Deprecated**:该配置已废弃,请使用 `html.templateParameters` 的函数用法代替。
18
+ :::
19
+
20
+ ### 示例
21
+
22
+ ```js
23
+ export default {
24
+ html: {
25
+ templateParametersByEntries: {
26
+ foo: {
27
+ type: 'a',
28
+ },
29
+ bar: {
30
+ type: 'b',
31
+ },
32
+ },
33
+ },
34
+ };
35
+ ```
8
36
 
9
- <Main />
@@ -1,9 +1,38 @@
1
1
  ---
2
2
  title: templateParameters
3
+ configName: html.templateParameters
3
4
  ---
4
5
 
5
6
  # html.templateParameters
6
7
 
7
- import Main from '@modern-js/builder-doc/docs/zh/config/html/templateParameters.md';
8
+ - **类型:** `Record<string, unknown> | Function`
9
+ - **默认值:**
8
10
 
9
- <Main />
11
+ ```ts
12
+ type DefaultParameters = {
13
+ mountId: string; // 对应 html.mountId 配置
14
+ entryName: string; // 入口名称
15
+ assetPrefix: string; // 对应 dev.assetPrefix 和 output.assetPrefix 配置
16
+ compilation: Compilation; // Rspack 的 compilation 对象
17
+ rspackConfig: Rspack.Configuration; // Rspack 的配置对象
18
+ // html-rspack-plugin 生成的参数
19
+ htmlPlugin: {
20
+ tags: {
21
+ headTags: HtmlTagObject[];
22
+ bodyTags: HtmlTagObject[];
23
+ };
24
+ files: {
25
+ publicPath: string;
26
+ js: Array<string>;
27
+ css: Array<string>;
28
+ favicon?: string;
29
+ };
30
+ };
31
+ };
32
+ ```
33
+
34
+ 定义 HTML 模板中的参数,对应 [html-rspack-plugin](https://github.com/rspack-contrib/html-rspack-plugin) 的 `templateParameters` 配置项。
35
+
36
+ import RsbuildConig from '@site-docs/components/rsbuild-config-tooltip';
37
+
38
+ <RsbuildConig />
@@ -1,9 +1,15 @@
1
1
  ---
2
2
  title: template
3
+ configName: html.template
3
4
  ---
4
5
 
5
6
  # html.template
6
7
 
7
- import Main from '@modern-js/builder-doc/docs/zh/config/html/template.md';
8
+ - **类型:** `string | Function`
9
+ - **默认值:**
8
10
 
9
- <Main />
11
+ 定义 HTML 模板的文件路径,可以是相对路径或绝对路径。
12
+
13
+ import RsbuildConig from '@site-docs/components/rsbuild-config-tooltip';
14
+
15
+ <RsbuildConig />