@modern-js/main-doc 2.59.0 → 2.60.1-alpha.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (414) hide show
  1. package/docs/en/_meta.json +10 -5
  2. package/docs/en/apis/app/hooks/api/lambda.mdx +4 -48
  3. package/docs/en/apis/app/hooks/api/middleware.mdx +11 -0
  4. package/docs/en/community/blog/v2-release-note.mdx +1 -1
  5. package/docs/en/community/contributing-guide.mdx +0 -1
  6. package/docs/en/components/builder.mdx +3 -0
  7. package/docs/en/components/bundler.mdx +3 -0
  8. package/docs/en/components/enable-bff.mdx +19 -2
  9. package/docs/en/components/enableSwc.mdx +17 -0
  10. package/docs/en/components/esbuild.mdx +3 -0
  11. package/docs/en/components/extend-bff-function.mdx +5 -0
  12. package/docs/en/components/micro-frontend.mdx +6 -0
  13. package/docs/en/components/module-federation.mdx +7 -0
  14. package/docs/en/components/nodeVersion.mdx +26 -0
  15. package/docs/en/components/other-plugins.mdx +0 -0
  16. package/docs/en/components/output-asset-prefix-extend.mdx +0 -0
  17. package/docs/en/components/output-polyfill-extend.mdx +0 -0
  18. package/docs/en/components/prerequisites.mdx +1 -1
  19. package/docs/en/components/rsbuild-config-tooltip.mdx +5 -0
  20. package/docs/en/components/rsbuild.mdx +3 -0
  21. package/docs/en/components/rspack.mdx +3 -0
  22. package/docs/en/components/rspackPrecautions.mdx +6 -0
  23. package/docs/en/components/rspackTip.mdx +7 -0
  24. package/docs/en/components/swc.mdx +3 -0
  25. package/docs/en/configure/app/auto-load-plugin.mdx +4 -0
  26. package/docs/en/configure/app/dev/asset-prefix.mdx +12 -2
  27. package/docs/en/configure/app/dev/before-start-url.mdx +14 -2
  28. package/docs/en/configure/app/dev/client.mdx +20 -16
  29. package/docs/en/configure/app/dev/hmr.mdx +8 -2
  30. package/docs/en/configure/app/dev/host.mdx +15 -2
  31. package/docs/en/configure/app/dev/https.mdx +71 -2
  32. package/docs/en/configure/app/dev/live-reload.mdx +3 -15
  33. package/docs/en/configure/app/dev/port.mdx +18 -2
  34. package/docs/en/configure/app/dev/progress-bar.mdx +17 -2
  35. package/docs/en/configure/app/dev/setup-middlewares.mdx +25 -39
  36. package/docs/en/configure/app/dev/start-url.mdx +46 -2
  37. package/docs/en/configure/app/dev/watch-files.mdx +5 -39
  38. package/docs/en/configure/app/dev/write-to-disk.mdx +4 -27
  39. package/docs/en/configure/app/experiments/lazy-compilation.mdx +84 -2
  40. package/docs/en/configure/app/experiments/source-build.mdx +28 -3
  41. package/docs/en/configure/app/html/app-icon.mdx +48 -2
  42. package/docs/en/configure/app/html/crossorigin.mdx +8 -2
  43. package/docs/en/configure/app/html/disable-html-folder.mdx +35 -2
  44. package/docs/en/configure/app/html/favicon-by-entries.mdx +29 -2
  45. package/docs/en/configure/app/html/favicon.mdx +14 -2
  46. package/docs/en/configure/app/html/inject-by-entries.mdx +29 -2
  47. package/docs/en/configure/app/html/inject.mdx +8 -2
  48. package/docs/en/configure/app/html/meta-by-entries.mdx +41 -2
  49. package/docs/en/configure/app/html/meta.mdx +22 -2
  50. package/docs/en/configure/app/html/mount-id.mdx +8 -2
  51. package/docs/en/configure/app/html/script-loading.mdx +8 -2
  52. package/docs/en/configure/app/html/tags-by-entries.mdx +37 -2
  53. package/docs/en/configure/app/html/tags.mdx +13 -2
  54. package/docs/en/configure/app/html/template-by-entries.mdx +26 -2
  55. package/docs/en/configure/app/html/template-parameters-by-entries.mdx +28 -2
  56. package/docs/en/configure/app/html/template-parameters.mdx +31 -2
  57. package/docs/en/configure/app/html/template.mdx +8 -2
  58. package/docs/en/configure/app/html/title-by-entries.mdx +30 -2
  59. package/docs/en/configure/app/html/title.mdx +16 -2
  60. package/docs/en/configure/app/output/asset-prefix.mdx +12 -2
  61. package/docs/en/configure/app/output/assets-retry.mdx +72 -2
  62. package/docs/en/configure/app/output/charset.mdx +8 -2
  63. package/docs/en/configure/app/output/clean-dist-path.mdx +13 -2
  64. package/docs/en/configure/app/output/convert-to-rem.mdx +76 -2
  65. package/docs/en/configure/app/output/copy.mdx +5 -2
  66. package/docs/en/configure/app/output/css-module-local-ident-name.mdx +14 -2
  67. package/docs/en/configure/app/output/css-modules.mdx +46 -2
  68. package/docs/en/configure/app/output/data-uri-limit.mdx +24 -2
  69. package/docs/en/configure/app/output/disable-css-extract.mdx +9 -2
  70. package/docs/en/configure/app/output/disable-css-module-extension.mdx +52 -2
  71. package/docs/en/configure/app/output/disable-filename-hash.mdx +9 -2
  72. package/docs/en/configure/app/output/disable-inline-runtime-chunk.mdx +38 -2
  73. package/docs/en/configure/app/output/disable-minimize.mdx +7 -2
  74. package/docs/en/configure/app/output/disable-source-map.mdx +24 -2
  75. package/docs/en/configure/app/output/disable-svgr.mdx +13 -2
  76. package/docs/en/configure/app/output/disable-ts-checker.mdx +46 -2
  77. package/docs/en/configure/app/output/dist-path.mdx +39 -2
  78. package/docs/en/configure/app/output/enable-asset-fallback.mdx +29 -2
  79. package/docs/en/configure/app/output/enable-asset-manifest.mdx +33 -2
  80. package/docs/en/configure/app/output/enable-css-module-tsdeclaration.mdx +25 -2
  81. package/docs/en/configure/app/output/enable-inline-scripts.mdx +15 -2
  82. package/docs/en/configure/app/output/enable-inline-styles.mdx +15 -2
  83. package/docs/en/configure/app/output/enable-latest-decorators.mdx +7 -2
  84. package/docs/en/configure/app/output/externals.mdx +18 -2
  85. package/docs/en/configure/app/output/filename-hash.mdx +3 -27
  86. package/docs/en/configure/app/output/filename.mdx +47 -2
  87. package/docs/en/configure/app/output/inject-styles.mdx +15 -0
  88. package/docs/en/configure/app/output/inline-scripts.mdx +34 -0
  89. package/docs/en/configure/app/output/inline-styles.mdx +34 -0
  90. package/docs/en/configure/app/output/legal-comments.mdx +16 -2
  91. package/docs/en/configure/app/output/minify.mdx +27 -0
  92. package/docs/en/configure/app/output/override-browserslist.mdx +18 -2
  93. package/docs/en/configure/app/output/polyfill.mdx +12 -2
  94. package/docs/en/configure/app/output/source-map.mdx +30 -0
  95. package/docs/en/configure/app/output/ssg.mdx +20 -17
  96. package/docs/en/configure/app/output/svg-default-export.mdx +27 -2
  97. package/docs/en/configure/app/performance/build-cache.mdx +78 -2
  98. package/docs/en/configure/app/performance/bundle-analyze.mdx +18 -2
  99. package/docs/en/configure/app/performance/chunk-split.mdx +38 -2
  100. package/docs/en/configure/app/performance/dns-prefetch.mdx +13 -2
  101. package/docs/en/configure/app/performance/preconnect.mdx +14 -2
  102. package/docs/en/configure/app/performance/prefetch.mdx +19 -2
  103. package/docs/en/configure/app/performance/preload.mdx +21 -2
  104. package/docs/en/configure/app/performance/print-file-size.mdx +38 -2
  105. package/docs/en/configure/app/performance/profile.mdx +8 -2
  106. package/docs/en/configure/app/performance/remove-console.mdx +8 -2
  107. package/docs/en/configure/app/performance/remove-moment-locale.mdx +8 -2
  108. package/docs/en/configure/app/performance/transform-lodash.mdx +42 -2
  109. package/docs/en/configure/app/plugins.mdx +3 -3
  110. package/docs/en/configure/app/security/check-syntax.mdx +66 -2
  111. package/docs/en/configure/app/security/nonce.mdx +13 -2
  112. package/docs/en/configure/app/security/sri.mdx +19 -2
  113. package/docs/en/configure/app/server/port.mdx +5 -0
  114. package/docs/en/configure/app/server/ssr.mdx +10 -9
  115. package/docs/en/configure/app/source/alias-strategy.mdx +8 -2
  116. package/docs/en/configure/app/source/alias.mdx +17 -2
  117. package/docs/en/configure/app/source/config-dir.mdx +1 -1
  118. package/docs/en/configure/app/source/decorators.mdx +8 -21
  119. package/docs/en/configure/app/source/define.mdx +14 -2
  120. package/docs/en/configure/app/source/enable-async-entry.mdx +1 -1
  121. package/docs/en/configure/app/source/entries-dir.mdx +1 -1
  122. package/docs/en/configure/app/source/exclude.mdx +8 -2
  123. package/docs/en/configure/app/source/global-vars.mdx +103 -2
  124. package/docs/en/configure/app/source/include.mdx +19 -2
  125. package/docs/en/configure/app/source/mainEntryName.mdx +1 -1
  126. package/docs/en/configure/app/source/module-scopes.mdx +62 -2
  127. package/docs/en/configure/app/source/pre-entry.mdx +8 -2
  128. package/docs/en/configure/app/source/resolve-extension-prefix.mdx +48 -2
  129. package/docs/en/configure/app/source/resolve-main-fields.mdx +39 -2
  130. package/docs/en/configure/app/source/transform-import.mdx +56 -2
  131. package/docs/en/configure/app/tools/autoprefixer.mdx +41 -2
  132. package/docs/en/configure/app/tools/babel.mdx +218 -2
  133. package/docs/en/configure/app/tools/bundler-chain.mdx +23 -2
  134. package/docs/en/configure/app/tools/css-extract.mdx +31 -2
  135. package/docs/en/configure/app/tools/css-loader.mdx +14 -2
  136. package/docs/en/configure/app/tools/dev-server.mdx +435 -2
  137. package/docs/en/configure/app/tools/esbuild.mdx +2 -2
  138. package/docs/en/configure/app/tools/html-plugin.mdx +21 -2
  139. package/docs/en/configure/app/tools/less.mdx +78 -2
  140. package/docs/en/configure/app/tools/minify-css.mdx +50 -2
  141. package/docs/en/configure/app/tools/postcss.mdx +30 -2
  142. package/docs/en/configure/app/tools/pug.mdx +47 -2
  143. package/docs/en/configure/app/tools/rspack.mdx +8 -2
  144. package/docs/en/configure/app/tools/sass.mdx +75 -2
  145. package/docs/en/configure/app/tools/style-loader.mdx +8 -2
  146. package/docs/en/configure/app/tools/styled-components.mdx +48 -2
  147. package/docs/en/configure/app/tools/swc.mdx +34 -3
  148. package/docs/en/configure/app/tools/terser.mdx +49 -2
  149. package/docs/en/configure/app/tools/ts-checker.mdx +49 -2
  150. package/docs/en/configure/app/tools/ts-loader.mdx +63 -2
  151. package/docs/en/configure/app/tools/webpack-chain.mdx +239 -2
  152. package/docs/en/configure/app/tools/webpack.mdx +295 -2
  153. package/docs/en/guides/_meta.json +0 -5
  154. package/docs/en/guides/advanced-features/_meta.json +7 -5
  155. package/docs/en/guides/advanced-features/bff/_meta.json +1 -1
  156. package/docs/en/guides/advanced-features/bff/extend-server.mdx +154 -0
  157. package/docs/en/guides/advanced-features/bff/frameworks.mdx +52 -123
  158. package/docs/en/guides/advanced-features/bff/function.mdx +108 -80
  159. package/docs/en/guides/advanced-features/bff/sdk.mdx +40 -51
  160. package/docs/en/guides/advanced-features/build-performance.mdx +6 -21
  161. package/docs/en/guides/advanced-features/page-performance/_meta.json +1 -0
  162. package/docs/en/guides/advanced-features/rspack-start.mdx +2 -2
  163. package/docs/en/guides/basic-features/css/css-modules.mdx +2 -2
  164. package/docs/en/guides/basic-features/output-files.mdx +1 -1
  165. package/docs/en/guides/basic-features/render/ssg.mdx +1 -1
  166. package/docs/en/guides/basic-features/render/streaming-ssr.mdx +1 -1
  167. package/docs/en/guides/basic-features/routes.mdx +2 -3
  168. package/docs/en/guides/basic-features/static-assets.mdx +1 -1
  169. package/docs/en/guides/concept/builder.mdx +1 -1
  170. package/docs/en/guides/deprecated.md +2 -0
  171. package/docs/en/guides/get-started/glossary.mdx +7 -7
  172. package/docs/en/guides/get-started/quick-start.mdx +1 -1
  173. package/docs/en/guides/topic-detail/_meta.json +0 -6
  174. package/docs/en/guides/topic-detail/micro-frontend/c01-introduction.mdx +1 -1
  175. package/docs/en/guides/troubleshooting/builder.mdx +2 -2
  176. package/docs/en/plugin/_meta.json +19 -0
  177. package/docs/en/plugin/cli-plugins/_meta.json +1 -0
  178. package/docs/en/plugin/cli-plugins/plugin-bff.mdx +5 -0
  179. package/docs/en/plugin/cli-plugins/plugin-ssg.mdx +5 -0
  180. package/docs/en/{guides/rsbuild-plugins → plugin/cli-plugins}/plugin-swc.mdx +11 -4
  181. package/docs/en/plugin/cli-plugins/plugin-tailwind.mdx +5 -0
  182. package/docs/en/plugin/cli-plugins.mdx +6 -0
  183. package/docs/en/{guides/advanced-features/rsbuild-plugin.mdx → plugin/introduction.mdx} +34 -9
  184. package/docs/en/{guides/topic-detail/framework-plugin → plugin/plugin-system}/extend.mdx +1 -1
  185. package/docs/en/{guides/topic-detail/framework-plugin → plugin/plugin-system}/implement.mdx +3 -3
  186. package/docs/en/{guides/topic-detail/framework-plugin → plugin/plugin-system}/plugin-api.mdx +2 -2
  187. package/docs/en/plugin/rsbuild-plugins/_meta.json +1 -0
  188. package/docs/en/{guides → plugin}/rsbuild-plugins/plugin-esbuild.mdx +4 -4
  189. package/docs/en/plugin/rsbuild-plugins.mdx +3 -0
  190. package/docs/zh/_meta.json +10 -5
  191. package/docs/zh/apis/app/hooks/api/lambda.mdx +5 -48
  192. package/docs/zh/apis/app/hooks/api/middleware.mdx +11 -0
  193. package/docs/zh/community/blog/v2-release-note.mdx +1 -1
  194. package/docs/zh/community/contributing-guide.mdx +0 -1
  195. package/docs/zh/components/builder.mdx +3 -0
  196. package/docs/zh/components/bundler.mdx +4 -0
  197. package/docs/zh/components/enable-bff.mdx +19 -2
  198. package/docs/zh/components/enableSwc.mdx +17 -0
  199. package/docs/zh/components/esbuild.mdx +3 -0
  200. package/docs/zh/components/extend-bff-function.mdx +5 -0
  201. package/docs/zh/components/micro-frontend.mdx +6 -0
  202. package/docs/zh/components/module-federation.mdx +7 -0
  203. package/docs/zh/components/nodeVersion.mdx +28 -0
  204. package/docs/zh/components/other-plugins.mdx +0 -0
  205. package/docs/zh/components/output-asset-prefix-extend.mdx +0 -0
  206. package/docs/zh/components/output-polyfill-extend.mdx +0 -0
  207. package/docs/zh/components/prerequisites.mdx +1 -1
  208. package/docs/zh/components/rsbuild-config-tooltip.mdx +5 -0
  209. package/docs/zh/components/rsbuild.mdx +3 -0
  210. package/docs/zh/components/rspack.mdx +3 -0
  211. package/docs/zh/components/rspackPrecautions.mdx +6 -0
  212. package/docs/zh/components/rspackTip.mdx +7 -0
  213. package/docs/zh/components/swc.mdx +3 -0
  214. package/docs/zh/configure/app/auto-load-plugin.mdx +4 -0
  215. package/docs/zh/configure/app/dev/asset-prefix.mdx +12 -2
  216. package/docs/zh/configure/app/dev/before-start-url.mdx +14 -2
  217. package/docs/zh/configure/app/dev/client.mdx +20 -16
  218. package/docs/zh/configure/app/dev/hmr.mdx +8 -2
  219. package/docs/zh/configure/app/dev/host.mdx +15 -2
  220. package/docs/zh/configure/app/dev/https.mdx +72 -2
  221. package/docs/zh/configure/app/dev/live-reload.mdx +3 -15
  222. package/docs/zh/configure/app/dev/port.mdx +18 -2
  223. package/docs/zh/configure/app/dev/progress-bar.mdx +17 -2
  224. package/docs/zh/configure/app/dev/setup-middlewares.mdx +26 -39
  225. package/docs/zh/configure/app/dev/start-url.mdx +47 -2
  226. package/docs/zh/configure/app/dev/watch-files.mdx +5 -39
  227. package/docs/zh/configure/app/dev/write-to-disk.mdx +3 -26
  228. package/docs/zh/configure/app/experiments/lazy-compilation.mdx +84 -2
  229. package/docs/zh/configure/app/experiments/source-build.mdx +29 -2
  230. package/docs/zh/configure/app/html/app-icon.mdx +48 -2
  231. package/docs/zh/configure/app/html/crossorigin.mdx +9 -2
  232. package/docs/zh/configure/app/html/disable-html-folder.mdx +34 -2
  233. package/docs/zh/configure/app/html/favicon-by-entries.mdx +30 -2
  234. package/docs/zh/configure/app/html/favicon.mdx +15 -2
  235. package/docs/zh/configure/app/html/inject-by-entries.mdx +30 -2
  236. package/docs/zh/configure/app/html/inject.mdx +8 -2
  237. package/docs/zh/configure/app/html/meta-by-entries.mdx +41 -2
  238. package/docs/zh/configure/app/html/meta.mdx +22 -2
  239. package/docs/zh/configure/app/html/mount-id.mdx +8 -2
  240. package/docs/zh/configure/app/html/script-loading.mdx +8 -2
  241. package/docs/zh/configure/app/html/tags-by-entries.mdx +37 -2
  242. package/docs/zh/configure/app/html/tags.mdx +13 -2
  243. package/docs/zh/configure/app/html/template-by-entries.mdx +26 -2
  244. package/docs/zh/configure/app/html/template-parameters-by-entries.mdx +29 -2
  245. package/docs/zh/configure/app/html/template-parameters.mdx +31 -2
  246. package/docs/zh/configure/app/html/template.mdx +8 -2
  247. package/docs/zh/configure/app/html/title-by-entries.mdx +30 -2
  248. package/docs/zh/configure/app/html/title.mdx +16 -2
  249. package/docs/zh/configure/app/output/asset-prefix.mdx +12 -2
  250. package/docs/zh/configure/app/output/assets-retry.mdx +72 -2
  251. package/docs/zh/configure/app/output/charset.mdx +8 -2
  252. package/docs/zh/configure/app/output/clean-dist-path.mdx +13 -2
  253. package/docs/zh/configure/app/output/convert-to-rem.mdx +77 -2
  254. package/docs/zh/configure/app/output/copy.mdx +6 -2
  255. package/docs/zh/configure/app/output/css-module-local-ident-name.mdx +14 -2
  256. package/docs/zh/configure/app/output/css-modules.mdx +46 -2
  257. package/docs/zh/configure/app/output/data-uri-limit.mdx +24 -2
  258. package/docs/zh/configure/app/output/disable-css-extract.mdx +9 -2
  259. package/docs/zh/configure/app/output/disable-css-module-extension.mdx +52 -2
  260. package/docs/zh/configure/app/output/disable-filename-hash.mdx +9 -2
  261. package/docs/zh/configure/app/output/disable-inline-runtime-chunk.mdx +38 -2
  262. package/docs/zh/configure/app/output/disable-minimize.mdx +7 -2
  263. package/docs/zh/configure/app/output/disable-source-map.mdx +24 -2
  264. package/docs/zh/configure/app/output/disable-svgr.mdx +14 -2
  265. package/docs/zh/configure/app/output/disable-ts-checker.mdx +46 -2
  266. package/docs/zh/configure/app/output/dist-path.mdx +39 -2
  267. package/docs/zh/configure/app/output/enable-asset-fallback.mdx +29 -2
  268. package/docs/zh/configure/app/output/enable-asset-manifest.mdx +33 -2
  269. package/docs/zh/configure/app/output/enable-css-module-tsdeclaration.mdx +25 -2
  270. package/docs/zh/configure/app/output/enable-inline-scripts.mdx +15 -2
  271. package/docs/zh/configure/app/output/enable-inline-styles.mdx +15 -2
  272. package/docs/zh/configure/app/output/enable-latest-decorators.mdx +7 -2
  273. package/docs/zh/configure/app/output/externals.mdx +18 -2
  274. package/docs/zh/configure/app/output/filename-hash.mdx +4 -27
  275. package/docs/zh/configure/app/output/filename.mdx +47 -2
  276. package/docs/zh/configure/app/output/inject-styles.mdx +15 -0
  277. package/docs/zh/configure/app/output/inline-scripts.mdx +34 -0
  278. package/docs/zh/configure/app/output/inline-styles.mdx +34 -0
  279. package/docs/zh/configure/app/output/legal-comments.mdx +16 -2
  280. package/docs/zh/configure/app/output/minify.mdx +27 -0
  281. package/docs/zh/configure/app/output/override-browserslist.mdx +20 -2
  282. package/docs/zh/configure/app/output/polyfill.mdx +12 -2
  283. package/docs/zh/configure/app/output/source-map.mdx +30 -0
  284. package/docs/zh/configure/app/output/ssg.mdx +19 -15
  285. package/docs/zh/configure/app/output/svg-default-export.mdx +27 -2
  286. package/docs/zh/configure/app/performance/build-cache.mdx +77 -2
  287. package/docs/zh/configure/app/performance/bundle-analyze.mdx +18 -2
  288. package/docs/zh/configure/app/performance/chunk-split.mdx +38 -2
  289. package/docs/zh/configure/app/performance/dns-prefetch.mdx +13 -2
  290. package/docs/zh/configure/app/performance/preconnect.mdx +14 -2
  291. package/docs/zh/configure/app/performance/prefetch.mdx +19 -2
  292. package/docs/zh/configure/app/performance/preload.mdx +21 -2
  293. package/docs/zh/configure/app/performance/print-file-size.mdx +38 -2
  294. package/docs/zh/configure/app/performance/profile.mdx +8 -2
  295. package/docs/zh/configure/app/performance/remove-console.mdx +8 -2
  296. package/docs/zh/configure/app/performance/remove-moment-locale.mdx +8 -2
  297. package/docs/zh/configure/app/performance/transform-lodash.mdx +42 -2
  298. package/docs/zh/configure/app/plugins.mdx +3 -3
  299. package/docs/zh/configure/app/security/check-syntax.mdx +66 -2
  300. package/docs/zh/configure/app/security/nonce.mdx +13 -2
  301. package/docs/zh/configure/app/security/sri.mdx +19 -2
  302. package/docs/zh/configure/app/server/port.mdx +5 -0
  303. package/docs/zh/configure/app/server/ssr.mdx +10 -9
  304. package/docs/zh/configure/app/source/alias-strategy.mdx +8 -2
  305. package/docs/zh/configure/app/source/alias.mdx +17 -2
  306. package/docs/zh/configure/app/source/config-dir.mdx +1 -1
  307. package/docs/zh/configure/app/source/decorators.mdx +8 -20
  308. package/docs/zh/configure/app/source/define.mdx +14 -2
  309. package/docs/zh/configure/app/source/enable-async-entry.mdx +1 -1
  310. package/docs/zh/configure/app/source/entries-dir.mdx +1 -1
  311. package/docs/zh/configure/app/source/exclude.mdx +8 -2
  312. package/docs/zh/configure/app/source/global-vars.mdx +102 -2
  313. package/docs/zh/configure/app/source/include.mdx +19 -2
  314. package/docs/zh/configure/app/source/mainEntryName.mdx +1 -1
  315. package/docs/zh/configure/app/source/module-scopes.mdx +62 -2
  316. package/docs/zh/configure/app/source/pre-entry.mdx +8 -2
  317. package/docs/zh/configure/app/source/resolve-extension-prefix.mdx +50 -2
  318. package/docs/zh/configure/app/source/resolve-main-fields.mdx +39 -2
  319. package/docs/zh/configure/app/source/transform-import.mdx +56 -2
  320. package/docs/zh/configure/app/tools/autoprefixer.mdx +41 -2
  321. package/docs/zh/configure/app/tools/babel.mdx +218 -2
  322. package/docs/zh/configure/app/tools/bundler-chain.mdx +26 -2
  323. package/docs/zh/configure/app/tools/css-extract.mdx +28 -2
  324. package/docs/zh/configure/app/tools/css-loader.mdx +15 -2
  325. package/docs/zh/configure/app/tools/dev-server.mdx +435 -2
  326. package/docs/zh/configure/app/tools/esbuild.mdx +2 -2
  327. package/docs/zh/configure/app/tools/html-plugin.mdx +21 -2
  328. package/docs/zh/configure/app/tools/less.mdx +79 -2
  329. package/docs/zh/configure/app/tools/minify-css.mdx +50 -2
  330. package/docs/zh/configure/app/tools/postcss.mdx +31 -2
  331. package/docs/zh/configure/app/tools/pug.mdx +47 -2
  332. package/docs/zh/configure/app/tools/rspack.mdx +8 -2
  333. package/docs/zh/configure/app/tools/sass.mdx +73 -2
  334. package/docs/zh/configure/app/tools/style-loader.mdx +8 -2
  335. package/docs/zh/configure/app/tools/styled-components.mdx +47 -2
  336. package/docs/zh/configure/app/tools/swc.mdx +34 -3
  337. package/docs/zh/configure/app/tools/terser.mdx +49 -2
  338. package/docs/zh/configure/app/tools/ts-checker.mdx +49 -2
  339. package/docs/zh/configure/app/tools/ts-loader.mdx +63 -2
  340. package/docs/zh/configure/app/tools/webpack-chain.mdx +243 -2
  341. package/docs/zh/configure/app/tools/webpack.mdx +295 -2
  342. package/docs/zh/guides/_meta.json +0 -5
  343. package/docs/zh/guides/advanced-features/_meta.json +7 -5
  344. package/docs/zh/guides/advanced-features/bff/_meta.json +1 -1
  345. package/docs/zh/guides/advanced-features/bff/extend-server.mdx +156 -0
  346. package/docs/zh/guides/advanced-features/bff/frameworks.mdx +51 -117
  347. package/docs/zh/guides/advanced-features/bff/function.mdx +69 -59
  348. package/docs/zh/guides/advanced-features/bff/sdk.mdx +27 -36
  349. package/docs/zh/guides/advanced-features/build-performance.mdx +6 -21
  350. package/docs/zh/guides/advanced-features/page-performance/_meta.json +1 -0
  351. package/docs/zh/guides/advanced-features/rspack-start.mdx +4 -4
  352. package/docs/zh/guides/basic-features/alias.mdx +5 -11
  353. package/docs/zh/guides/basic-features/css/css-modules.mdx +1 -1
  354. package/docs/zh/guides/basic-features/env-vars.mdx +1 -1
  355. package/docs/zh/guides/basic-features/output-files.mdx +2 -2
  356. package/docs/zh/guides/basic-features/routes.mdx +1 -2
  357. package/docs/zh/guides/basic-features/static-assets.mdx +1 -1
  358. package/docs/zh/guides/concept/builder.mdx +1 -1
  359. package/docs/zh/guides/deprecated.md +4 -0
  360. package/docs/zh/guides/get-started/glossary.mdx +7 -7
  361. package/docs/zh/guides/get-started/quick-start.mdx +1 -1
  362. package/docs/zh/guides/topic-detail/_meta.json +0 -6
  363. package/docs/zh/guides/topic-detail/micro-frontend/c01-introduction.mdx +1 -1
  364. package/docs/zh/guides/troubleshooting/builder.mdx +2 -2
  365. package/docs/zh/plugin/_meta.json +19 -0
  366. package/docs/zh/plugin/cli-plugins/_meta.json +1 -0
  367. package/docs/zh/plugin/cli-plugins/plugin-bff.mdx +5 -0
  368. package/docs/zh/plugin/cli-plugins/plugin-ssg.mdx +5 -0
  369. package/docs/zh/{guides/rsbuild-plugins → plugin/cli-plugins}/plugin-swc.mdx +11 -4
  370. package/docs/zh/plugin/cli-plugins/plugin-tailwind.mdx +5 -0
  371. package/docs/zh/plugin/cli-plugins.mdx +6 -0
  372. package/docs/zh/{guides/advanced-features/rsbuild-plugin.mdx → plugin/introduction.mdx} +36 -11
  373. package/docs/zh/{guides/topic-detail/framework-plugin → plugin/plugin-system}/extend.mdx +1 -1
  374. package/docs/zh/{guides/topic-detail/framework-plugin → plugin/plugin-system}/implement.mdx +3 -3
  375. package/docs/zh/{guides/topic-detail/framework-plugin → plugin/plugin-system}/plugin-api.mdx +2 -2
  376. package/docs/zh/plugin/rsbuild-plugins/_meta.json +1 -0
  377. package/docs/zh/{guides → plugin}/rsbuild-plugins/plugin-esbuild.mdx +6 -6
  378. package/docs/zh/plugin/rsbuild-plugins.mdx +4 -0
  379. package/i18n.json +27 -3
  380. package/package.json +8 -13
  381. package/rspress.config.ts +1 -58
  382. package/src/components/Footer/index.tsx +1 -1
  383. package/src/components/RsbuildLink/index.tsx +19 -0
  384. package/src/pages/index.tsx +0 -1
  385. package/docs/en/apis/app/hooks/api/api.mdx +0 -80
  386. package/docs/en/apis/app/hooks/api/app.mdx +0 -12
  387. package/docs/en/guides/advanced-features/bff/type.mdx +0 -46
  388. package/docs/en/guides/advanced-features/eslint.mdx +0 -148
  389. package/docs/zh/apis/app/hooks/api/api.mdx +0 -81
  390. package/docs/zh/apis/app/hooks/api/app.mdx +0 -12
  391. package/docs/zh/guides/advanced-features/bff/type.mdx +0 -46
  392. package/docs/zh/guides/advanced-features/eslint.mdx +0 -152
  393. /package/docs/en/configure/app/output/{splitRouteChunks.mdx → split-route-chunks.mdx} +0 -0
  394. /package/docs/en/guides/advanced-features/{bff/index.mdx → bff.mdx} +0 -0
  395. /package/docs/en/guides/advanced-features/{code-split.mdx → page-performance/code-split.mdx} +0 -0
  396. /package/docs/en/guides/advanced-features/{inline-assets.mdx → page-performance/inline-assets.mdx} +0 -0
  397. /package/docs/en/guides/advanced-features/{optimize-bundle.mdx → page-performance/optimize-bundle.mdx} +0 -0
  398. /package/docs/en/{guides/topic-detail/framework-plugin → plugin/plugin-system}/_meta.json +0 -0
  399. /package/docs/en/{guides/topic-detail/framework-plugin → plugin/plugin-system}/hook-list.mdx +0 -0
  400. /package/docs/en/{guides/topic-detail/framework-plugin → plugin/plugin-system}/hook.mdx +0 -0
  401. /package/docs/en/{guides/topic-detail/framework-plugin → plugin/plugin-system}/introduction.mdx +0 -0
  402. /package/docs/en/{guides/topic-detail/framework-plugin → plugin/plugin-system}/lifecycle.mdx +0 -0
  403. /package/docs/en/{guides/topic-detail/framework-plugin → plugin/plugin-system}/relationship.mdx +0 -0
  404. /package/docs/zh/configure/app/output/{splitRouteChunks.mdx → split-route-chunks.mdx} +0 -0
  405. /package/docs/zh/guides/advanced-features/{bff/index.mdx → bff.mdx} +0 -0
  406. /package/docs/zh/guides/advanced-features/{code-split.mdx → page-performance/code-split.mdx} +0 -0
  407. /package/docs/zh/guides/advanced-features/{inline-assets.mdx → page-performance/inline-assets.mdx} +0 -0
  408. /package/docs/zh/guides/advanced-features/{optimize-bundle.mdx → page-performance/optimize-bundle.mdx} +0 -0
  409. /package/docs/zh/{guides/topic-detail/framework-plugin → plugin/plugin-system}/_meta.json +0 -0
  410. /package/docs/zh/{guides/topic-detail/framework-plugin → plugin/plugin-system}/hook-list.mdx +0 -0
  411. /package/docs/zh/{guides/topic-detail/framework-plugin → plugin/plugin-system}/hook.mdx +0 -0
  412. /package/docs/zh/{guides/topic-detail/framework-plugin → plugin/plugin-system}/introduction.mdx +0 -0
  413. /package/docs/zh/{guides/topic-detail/framework-plugin → plugin/plugin-system}/lifecycle.mdx +0 -0
  414. /package/docs/zh/{guides/topic-detail/framework-plugin → plugin/plugin-system}/relationship.mdx +0 -0
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  title: setupMiddlewares
3
+ configName: dev.setupMiddlewares
3
4
  ---
