@modern-js/main-doc 2.60.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 (315) hide show
  1. package/docs/en/community/contributing-guide.mdx +0 -1
  2. package/docs/en/components/builder.mdx +3 -0
  3. package/docs/en/components/bundler.mdx +3 -0
  4. package/docs/en/components/enableSwc.mdx +17 -0
  5. package/docs/en/components/esbuild.mdx +3 -0
  6. package/docs/en/components/micro-frontend.mdx +6 -0
  7. package/docs/en/components/module-federation.mdx +7 -0
  8. package/docs/en/components/nodeVersion.mdx +26 -0
  9. package/docs/en/components/output-asset-prefix-extend.mdx +0 -0
  10. package/docs/en/components/output-polyfill-extend.mdx +0 -0
  11. package/docs/en/components/prerequisites.mdx +1 -1
  12. package/docs/en/components/rsbuild-config-tooltip.mdx +5 -0
  13. package/docs/en/components/rsbuild.mdx +3 -0
  14. package/docs/en/components/rspack.mdx +3 -0
  15. package/docs/en/components/rspackPrecautions.mdx +6 -0
  16. package/docs/en/components/rspackTip.mdx +7 -0
  17. package/docs/en/components/swc.mdx +3 -0
  18. package/docs/en/configure/app/dev/asset-prefix.mdx +12 -2
  19. package/docs/en/configure/app/dev/before-start-url.mdx +14 -2
  20. package/docs/en/configure/app/dev/client.mdx +20 -16
  21. package/docs/en/configure/app/dev/hmr.mdx +8 -2
  22. package/docs/en/configure/app/dev/host.mdx +15 -2
  23. package/docs/en/configure/app/dev/https.mdx +71 -2
  24. package/docs/en/configure/app/dev/live-reload.mdx +3 -15
  25. package/docs/en/configure/app/dev/port.mdx +18 -2
  26. package/docs/en/configure/app/dev/progress-bar.mdx +17 -2
  27. package/docs/en/configure/app/dev/setup-middlewares.mdx +25 -39
  28. package/docs/en/configure/app/dev/start-url.mdx +46 -2
  29. package/docs/en/configure/app/dev/watch-files.mdx +5 -39
  30. package/docs/en/configure/app/dev/write-to-disk.mdx +4 -27
  31. package/docs/en/configure/app/experiments/lazy-compilation.mdx +84 -2
  32. package/docs/en/configure/app/experiments/source-build.mdx +28 -3
  33. package/docs/en/configure/app/html/app-icon.mdx +48 -2
  34. package/docs/en/configure/app/html/crossorigin.mdx +8 -2
  35. package/docs/en/configure/app/html/disable-html-folder.mdx +35 -2
  36. package/docs/en/configure/app/html/favicon-by-entries.mdx +29 -2
  37. package/docs/en/configure/app/html/favicon.mdx +14 -2
  38. package/docs/en/configure/app/html/inject-by-entries.mdx +29 -2
  39. package/docs/en/configure/app/html/inject.mdx +8 -2
  40. package/docs/en/configure/app/html/meta-by-entries.mdx +41 -2
  41. package/docs/en/configure/app/html/meta.mdx +22 -2
  42. package/docs/en/configure/app/html/mount-id.mdx +8 -2
  43. package/docs/en/configure/app/html/script-loading.mdx +8 -2
  44. package/docs/en/configure/app/html/tags-by-entries.mdx +37 -2
  45. package/docs/en/configure/app/html/tags.mdx +13 -2
  46. package/docs/en/configure/app/html/template-by-entries.mdx +26 -2
  47. package/docs/en/configure/app/html/template-parameters-by-entries.mdx +28 -2
  48. package/docs/en/configure/app/html/template-parameters.mdx +31 -2
  49. package/docs/en/configure/app/html/template.mdx +8 -2
  50. package/docs/en/configure/app/html/title-by-entries.mdx +30 -2
  51. package/docs/en/configure/app/html/title.mdx +16 -2
  52. package/docs/en/configure/app/output/asset-prefix.mdx +12 -2
  53. package/docs/en/configure/app/output/assets-retry.mdx +72 -2
  54. package/docs/en/configure/app/output/charset.mdx +8 -2
  55. package/docs/en/configure/app/output/clean-dist-path.mdx +13 -2
  56. package/docs/en/configure/app/output/convert-to-rem.mdx +76 -2
  57. package/docs/en/configure/app/output/copy.mdx +5 -2
  58. package/docs/en/configure/app/output/css-module-local-ident-name.mdx +14 -2
  59. package/docs/en/configure/app/output/css-modules.mdx +46 -2
  60. package/docs/en/configure/app/output/data-uri-limit.mdx +24 -2
  61. package/docs/en/configure/app/output/disable-css-extract.mdx +9 -2
  62. package/docs/en/configure/app/output/disable-css-module-extension.mdx +52 -2
  63. package/docs/en/configure/app/output/disable-filename-hash.mdx +9 -2
  64. package/docs/en/configure/app/output/disable-inline-runtime-chunk.mdx +38 -2
  65. package/docs/en/configure/app/output/disable-minimize.mdx +7 -2
  66. package/docs/en/configure/app/output/disable-source-map.mdx +24 -2
  67. package/docs/en/configure/app/output/disable-svgr.mdx +13 -2
  68. package/docs/en/configure/app/output/disable-ts-checker.mdx +46 -2
  69. package/docs/en/configure/app/output/dist-path.mdx +39 -2
  70. package/docs/en/configure/app/output/enable-asset-fallback.mdx +29 -2
  71. package/docs/en/configure/app/output/enable-asset-manifest.mdx +33 -2
  72. package/docs/en/configure/app/output/enable-css-module-tsdeclaration.mdx +25 -2
  73. package/docs/en/configure/app/output/enable-inline-scripts.mdx +15 -2
  74. package/docs/en/configure/app/output/enable-inline-styles.mdx +15 -2
  75. package/docs/en/configure/app/output/enable-latest-decorators.mdx +7 -2
  76. package/docs/en/configure/app/output/externals.mdx +18 -2
  77. package/docs/en/configure/app/output/filename-hash.mdx +3 -27
  78. package/docs/en/configure/app/output/filename.mdx +47 -2
  79. package/docs/en/configure/app/output/inject-styles.mdx +15 -0
  80. package/docs/en/configure/app/output/inline-scripts.mdx +34 -0
  81. package/docs/en/configure/app/output/inline-styles.mdx +34 -0
  82. package/docs/en/configure/app/output/legal-comments.mdx +16 -2
  83. package/docs/en/configure/app/output/minify.mdx +27 -0
  84. package/docs/en/configure/app/output/override-browserslist.mdx +18 -2
  85. package/docs/en/configure/app/output/polyfill.mdx +12 -2
  86. package/docs/en/configure/app/output/source-map.mdx +30 -0
  87. package/docs/en/configure/app/output/ssg.mdx +20 -17
  88. package/docs/en/configure/app/output/svg-default-export.mdx +27 -2
  89. package/docs/en/configure/app/performance/build-cache.mdx +78 -2
  90. package/docs/en/configure/app/performance/bundle-analyze.mdx +18 -2
  91. package/docs/en/configure/app/performance/chunk-split.mdx +38 -2
  92. package/docs/en/configure/app/performance/dns-prefetch.mdx +13 -2
  93. package/docs/en/configure/app/performance/preconnect.mdx +14 -2
  94. package/docs/en/configure/app/performance/prefetch.mdx +19 -2
  95. package/docs/en/configure/app/performance/preload.mdx +21 -2
  96. package/docs/en/configure/app/performance/print-file-size.mdx +38 -2
  97. package/docs/en/configure/app/performance/profile.mdx +8 -2
  98. package/docs/en/configure/app/performance/remove-console.mdx +8 -2
  99. package/docs/en/configure/app/performance/remove-moment-locale.mdx +8 -2
  100. package/docs/en/configure/app/performance/transform-lodash.mdx +42 -2
  101. package/docs/en/configure/app/plugins.mdx +1 -1
  102. package/docs/en/configure/app/security/check-syntax.mdx +66 -2
  103. package/docs/en/configure/app/security/nonce.mdx +13 -2
  104. package/docs/en/configure/app/security/sri.mdx +19 -2
  105. package/docs/en/configure/app/server/port.mdx +5 -0
  106. package/docs/en/configure/app/server/ssr.mdx +10 -9
  107. package/docs/en/configure/app/source/alias-strategy.mdx +8 -2
  108. package/docs/en/configure/app/source/alias.mdx +17 -2
  109. package/docs/en/configure/app/source/config-dir.mdx +1 -1
  110. package/docs/en/configure/app/source/decorators.mdx +8 -21
  111. package/docs/en/configure/app/source/define.mdx +14 -2
  112. package/docs/en/configure/app/source/enable-async-entry.mdx +1 -1
  113. package/docs/en/configure/app/source/entries-dir.mdx +1 -1
  114. package/docs/en/configure/app/source/exclude.mdx +8 -2
  115. package/docs/en/configure/app/source/global-vars.mdx +103 -2
  116. package/docs/en/configure/app/source/include.mdx +19 -2
  117. package/docs/en/configure/app/source/mainEntryName.mdx +1 -1
  118. package/docs/en/configure/app/source/module-scopes.mdx +62 -2
  119. package/docs/en/configure/app/source/pre-entry.mdx +8 -2
  120. package/docs/en/configure/app/source/resolve-extension-prefix.mdx +48 -2
  121. package/docs/en/configure/app/source/resolve-main-fields.mdx +39 -2
  122. package/docs/en/configure/app/source/transform-import.mdx +56 -2
  123. package/docs/en/configure/app/tools/autoprefixer.mdx +41 -2
  124. package/docs/en/configure/app/tools/babel.mdx +218 -2
  125. package/docs/en/configure/app/tools/bundler-chain.mdx +23 -2
  126. package/docs/en/configure/app/tools/css-extract.mdx +31 -2
  127. package/docs/en/configure/app/tools/css-loader.mdx +14 -2
  128. package/docs/en/configure/app/tools/dev-server.mdx +435 -2
  129. package/docs/en/configure/app/tools/esbuild.mdx +1 -1
  130. package/docs/en/configure/app/tools/html-plugin.mdx +21 -2
  131. package/docs/en/configure/app/tools/less.mdx +78 -2
  132. package/docs/en/configure/app/tools/minify-css.mdx +50 -2
  133. package/docs/en/configure/app/tools/postcss.mdx +30 -2
  134. package/docs/en/configure/app/tools/pug.mdx +47 -2
  135. package/docs/en/configure/app/tools/rspack.mdx +8 -2
  136. package/docs/en/configure/app/tools/sass.mdx +75 -2
  137. package/docs/en/configure/app/tools/style-loader.mdx +8 -2
  138. package/docs/en/configure/app/tools/styled-components.mdx +48 -2
  139. package/docs/en/configure/app/tools/swc.mdx +33 -2
  140. package/docs/en/configure/app/tools/terser.mdx +49 -2
  141. package/docs/en/configure/app/tools/ts-checker.mdx +49 -2
  142. package/docs/en/configure/app/tools/ts-loader.mdx +63 -2
  143. package/docs/en/configure/app/tools/webpack-chain.mdx +239 -2
  144. package/docs/en/configure/app/tools/webpack.mdx +295 -2
  145. package/docs/en/guides/advanced-features/_meta.json +0 -1
  146. package/docs/en/guides/advanced-features/rspack-start.mdx +2 -2
  147. package/docs/en/guides/basic-features/css/css-modules.mdx +2 -2
  148. package/docs/en/guides/basic-features/output-files.mdx +1 -1
  149. package/docs/en/guides/basic-features/render/ssg.mdx +1 -1
  150. package/docs/en/guides/concept/builder.mdx +1 -1
  151. package/docs/en/guides/get-started/glossary.mdx +7 -7
  152. package/docs/en/guides/get-started/quick-start.mdx +1 -1
  153. package/docs/en/guides/topic-detail/micro-frontend/c01-introduction.mdx +1 -1
  154. package/docs/en/guides/troubleshooting/builder.mdx +2 -2
  155. package/docs/en/plugin/cli-plugins/plugin-swc.mdx +4 -4
  156. package/docs/en/plugin/rsbuild-plugins/plugin-esbuild.mdx +4 -4
  157. package/docs/zh/community/contributing-guide.mdx +0 -1
  158. package/docs/zh/components/builder.mdx +3 -0
  159. package/docs/zh/components/bundler.mdx +4 -0
  160. package/docs/zh/components/enableSwc.mdx +17 -0
  161. package/docs/zh/components/esbuild.mdx +3 -0
  162. package/docs/zh/components/micro-frontend.mdx +6 -0
  163. package/docs/zh/components/module-federation.mdx +7 -0
  164. package/docs/zh/components/nodeVersion.mdx +28 -0
  165. package/docs/zh/components/output-asset-prefix-extend.mdx +0 -0
  166. package/docs/zh/components/output-polyfill-extend.mdx +0 -0
  167. package/docs/zh/components/prerequisites.mdx +1 -1
  168. package/docs/zh/components/rsbuild-config-tooltip.mdx +5 -0
  169. package/docs/zh/components/rsbuild.mdx +3 -0
  170. package/docs/zh/components/rspack.mdx +3 -0
  171. package/docs/zh/components/rspackPrecautions.mdx +6 -0
  172. package/docs/zh/components/rspackTip.mdx +7 -0
  173. package/docs/zh/components/swc.mdx +3 -0
  174. package/docs/zh/configure/app/dev/asset-prefix.mdx +12 -2
  175. package/docs/zh/configure/app/dev/before-start-url.mdx +14 -2
  176. package/docs/zh/configure/app/dev/client.mdx +20 -16
  177. package/docs/zh/configure/app/dev/hmr.mdx +8 -2
  178. package/docs/zh/configure/app/dev/host.mdx +15 -2
  179. package/docs/zh/configure/app/dev/https.mdx +72 -2
  180. package/docs/zh/configure/app/dev/live-reload.mdx +3 -15
  181. package/docs/zh/configure/app/dev/port.mdx +18 -2
  182. package/docs/zh/configure/app/dev/progress-bar.mdx +17 -2
  183. package/docs/zh/configure/app/dev/setup-middlewares.mdx +26 -39
  184. package/docs/zh/configure/app/dev/start-url.mdx +47 -2
  185. package/docs/zh/configure/app/dev/watch-files.mdx +5 -39
  186. package/docs/zh/configure/app/dev/write-to-disk.mdx +3 -26
  187. package/docs/zh/configure/app/experiments/lazy-compilation.mdx +84 -2
  188. package/docs/zh/configure/app/experiments/source-build.mdx +29 -2
  189. package/docs/zh/configure/app/html/app-icon.mdx +48 -2
  190. package/docs/zh/configure/app/html/crossorigin.mdx +9 -2
  191. package/docs/zh/configure/app/html/disable-html-folder.mdx +34 -2
  192. package/docs/zh/configure/app/html/favicon-by-entries.mdx +30 -2
  193. package/docs/zh/configure/app/html/favicon.mdx +15 -2
  194. package/docs/zh/configure/app/html/inject-by-entries.mdx +30 -2
  195. package/docs/zh/configure/app/html/inject.mdx +8 -2
  196. package/docs/zh/configure/app/html/meta-by-entries.mdx +41 -2
  197. package/docs/zh/configure/app/html/meta.mdx +22 -2
  198. package/docs/zh/configure/app/html/mount-id.mdx +8 -2
  199. package/docs/zh/configure/app/html/script-loading.mdx +8 -2
  200. package/docs/zh/configure/app/html/tags-by-entries.mdx +37 -2
  201. package/docs/zh/configure/app/html/tags.mdx +13 -2
  202. package/docs/zh/configure/app/html/template-by-entries.mdx +26 -2
  203. package/docs/zh/configure/app/html/template-parameters-by-entries.mdx +29 -2
  204. package/docs/zh/configure/app/html/template-parameters.mdx +31 -2
  205. package/docs/zh/configure/app/html/template.mdx +8 -2
  206. package/docs/zh/configure/app/html/title-by-entries.mdx +30 -2
  207. package/docs/zh/configure/app/html/title.mdx +16 -2
  208. package/docs/zh/configure/app/output/asset-prefix.mdx +12 -2
  209. package/docs/zh/configure/app/output/assets-retry.mdx +72 -2
  210. package/docs/zh/configure/app/output/charset.mdx +8 -2
  211. package/docs/zh/configure/app/output/clean-dist-path.mdx +13 -2
  212. package/docs/zh/configure/app/output/convert-to-rem.mdx +77 -2
  213. package/docs/zh/configure/app/output/copy.mdx +6 -2
  214. package/docs/zh/configure/app/output/css-module-local-ident-name.mdx +14 -2
  215. package/docs/zh/configure/app/output/css-modules.mdx +46 -2
  216. package/docs/zh/configure/app/output/data-uri-limit.mdx +24 -2
  217. package/docs/zh/configure/app/output/disable-css-extract.mdx +9 -2
  218. package/docs/zh/configure/app/output/disable-css-module-extension.mdx +52 -2
  219. package/docs/zh/configure/app/output/disable-filename-hash.mdx +9 -2
  220. package/docs/zh/configure/app/output/disable-inline-runtime-chunk.mdx +38 -2
  221. package/docs/zh/configure/app/output/disable-minimize.mdx +7 -2
  222. package/docs/zh/configure/app/output/disable-source-map.mdx +24 -2
  223. package/docs/zh/configure/app/output/disable-svgr.mdx +14 -2
  224. package/docs/zh/configure/app/output/disable-ts-checker.mdx +46 -2
  225. package/docs/zh/configure/app/output/dist-path.mdx +39 -2
  226. package/docs/zh/configure/app/output/enable-asset-fallback.mdx +29 -2
  227. package/docs/zh/configure/app/output/enable-asset-manifest.mdx +33 -2
  228. package/docs/zh/configure/app/output/enable-css-module-tsdeclaration.mdx +25 -2
  229. package/docs/zh/configure/app/output/enable-inline-scripts.mdx +15 -2
  230. package/docs/zh/configure/app/output/enable-inline-styles.mdx +15 -2
  231. package/docs/zh/configure/app/output/enable-latest-decorators.mdx +7 -2
  232. package/docs/zh/configure/app/output/externals.mdx +18 -2
  233. package/docs/zh/configure/app/output/filename-hash.mdx +4 -27
  234. package/docs/zh/configure/app/output/filename.mdx +47 -2
  235. package/docs/zh/configure/app/output/inject-styles.mdx +15 -0
  236. package/docs/zh/configure/app/output/inline-scripts.mdx +34 -0
  237. package/docs/zh/configure/app/output/inline-styles.mdx +34 -0
  238. package/docs/zh/configure/app/output/legal-comments.mdx +16 -2
  239. package/docs/zh/configure/app/output/minify.mdx +27 -0
  240. package/docs/zh/configure/app/output/override-browserslist.mdx +20 -2
  241. package/docs/zh/configure/app/output/polyfill.mdx +12 -2
  242. package/docs/zh/configure/app/output/source-map.mdx +30 -0
  243. package/docs/zh/configure/app/output/ssg.mdx +19 -15
  244. package/docs/zh/configure/app/output/svg-default-export.mdx +27 -2
  245. package/docs/zh/configure/app/performance/build-cache.mdx +77 -2
  246. package/docs/zh/configure/app/performance/bundle-analyze.mdx +18 -2
  247. package/docs/zh/configure/app/performance/chunk-split.mdx +38 -2
  248. package/docs/zh/configure/app/performance/dns-prefetch.mdx +13 -2
  249. package/docs/zh/configure/app/performance/preconnect.mdx +14 -2
  250. package/docs/zh/configure/app/performance/prefetch.mdx +19 -2
  251. package/docs/zh/configure/app/performance/preload.mdx +21 -2
  252. package/docs/zh/configure/app/performance/print-file-size.mdx +38 -2
  253. package/docs/zh/configure/app/performance/profile.mdx +8 -2
  254. package/docs/zh/configure/app/performance/remove-console.mdx +8 -2
  255. package/docs/zh/configure/app/performance/remove-moment-locale.mdx +8 -2
  256. package/docs/zh/configure/app/performance/transform-lodash.mdx +42 -2
  257. package/docs/zh/configure/app/plugins.mdx +1 -1
  258. package/docs/zh/configure/app/security/check-syntax.mdx +66 -2
  259. package/docs/zh/configure/app/security/nonce.mdx +13 -2
  260. package/docs/zh/configure/app/security/sri.mdx +19 -2
  261. package/docs/zh/configure/app/server/port.mdx +5 -0
  262. package/docs/zh/configure/app/server/ssr.mdx +10 -9
  263. package/docs/zh/configure/app/source/alias-strategy.mdx +8 -2
  264. package/docs/zh/configure/app/source/alias.mdx +17 -2
  265. package/docs/zh/configure/app/source/config-dir.mdx +1 -1
  266. package/docs/zh/configure/app/source/decorators.mdx +8 -20
  267. package/docs/zh/configure/app/source/define.mdx +14 -2
  268. package/docs/zh/configure/app/source/enable-async-entry.mdx +1 -1
  269. package/docs/zh/configure/app/source/entries-dir.mdx +1 -1
  270. package/docs/zh/configure/app/source/exclude.mdx +8 -2
  271. package/docs/zh/configure/app/source/global-vars.mdx +102 -2
  272. package/docs/zh/configure/app/source/include.mdx +19 -2
  273. package/docs/zh/configure/app/source/mainEntryName.mdx +1 -1
  274. package/docs/zh/configure/app/source/module-scopes.mdx +62 -2
  275. package/docs/zh/configure/app/source/pre-entry.mdx +8 -2
  276. package/docs/zh/configure/app/source/resolve-extension-prefix.mdx +50 -2
  277. package/docs/zh/configure/app/source/resolve-main-fields.mdx +39 -2
  278. package/docs/zh/configure/app/source/transform-import.mdx +56 -2
  279. package/docs/zh/configure/app/tools/autoprefixer.mdx +41 -2
  280. package/docs/zh/configure/app/tools/babel.mdx +218 -2
  281. package/docs/zh/configure/app/tools/bundler-chain.mdx +26 -2
  282. package/docs/zh/configure/app/tools/css-extract.mdx +28 -2
  283. package/docs/zh/configure/app/tools/css-loader.mdx +15 -2
  284. package/docs/zh/configure/app/tools/dev-server.mdx +435 -2
  285. package/docs/zh/configure/app/tools/esbuild.mdx +1 -1
  286. package/docs/zh/configure/app/tools/html-plugin.mdx +21 -2
  287. package/docs/zh/configure/app/tools/less.mdx +79 -2
  288. package/docs/zh/configure/app/tools/minify-css.mdx +50 -2
  289. package/docs/zh/configure/app/tools/postcss.mdx +31 -2
  290. package/docs/zh/configure/app/tools/pug.mdx +47 -2
  291. package/docs/zh/configure/app/tools/rspack.mdx +8 -2
  292. package/docs/zh/configure/app/tools/sass.mdx +73 -2
  293. package/docs/zh/configure/app/tools/style-loader.mdx +8 -2
  294. package/docs/zh/configure/app/tools/styled-components.mdx +47 -2
  295. package/docs/zh/configure/app/tools/swc.mdx +33 -2
  296. package/docs/zh/configure/app/tools/terser.mdx +49 -2
  297. package/docs/zh/configure/app/tools/ts-checker.mdx +49 -2
  298. package/docs/zh/configure/app/tools/ts-loader.mdx +63 -2
  299. package/docs/zh/configure/app/tools/webpack-chain.mdx +243 -2
  300. package/docs/zh/configure/app/tools/webpack.mdx +295 -2
  301. package/docs/zh/guides/advanced-features/_meta.json +0 -1
  302. package/docs/zh/guides/advanced-features/rspack-start.mdx +2 -2
  303. package/docs/zh/guides/basic-features/css/css-modules.mdx +1 -1
  304. package/docs/zh/guides/basic-features/output-files.mdx +2 -2
  305. package/docs/zh/guides/concept/builder.mdx +1 -1
  306. package/docs/zh/guides/get-started/glossary.mdx +7 -7
  307. package/docs/zh/guides/get-started/quick-start.mdx +1 -1
  308. package/docs/zh/guides/topic-detail/micro-frontend/c01-introduction.mdx +1 -1
  309. package/docs/zh/guides/troubleshooting/builder.mdx +2 -2
  310. package/docs/zh/plugin/cli-plugins/plugin-swc.mdx +4 -4
  311. package/docs/zh/plugin/rsbuild-plugins/plugin-esbuild.mdx +6 -6
  312. package/package.json +6 -12
  313. package/src/components/RsbuildLink/index.tsx +19 -0
  314. /package/docs/en/configure/app/output/{splitRouteChunks.mdx → split-route-chunks.mdx} +0 -0
  315. /package/docs/zh/configure/app/output/{splitRouteChunks.mdx → split-route-chunks.mdx} +0 -0