4
5
 
5
6
  # dev.setupMiddlewares
@@ -7,11 +8,31 @@ title: setupMiddlewares
7
8
  - **Type:**
8
9
 
9
10
  ```ts
10
- type ServerAPIs = {
11
+ type SetupMiddlewaresServer = {
11
12
  sockWrite: (
12
13
  type: string,
13
14
  data?: string | boolean | Record<string, any>,
14
15
  ) => void;
16
+ environments: {
17
+ [name: string]: {
18
+ /**
19
+ * Get stats info about current environment.
20
+ */
21
+ getStats: () => Promise<Stats>;
22
+ /**
23
+ * Load and execute stats bundle in server.
24
+ *
25
+ * @param entryName - relate to Rsbuild's `source.entry`
26
+ * @returns the return value of entry module.
27
+ */
28
+ loadBundle: <T = unknown>(entryName: string) => Promise<T>;
29
+
30
+ /**
31
+ * Get the compiled HTML template.
32
+ */
33
+ getTransformedHtml: (entryName: string) => Promise<string>;
34
+ };
35
+ };
15
36
  };
16
37
 
17
38
  type SetupMiddlewares = Array<
@@ -20,7 +41,7 @@ type SetupMiddlewares = Array<
20
41
  unshift: (...handlers: RequestHandler[]) => void;
21
42
  push: (...handlers: RequestHandler[]) => void;
22
43
  },
23
- server: ServerAPIs,
44
+ server: SetupMiddlewaresServer,
24
45
  ) => void
25
46
  >;
26
47
  ```
@@ -29,41 +50,6 @@ type SetupMiddlewares = Array<
29
50
 
30
51
  Provides the ability to execute a custom function and apply custom middlewares.
31
52
 
32
- The order among several different types of middleware is: `unshift` => internal middlewares => `push`.
53
+ import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
33
54
 
34
- ```js
35
- export default {
36
- dev: {
37
- setupMiddlewares: [
38
- (middlewares, server) => {
39
- middlewares.unshift((req, res, next) => {
40
- next();
41
- });
42
-
43
- middlewares.push((req, res, next) => {
44
- next();
45
- });
46
- },
47
- ],
48
- },
49
- };
50
- ```
51
-
52
- It is possible to use some server api to meet special scenario requirements:
53
-
54
- - sockWrite. Allow send some message to HMR client, and then the HMR client will take different actions depending on the message type. If you send a "content changed" message, the page will reload.
55
-
56
- ```js
57
- export default {
58
- dev: {
59
- setupMiddlewares: [
60
- (middlewares, server) => {
61
- // add custom watch & trigger page reload when change
62
- watcher.on('change', (changed) => {
63
- server.sockWrite('content-changed');
64
- });
65
- },
66
- ],
67
- },
68
- };
69
- ```
55
+ <RsbuildConig />
@@ -4,6 +4,50 @@ title: startUrl
4
4
 