@@ -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 />
@@ -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/en/config/html/mountId.md';
8
+ - **Type:** `string`
9
+ - **Default:** `'root'`
8
10
 
9
- <Main />
11
+ By default, the `root` element is included in the HTML template for component mounting, and the element id can be modified through `mountId`.
12
+
13
+ import RsbuildConig from '@site-docs-en/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/en/config/html/scriptLoading.md';
8
+ - **Type:** `'defer' | 'blocking' | 'module'`
9
+ - **Default:** `'defer'`
8
10
 
9
- <Main />
11
+ Used to set how `<script>` tags are loaded.
12
+
13
+ import RsbuildConig from '@site-docs-en/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/en/config/html/tagsByEntries.md';
7
+ - **Type:** `Record<string, ArrayOrNot<HtmlInjectTag | HtmlInjectTagHandler>>`
8
+ - **Default:** `undefined`
9
+
10
+ Used for multiple entry applications, injecting different tags for each entry.
11
+
12
+ The usage is the same as `tags`, and you can use the "entry name" as the key to set each page individually.
13
+
14
+ `tagsByEntries` will override the value set in `tags`.
15
+
16
+ :::warning
17
+ **Deprecated**: This configuration is deprecated, please use the function usage of `html.tags` instead.
18
+ :::
19
+
20
+ ### Example
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
+ Compile the application and you can see a tag injected on the `foo` page:
34
+
35
+ ```html
36
+ <script src="b.js"></script>
37
+ ```
38
+
39
+ And for any other pages:
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/en/config/html/tags.md';
8
+ - **Type:**
8
9
 