5
5
  # dev.startUrl
6
6
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/dev/startUrl.md';
7
+ - **Type:** `boolean | string | string[] | undefined`
8
+ - **Default:** `undefined`
9
+
10
+ `dev.startUrl` is used to set the URL of the page that automatically opens in the browser when Dev Server starts.
11
+
12
+ By default, no page will be opened.
13
+
14
+ You can set it to the following values:
15
+
16
+ ```js
17
+ export default {
18
+ dev: {
19
+ // Open the project's default preview page, equivalent to `http://localhost:<port>`
20
+ startUrl: true,
21
+ // Open the specified page
22
+ startUrl: 'http://localhost:8080',
23
+ // Open multiple pages
24
+ startUrl: ['http://localhost:8080', 'http://localhost:8080/about'],
25
+ },
26
+ };
27
+ ```
28
+
29
+ ### Port placeholder
30
+
31
+ Since the port number may change, you can use the `<port>` placeholder to refer to the current port number, and Modern.js will automatically replace the placeholder with the actual listening port number.
32
+
33
+ ```js
34
+ export default {
35
+ dev: {
36
+ startUrl: 'http://localhost:<port>/home',
37
+ },
38
+ };
39
+ ```
40
+
41
+ ### Open the specified browser
42
+
43
+ On MacOS, you can open the specified browser when Dev Server starts, by set environment variable `BROWSER`, support values:
44
+
45
+ - Google Chrome Canary
46
+ - Google Chrome Dev
47
+ - Google Chrome Beta
48
+ - Google Chrome
49
+ - Microsoft Edge
50
+ - Brave Browser
51
+ - Vivaldi
52
+ - Chromium
8
53
 
9
- <Main />
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  title: watchFiles
3
+ configName: dev.watchFiles
3
4
  ---
4
5
 
5
6
  # dev.watchFiles
@@ -9,6 +10,7 @@ title: watchFiles
9
10
  ```ts
10
11
  type WatchFiles = {
11
12
  paths: string | string[];
13
+ type?: 'reload-page' | 'reload-server';
12
14
  // watch options for chokidar
13
15
  options?: WatchOptions;
14
16
  };
@@ -16,44 +18,8 @@ type WatchFiles = {
16
18
 
17
19
  - **Default:** `undefined`
18
20
 
19
- Watch files and directories for changes. When a file changes, the page will be reloaded.
21
+ Watch specified files and directories for changes. When a file change is detected, it can trigger a page reload or restart the dev server.
20
22
 
21
- If both `dev.hmr` and `dev.liveReload` are set to false, `watchFiles` will be ignored.
23
+ import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
22
24
 
23
- :::tip
24
- When files in WatchFiles change, reloading and recompilation of the configuration file will not be triggered.
25
- :::
26
-
27
- ### Example
28
-
29
- You can configure a list of globs/directories/files to watch for file changes.
30
-
31
- ```js
32
- export default {
33
- dev: {
34
- watchFiles: {
35
- // watch a single file
36
- paths: 'public/demo.txt',
37
- // use a glob pattern
38
- paths: 'src/**/*.txt',
39
- // watch multiple file paths
40
- paths: ['src/**/*.txt', 'public/**/*'],
41
- },
42
- },
43
- };
44
- ```
45
-
46
- You can also specify [chokidar](https://github.com/paulmillr/chokidar#api) watcher options by passing an object with `paths` and `options` properties.
47
-
48
- ```js
49
- export default {
50
- dev: {
51
- watchFiles: {
52
- paths: 'src/**/*.txt',
53
- options: {
54
- usePolling: false,
55
- },
56
- },
57
- },
58
- };
59
- ```
25
+ <RsbuildConig />
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  title: writeToDisk
3
+ configName: dev.writeToDisk
3
4
  ---
4
5
 
5
6
  # dev.writeToDisk
@@ -7,32 +8,8 @@ title: writeToDisk
7
8
  - **Type:** `boolean | ((filename: string) => boolean)`
8
9
  - **Default:** `(file) => !file.includes('.hot-update.')`
9
10
 
10
- Used to control whether the build artifacts of the development environment are written to the disk.
11
+ Controls whether the build output from development mode is written to disk.
11
12
 
12
- ## Writing to Memory
13
+ import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
13
14
 
14
- You can choose to save the build artifacts in the memory of the dev server, thereby reducing the overhead caused by file operations.
15
-
16
- Simply set the `dev.writeToDisk` option to `false`:
17
-
18
- ```ts
19
- export default {
20
- dev: {
21
- writeToDisk: false,
22
- },
23
- };
24
- ```
25
-
26
- ## Matching Specific Files
27
-
28
- You can also set `dev.writeToDisk` to a function to match only certain files. When the function returns `false`, the file will not be written; when it returns `true`, the file will be written to disk.
29
-
30
- For example, Modern.js by default write files to disk while excluding hot-update temporary files:
31
-
32
- ```ts
33
- export default {
34
- dev: {
35
- writeToDisk: (file) => !file.includes('.hot-update.'),
36
- },
37
- };
38
- ```
15
+ <RsbuildConig />
@@ -4,6 +4,88 @@ title: lazyCompilation
4
4
 
5
5
  # experiments.lazyCompilation
6
6
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/experiments/lazyCompilation.md';
7
+ - **Type:**
8
8
 
9
- <Main />
9
+ ```ts
10
+ type LazyCompilationOptions =
11
+ | boolean
12
+ | {
13
+ // Whether to enable lazy compilation for entries
14
+ entries?: boolean;
15
+ // Whether to enable lazy compilation for dynamic imports
16
+ imports?: boolean;
17
+ // Specify which imported modules should be lazily compiled.
18
+ test?: RegExp | ((m: Module) => boolean);
19
+ };
20
+ ```
21
+
22
+ - **Default:** `false`
23
+
24
+ Used to enable the lazy compilation (i.e. compile on demand). When this config is enabled, Modern.js will compile entrypoints and dynamic imports only when they are used. It will improve the compilation startup time of the project.
25
+
26
+ Lazy compilation only takes effect in the development.
27
+
28
+ ### Lazy Compilation for Dynamic Imports
29
+
30
+ Lazy compile async modules introduced by [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
+ When `imports` option is enabled, all async modules will only be compiled when requested. If your project is a single-page application, and routing is split through dynamic import, there will be a significant effect of speeding up compilation.
44
+
45
+ ### Lazy Compilation for Entires
46
+
47
+ In addition to lazy compilation for async modules, you can also choose to lazily compile both entries and async modules at the same time.
48
+
49
+ ```ts
50
+ export default {
51
+ experiments: {
52
+ lazyCompilation: {
53
+ imports: true,
54
+ entries: true,
55
+ },
56
+ },
57
+ };
58
+ ```
59
+
60
+ The above config can also be simplified to:
61
+
62
+ ```ts
63
+ export default {
64
+ experiments: {
65
+ lazyCompilation: true,
66
+ },
67
+ };
68
+ ```
69
+
70
+ When `entries` option is enabled, all pages will not be compiled when the compilation is started, and the page will be compiled only when you visit it.
71
+
72
+ When using lazy compilation for entries, there are some considerations:
73
+
74
+ - Only work for multi-page applications, no work for single-page applications.
75
+ - when you visit a page, there will be a white screen for a period of time due to waiting for the page to be compiled.
76
+
77
+ ### Limitations
78
+
79
+ #### Disable split chunks
80
+
81
+ When you enable lazy compilation, in order to ensure the compilation results, Modern.js will disable split chunks in the development. This will not affect the build results in the production, but will cause a difference between the build results of the development and production.
82
+
83
+ #### Use proxy
84
+
85
+ Lazy Compilation relies on the local development server of webpack. When you proxy a domain name to localhost, Lazy Compilation will not work properly. Therefore, if you need to develop with proxy, please disable Lazy Compilation.
86
+
87
+ #### Other Potential Issues
88
+
89
+ Considering that Lazy Compilation is still an experimental feature of webpack, you may encounter some potential issues while using it, such as changes in the behavior of compiled artifacts or compilation errors.
90
+
91
+ When you encounter these issues, you can refer to [webpack Issues](https://github.com/webpack/webpack/issues) to find solutions or disable the `lazyCompilation` configuration option.
@@ -2,8 +2,33 @@
2
2
  title: sourceBuild
3
3
  ---
4
4
 
5
- # experiments.sourceBuild
5
+ - **Type:** `boolean | PluginSourceBuildOptions`
6
+ - **Default:** `false`
7
+ - **Version:** `MAJOR_VERSION.46.0`
6
8
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/experiments/sourceBuild.md';
9
+ Used to enable the ability for source code building. When this configuration option is enabled, Modern.js will read the source code files corresponding to the `source` field in the sub-project's package.json and compile them.
8
10
 
9
- <Main />
11
+ ```ts
12
+ export default {
13
+ experiments: {
14
+ sourceBuild: true,
15
+ },
16
+ };
17
+ ```
18
+
19
+ More detail can see ["Source Code Build Mode"](https://modernjs.dev/en/guides/advanced-features/source-build.html)。
20
+
21
+ ### Options
22
+
23
+ `experiments.sourceBuild` is implemented based on [@rsbuild/plugin-source-build](https://github.com/rspack-contrib/rsbuild-plugin-source-build?tab=readme-ov-file#options). You can pass plugin options like this:
24
+
25
+ ```ts
26
+ export default {
27
+ experiments: {
28
+ sourceBuild: {
29
+ sourceField: 'my-source',
30
+ resolvePriority: 'output',
31
+ },
32
+ },
33
+ };
34
+ ```
@@ -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/en/config/html/appIcon.md';
8
+ - **Type:**
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
+ - **Default:** `undefined`
25
+
26
+ Set the web application icons to display when added to the home screen of a mobile device:
27
+
28
+ - Generate the web app manifest file and its `icons` field.
29
+ - Generate the `apple-touch-icon` and `manifest` tags in the HTML file.
30
+
31
+ ### AppIcon string
32
+
33
+ The `appIcon` configuration of type `string` is a syntactic sugar for the `object` type.
34
+
35
+ ```js
36
+ export default {
37
+ html: {
38
+ appIcon: './src/assets/icon.png',
39
+ },
40
+ };
41
+ ```
42
+
43
+ The above configuration is equivalent to the following configuration:
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-en/components/rsbuild-config-tooltip';
54
+
55
+ <RsbuildConig />
@@ -1,9 +1,15 @@
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/en/config/html/crossorigin.md';
8
+ - **Type:** `boolean | 'anonymous' | 'use-credentials'`
9
+ - **Default:** `false`
8
10
 
9
- <Main />
11
+ Set the [crossorigin](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/crossorigin) attribute of the `<script>` and `<style>` tags.
12
+
13
+ import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
14
+
15
+ <RsbuildConig />
@@ -4,6 +4,39 @@ title: disableHtmlFolder
4
4
 
5
5
  # html.disableHtmlFolder
6
6
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/html/disableHtmlFolder.md';
7
+ - **Type:** `boolean`
8
+ - **Default:** `false`
9
+
10
+ Remove the folder of the HTML files. When this option is enabled, the generated HTML file path will change from `[name]/index.html` to `[name].html`.
11
+
12
+ ### Example
13
+
14
+ By default, the structure of HTML files in the `dist` directory is:
15
+
16
+ ```bash
17
+ /dist
18
+ └── html
19
+ └── main
20
+ └── index.html
21
+ ```
22
+
23
+ Enable the `html.disableHtmlFolder` config:
24
+
25
+ ```js
26
+ export default {
27
+ html: {
28
+ disableHtmlFolder: true,
29
+ },
30
+ };
31
+ ```
32
+
33
+ After recompiling, the directory structure of the HTML files in dist is:
34
+
35
+ ```bash
36
+ /dist
37
+ └── html
38
+ └── main.html
39
+ ```
40
+
41
+ > If you want to set the path of the HTML files, use the `output.distPath.html` config.
8
42
 
9
- <Main />
@@ -4,6 +4,33 @@ title: faviconByEntries
4
4
 
5
5
  # html.faviconByEntries
6
6
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/html/faviconByEntries.md';
7
+ - **Type:** `Record<string, string>`
8
+ - **Default:** `undefined`
8
9
 
9
- <Main />
10
+ Set different favicon for different pages.
11
+
12
+ The usage is same as `favicon`, and you can use the "entry name" as the key to set each page individually.
13
+
14
+ `faviconByEntries` will overrides the value set in `favicon`.
15
+
16
+ :::warning
17
+ **Deprecated**: This configuration is deprecated, please use the function usage of `html.favicon` instead.
18
+ :::
19
+
20
+ ### Example
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
+ After recompiling, you will see:
34
+
35
+ - The favicon for page `foo` is `./src/assets/foo.png`.
36
+ - The favicon for other pages is `./src/assets/default.png`.
@@ -1,9 +1,21 @@
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/en/config/html/favicon.md';
8
+ - **Type:** `string | Function`
9
+ - **Default:** `undefined`
8
10
 
9
- <Main />
11
+ Set the favicon icon path for all pages, can be set as:
12
+
13
+ - a URL.
14
+ - an absolute path to the file.
15
+ - a relative path relative to the project root directory.
16
+
17
+ After config this option, the favicon will be automatically copied to the dist directory during the compilation, and the corresponding `link` tag will be added to the HTML.
18
+
19
+ import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
20
+
21
+ <RsbuildConig />
@@ -4,6 +4,33 @@ title: injectByEntries
4
4
 
5
5
  # html.injectByEntries
6
6
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/html/injectByEntries.md';
7
+ - **Type:** `Record<string, boolean | string>`
8
+ - **Default:** `undefined`
8
9
 
9
- <Main />
10
+ Set different script tag inject positions for different pages.
11
+
12
+ The usage is same as `inject`, and you can use the "entry name" as the key to set each page individually.
13
+
14
+ `injectByEntries` will overrides the value set in `inject`.
15
+
16
+ :::warning
17
+ **Deprecated**: This configuration is deprecated, please use the function usage of `html.inject` instead.
18
+ :::
19
+
20
+ ### Example
21
+
22
+ ```js
23
+ export default {
24
+ html: {
25
+ inject: 'head',
26
+ injectByEntries: {
27
+ foo: 'body',
28
+ },
29
+ },
30
+ };
31
+ ```
32
+
33
+ After recompiling, you will see:
34
+
35
+ - The script tag of the page `foo` will be injected inside the `body` tag.
36
+ - The script tag of other pages will be injected inside the `head` tag.
@@ -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/en/config/html/inject.md';
8
+ - **Type:** `'head' | 'body' | boolean | Function`
9
+ - **Default:** `'head'`
8
10
 
9
- <Main />
11
+ Set the inject position of the `<script>` tag.
12
+
13
+ import RsbuildConig from '@site-docs-en/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/en/config/html/metaByEntries.md';
7
+ - **Type:** `Record<string, Meta>`
8
+ - **Default:** `undefined`
9
+
10
+ Set different meta tags for different pages.
11
+
12
+ The usage is same as `meta`, and you can use the "entry name" as the key to set each page individually.
13
+
14
+ `metaByEntries` will overrides the value set in `meta`.
15
+
16
+ :::warning
17
+ **Deprecated**: This configuration is deprecated, please use the function usage of `html.meta` instead.
18
+ :::
19
+
20
+ ### Example
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
+ After compiling, you can see that the meta of the page `foo` is:
38
+
39
+ ```html
40
+ <meta name="description" content="TikTok" />
41
+ ```
42
+
43
+ The meta of other pages is:
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/en/config/html/meta.md';
8
+ - **Type:** `Object | Function`
9
+ - **Default:**
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
+ Configure the `<meta>` tag of the HTML.
26
+
27
+ import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
28
+
29
+ <RsbuildConig />