9
- <Main />
10
+ ```ts
11
+ type TagsConfig = HtmlTag | HtmlTagHandler | Array<HtmlTag | HtmlTagHandler>;
12
+ ```
13
+
14
+ - **Default:** `undefined`
15
+
16
+ Modifies the tags that are injected into the HTML page.
17
+
18
+ import RsbuildConig from '@site-docs-en/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/en/config/html/templateByEntries.md';
7
+ - **Type:** `Object`
8
+ - **Default:** `undefined`
9
+
10
+ Set different template file for different pages.
11
+
12
+ The usage is same as `template`, and you can use the "entry name" as the key to set each page individually.
13
+
14
+ `templateByEntries` will overrides the value set in `template`.
15
+
16
+ :::warning
17
+ **Deprecated**: This configuration is deprecated, please use the function usage of `html.template` instead.
18
+ :::
19
+
20
+ ### Example
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,32 @@ title: templateParametersByEntries
4
4
 
5
5
  # html.templateParametersByEntries
6
6
 
7
- import Main from '@modern-js/builder-doc/docs/en/config/html/templateParametersByEntries.md';
7
+ - **Type:** `Object`
8
+ - **Default:** `undefined`
8
9
 
9
- <Main />
10
+ Set different template parameters for different pages.
11
+
12
+ The usage is same as `templateParameters`, and you can use the "entry name" as the key to set each page individually.
13
+
14
+ `templateParametersByEntries` will overrides the value set in `templateParameters`.
15
+
16
+ :::warning
17
+ **Deprecated**: This configuration is deprecated, please use the function usage of `html.templateParameters` instead.
18
+ :::
19
+
20
+ ### Example
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
+ ```