@modern-js/main-doc 2.67.4 → 2.67.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. package/docs/en/apis/app/hooks/server/server.mdx +10 -0
  2. package/docs/en/apis/app/hooks/src/routes.mdx +3 -3
  3. package/docs/en/apis/app/runtime/bff/use-hono-context.mdx +30 -0
  4. package/docs/en/components/enable-bff.mdx +1 -27
  5. package/docs/en/components/rsbuild-config-tooltip.mdx +2 -2
  6. package/docs/en/components/tech-stack-node-framework.mdx +1 -1
  7. package/docs/en/configure/app/dev/asset-prefix.mdx +2 -3
  8. package/docs/en/configure/app/dev/client.mdx +2 -3
  9. package/docs/en/configure/app/dev/hmr.mdx +2 -3
  10. package/docs/en/configure/app/dev/live-reload.mdx +2 -3
  11. package/docs/en/configure/app/dev/progress-bar.mdx +2 -3
  12. package/docs/en/configure/app/dev/setup-middlewares.mdx +2 -3
  13. package/docs/en/configure/app/dev/watch-files.mdx +2 -3
  14. package/docs/en/configure/app/dev/write-to-disk.mdx +2 -3
  15. package/docs/en/configure/app/html/app-icon.mdx +2 -3
  16. package/docs/en/configure/app/html/crossorigin.mdx +2 -3
  17. package/docs/en/configure/app/html/favicon.mdx +2 -3
  18. package/docs/en/configure/app/html/inject.mdx +2 -3
  19. package/docs/en/configure/app/html/meta.mdx +2 -3
  20. package/docs/en/configure/app/html/mount-id.mdx +2 -3
  21. package/docs/en/configure/app/html/output-structure.mdx +2 -3
  22. package/docs/en/configure/app/html/script-loading.mdx +2 -3
  23. package/docs/en/configure/app/html/tags.mdx +2 -3
  24. package/docs/en/configure/app/html/template-parameters.mdx +2 -3
  25. package/docs/en/configure/app/html/template.mdx +2 -3
  26. package/docs/en/configure/app/html/title.mdx +2 -3
  27. package/docs/en/configure/app/output/asset-prefix.mdx +2 -3
  28. package/docs/en/configure/app/output/charset.mdx +2 -3
  29. package/docs/en/configure/app/output/copy.mdx +2 -3
  30. package/docs/en/configure/app/output/css-modules.mdx +2 -3
  31. package/docs/en/configure/app/output/data-uri-limit.mdx +2 -3
  32. package/docs/en/configure/app/output/dist-path.mdx +2 -4
  33. package/docs/en/configure/app/output/externals.mdx +2 -3
  34. package/docs/en/configure/app/output/filename-hash.mdx +2 -3
  35. package/docs/en/configure/app/output/filename.mdx +2 -3
  36. package/docs/en/configure/app/output/inject-styles.mdx +2 -3
  37. package/docs/en/configure/app/output/inline-scripts.mdx +2 -3
  38. package/docs/en/configure/app/output/inline-styles.mdx +2 -3
  39. package/docs/en/configure/app/output/legal-comments.mdx +2 -3
  40. package/docs/en/configure/app/output/minify.mdx +2 -3
  41. package/docs/en/configure/app/output/override-browserslist.mdx +2 -3
  42. package/docs/en/configure/app/output/polyfill.mdx +2 -3
  43. package/docs/en/configure/app/output/source-map.mdx +2 -3
  44. package/docs/en/configure/app/performance/build-cache.mdx +2 -3
  45. package/docs/en/configure/app/performance/bundle-analyze.mdx +2 -3
  46. package/docs/en/configure/app/performance/chunk-split.mdx +2 -3
  47. package/docs/en/configure/app/performance/dns-prefetch.mdx +2 -3
  48. package/docs/en/configure/app/performance/preconnect.mdx +2 -3
  49. package/docs/en/configure/app/performance/prefetch.mdx +2 -3
  50. package/docs/en/configure/app/performance/preload.mdx +2 -3
  51. package/docs/en/configure/app/performance/print-file-size.mdx +2 -3
  52. package/docs/en/configure/app/performance/profile.mdx +2 -3
  53. package/docs/en/configure/app/performance/remove-console.mdx +2 -3
  54. package/docs/en/configure/app/performance/remove-moment-locale.mdx +2 -3
  55. package/docs/en/configure/app/plugins.mdx +13 -33
  56. package/docs/en/configure/app/runtime/master-app.mdx +1 -5
  57. package/docs/en/configure/app/runtime/plugins.mdx +58 -0
  58. package/docs/en/configure/app/security/nonce.mdx +2 -3
  59. package/docs/en/configure/app/security/sri.mdx +0 -1
  60. package/docs/en/configure/app/server/port.mdx +2 -3
  61. package/docs/en/configure/app/source/alias-strategy.mdx +2 -3
  62. package/docs/en/configure/app/source/alias.mdx +2 -3
  63. package/docs/en/configure/app/source/decorators.mdx +2 -3
  64. package/docs/en/configure/app/source/define.mdx +2 -3
  65. package/docs/en/configure/app/source/exclude.mdx +2 -3
  66. package/docs/en/configure/app/source/include.mdx +2 -3
  67. package/docs/en/configure/app/source/pre-entry.mdx +2 -3
  68. package/docs/en/configure/app/source/transform-import.mdx +2 -3
  69. package/docs/en/configure/app/tools/css-extract.mdx +2 -3
  70. package/docs/en/configure/app/tools/css-loader.mdx +2 -2
  71. package/docs/en/configure/app/tools/html-plugin.mdx +7 -3
  72. package/docs/en/configure/app/tools/lightningcss-loader.mdx +2 -3
  73. package/docs/en/configure/app/tools/postcss.mdx +2 -3
  74. package/docs/en/configure/app/tools/rspack.mdx +2 -3
  75. package/docs/en/configure/app/tools/style-loader.mdx +2 -3
  76. package/docs/en/configure/app/tools/swc.mdx +1 -1
  77. package/docs/en/configure/app/usage.mdx +1 -1
  78. package/docs/en/guides/advanced-features/bff/extend-server.mdx +33 -82
  79. package/docs/en/guides/advanced-features/bff/frameworks.mdx +12 -68
  80. package/docs/en/guides/advanced-features/bff.mdx +1 -1
  81. package/docs/en/guides/advanced-features/compatibility.mdx +1 -1
  82. package/docs/en/guides/advanced-features/page-performance/_meta.json +1 -1
  83. package/docs/en/guides/advanced-features/page-performance/inline-assets.mdx +2 -0
  84. package/docs/en/guides/advanced-features/page-performance/optimize-bundle.mdx +1 -1
  85. package/docs/en/guides/advanced-features/page-performance/react-compiler.mdx +44 -0
  86. package/docs/en/guides/advanced-features/web-server.mdx +378 -14
  87. package/docs/en/guides/basic-features/data/data-fetch.mdx +2 -1
  88. package/docs/en/guides/basic-features/deploy.mdx +3 -3
  89. package/docs/en/guides/basic-features/html.mdx +3 -3
  90. package/docs/en/guides/basic-features/output-files.mdx +0 -28
  91. package/docs/en/guides/basic-features/render/ssr.mdx +2 -2
  92. package/docs/en/guides/concept/entries.mdx +1 -1
  93. package/docs/en/plugin/cli-plugins/api.mdx +6 -0
  94. package/docs/en/plugin/runtime-plugins/api.mdx +37 -12
  95. package/docs/en/tutorials/first-app/c04-routes.mdx +4 -2
  96. package/docs/en/tutorials/first-app/c05-loader.mdx +5 -2
  97. package/docs/zh/apis/app/hooks/server/server.mdx +10 -0
  98. package/docs/zh/apis/app/hooks/src/routes.mdx +3 -3
  99. package/docs/zh/apis/app/runtime/bff/use-hono-context.mdx +31 -0
  100. package/docs/zh/components/enable-bff.mdx +2 -27
  101. package/docs/zh/components/rsbuild-config-tooltip.mdx +2 -2
  102. package/docs/zh/components/tech-stack-node-framework.mdx +1 -1
  103. package/docs/zh/configure/app/dev/asset-prefix.mdx +2 -3
  104. package/docs/zh/configure/app/dev/client.mdx +2 -3
  105. package/docs/zh/configure/app/dev/hmr.mdx +2 -3
  106. package/docs/zh/configure/app/dev/live-reload.mdx +2 -3
  107. package/docs/zh/configure/app/dev/progress-bar.mdx +2 -3
  108. package/docs/zh/configure/app/dev/setup-middlewares.mdx +2 -3
  109. package/docs/zh/configure/app/dev/watch-files.mdx +2 -3
  110. package/docs/zh/configure/app/dev/write-to-disk.mdx +2 -3
  111. package/docs/zh/configure/app/html/app-icon.mdx +2 -3
  112. package/docs/zh/configure/app/html/crossorigin.mdx +2 -3
  113. package/docs/zh/configure/app/html/favicon.mdx +2 -3
  114. package/docs/zh/configure/app/html/inject.mdx +2 -3
  115. package/docs/zh/configure/app/html/meta.mdx +2 -3
  116. package/docs/zh/configure/app/html/mount-id.mdx +2 -3
  117. package/docs/zh/configure/app/html/output-structure.mdx +2 -3
  118. package/docs/zh/configure/app/html/script-loading.mdx +2 -3
  119. package/docs/zh/configure/app/html/tags.mdx +2 -3
  120. package/docs/zh/configure/app/html/template-parameters.mdx +2 -3
  121. package/docs/zh/configure/app/html/template.mdx +2 -3
  122. package/docs/zh/configure/app/html/title.mdx +2 -3
  123. package/docs/zh/configure/app/output/asset-prefix.mdx +2 -3
  124. package/docs/zh/configure/app/output/charset.mdx +2 -3
  125. package/docs/zh/configure/app/output/copy.mdx +2 -3
  126. package/docs/zh/configure/app/output/css-modules.mdx +2 -3
  127. package/docs/zh/configure/app/output/data-uri-limit.mdx +2 -3
  128. package/docs/zh/configure/app/output/dist-path.mdx +2 -4
  129. package/docs/zh/configure/app/output/externals.mdx +2 -3
  130. package/docs/zh/configure/app/output/filename-hash.mdx +2 -3
  131. package/docs/zh/configure/app/output/filename.mdx +2 -3
  132. package/docs/zh/configure/app/output/inject-styles.mdx +2 -3
  133. package/docs/zh/configure/app/output/inline-scripts.mdx +2 -3
  134. package/docs/zh/configure/app/output/inline-styles.mdx +2 -3
  135. package/docs/zh/configure/app/output/legal-comments.mdx +2 -3
  136. package/docs/zh/configure/app/output/minify.mdx +2 -3
  137. package/docs/zh/configure/app/output/override-browserslist.mdx +2 -3
  138. package/docs/zh/configure/app/output/polyfill.mdx +2 -3
  139. package/docs/zh/configure/app/output/source-map.mdx +2 -3
  140. package/docs/zh/configure/app/performance/build-cache.mdx +2 -3
  141. package/docs/zh/configure/app/performance/bundle-analyze.mdx +2 -3
  142. package/docs/zh/configure/app/performance/chunk-split.mdx +2 -3
  143. package/docs/zh/configure/app/performance/dns-prefetch.mdx +2 -3
  144. package/docs/zh/configure/app/performance/preconnect.mdx +2 -3
  145. package/docs/zh/configure/app/performance/prefetch.mdx +2 -3
  146. package/docs/zh/configure/app/performance/preload.mdx +2 -3
  147. package/docs/zh/configure/app/performance/print-file-size.mdx +2 -3
  148. package/docs/zh/configure/app/performance/profile.mdx +2 -3
  149. package/docs/zh/configure/app/performance/remove-console.mdx +2 -3
  150. package/docs/zh/configure/app/performance/remove-moment-locale.mdx +2 -3
  151. package/docs/zh/configure/app/plugins.mdx +3 -24
  152. package/docs/zh/configure/app/runtime/master-app.mdx +1 -5
  153. package/docs/zh/configure/app/runtime/plugins.mdx +58 -0
  154. package/docs/zh/configure/app/security/nonce.mdx +2 -3
  155. package/docs/zh/configure/app/security/sri.mdx +0 -1
  156. package/docs/zh/configure/app/server/port.mdx +2 -3
  157. package/docs/zh/configure/app/source/alias-strategy.mdx +2 -3
  158. package/docs/zh/configure/app/source/alias.mdx +2 -3
  159. package/docs/zh/configure/app/source/decorators.mdx +2 -3
  160. package/docs/zh/configure/app/source/define.mdx +2 -3
  161. package/docs/zh/configure/app/source/exclude.mdx +2 -3
  162. package/docs/zh/configure/app/source/include.mdx +2 -3
  163. package/docs/zh/configure/app/source/pre-entry.mdx +2 -3
  164. package/docs/zh/configure/app/source/transform-import.mdx +2 -3
  165. package/docs/zh/configure/app/tools/css-extract.mdx +2 -3
  166. package/docs/zh/configure/app/tools/css-loader.mdx +2 -3
  167. package/docs/zh/configure/app/tools/html-plugin.mdx +6 -3
  168. package/docs/zh/configure/app/tools/lightningcss-loader.mdx +2 -3
  169. package/docs/zh/configure/app/tools/postcss.mdx +2 -3
  170. package/docs/zh/configure/app/tools/rspack.mdx +2 -3
  171. package/docs/zh/configure/app/tools/style-loader.mdx +2 -3
  172. package/docs/zh/configure/app/tools/swc.mdx +1 -1
  173. package/docs/zh/configure/app/usage.mdx +1 -1
  174. package/docs/zh/guides/advanced-features/bff/extend-server.mdx +28 -76
  175. package/docs/zh/guides/advanced-features/bff/frameworks.mdx +6 -66
  176. package/docs/zh/guides/advanced-features/page-performance/_meta.json +1 -1
  177. package/docs/zh/guides/advanced-features/page-performance/react-compiler.mdx +44 -0
  178. package/docs/zh/guides/advanced-features/web-server.mdx +375 -18
  179. package/docs/zh/guides/basic-features/deploy.mdx +4 -3
  180. package/docs/zh/guides/basic-features/output-files.mdx +0 -28
  181. package/docs/zh/plugin/cli-plugins/api.mdx +6 -0
  182. package/docs/zh/plugin/runtime-plugins/api.mdx +37 -12
  183. package/docs/zh/tutorials/first-app/c04-routes.mdx +4 -2
  184. package/docs/zh/tutorials/first-app/c05-loader.mdx +4 -1
  185. package/package.json +7 -4
  186. package/rspress.config.ts +16 -1
  187. package/src/components/RsbuildLink/index.tsx +2 -2
  188. package/src/i18n/index.ts +1 -1
  189. package/src/index.ts +1 -5
  190. package/src/pages/index.tsx +3 -3
  191. package/docs/en/apis/app/hooks/api/middleware.mdx +0 -11
  192. package/docs/en/apis/app/runtime/bff/hook.mdx +0 -44
  193. package/docs/en/apis/app/runtime/bff/use-context.mdx +0 -38
  194. package/docs/en/configure/app/bff/enable-handle-web.mdx +0 -24
  195. package/docs/zh/apis/app/hooks/api/middleware.mdx +0 -11
  196. package/docs/zh/apis/app/runtime/bff/hook.mdx +0 -44
  197. package/docs/zh/apis/app/runtime/bff/use-context.mdx +0 -38
  198. package/docs/zh/configure/app/bff/enable-handle-web.mdx +0 -24
@@ -1,6 +1,5 @@
1
1
  ---
2
2
  title: legalComments
3
- configName: output.legalComments
4
3
  ---
5
4
 
6
5
  # output.legalComments
@@ -18,6 +17,6 @@ This behavior can be configured by using one of the following options:
18
17
  - `inline`: Preserve all legal comments in original position.
19
18
  - `none`: Remove all legal comments.
20
19
 
21
- import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
20
+ import RsbuildConfig from '@site-docs-en/components/rsbuild-config-tooltip';
22
21
 
23
- <RsbuildConig />
22
+ <RsbuildConfig configName="output.legalComments" />
@@ -1,6 +1,5 @@
1
1
  ---
2
2
  title: minify
3
- configName: output.minify
4
3
  ---
5
4
 
6
5
  # output.minify
@@ -22,6 +21,6 @@ type Minify =
22
21
 
23
22
  Configure whether to enable code minification in production mode, or to configure minimizer options.
24
23
 
25
- import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
24
+ import RsbuildConfig from '@site-docs-en/components/rsbuild-config-tooltip';
26
25
 
27
- <RsbuildConig />
26
+ <RsbuildConfig configName="output.minify" />
@@ -1,6 +1,5 @@
1
1
  ---
2
2
  title: overrideBrowserslist
3
- configName: output.overrideBrowserslist
4
3
  ---
5
4
 
6
5
  # output.overrideBrowserslist
@@ -20,6 +19,6 @@ Modern.js will give priority to using the configuration in the `.browserslistrc`
20
19
 
21
20
  Specifies the range of target browsers that the project is compatible with. This value will be used by [SWC](https://github.com/swc-project/swc) and [autoprefixer](https://github.com/postcss/autoprefixer) to identify the JavaScript syntax that need to be transformed and the CSS browser prefixes that need to be added.
22
21
 
23
- import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
22
+ import RsbuildConfig from '@site-docs-en/components/rsbuild-config-tooltip';
24
23
 
25
- <RsbuildConig />
24
+ <RsbuildConfig configName="output.overrideBrowserslist" />
@@ -1,6 +1,5 @@
1
1
  ---
2
2
  title: polyfill
3
- configName: output.polyfill
4
3
  ---
5
4
 
6
5
  # output.polyfill
@@ -14,6 +13,6 @@ import OutputPolyfillExtend from '@site-docs-en/components/output-polyfill-exten
14
13
 
15
14
  <OutputPolyfillExtend />
16
15
 
17
- import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
16
+ import RsbuildConfig from '@site-docs-en/components/rsbuild-config-tooltip';
18
17
 
19
- <RsbuildConig />
18
+ <RsbuildConfig configName="output.polyfill" />
@@ -1,6 +1,5 @@
1
1
  ---
2
2
  title: sourceMap
3
- configName: output.sourceMap
4
3
  ---
5
4
 
6
5
  # output.sourceMap
@@ -27,6 +26,6 @@ const defaultSourceMap = {
27
26
 
28
27
  Used to set whether to generate source map files, and which format of source map to generate.
29
28
 
30
- import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
29
+ import RsbuildConfig from '@site-docs-en/components/rsbuild-config-tooltip';
31
30
 
32
- <RsbuildConig />
31
+ <RsbuildConfig configName="output.sourceMap" />
@@ -1,6 +1,5 @@
1
1
  ---
2
2
  title: buildCache
3
- configName: performance.buildCache
4
3
  ---
5
4
 
6
5
  # performance.buildCache
@@ -41,6 +40,6 @@ export default {
41
40
 
42
41
  It should be noted that, Rspack's persistent cache is [experimental](https://rspack.dev/config/experiments#experimentscache), which may change in future versions, and this feature needs to be turned on manually.
43
42
 
44
- import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
43
+ import RsbuildConfig from '@site-docs-en/components/rsbuild-config-tooltip';
45
44
 
46
- <RsbuildConig />
45
+ <RsbuildConfig configName="performance.buildCache" />
@@ -1,6 +1,5 @@
1
1
  ---
2
2
  title: bundleAnalyze
3
- configName: performance.bundleAnalyze
4
3
  ---
5
4
 
6
5
  # performance.bundleAnalyze
@@ -20,6 +19,6 @@ const defaultConfig = {
20
19
  };
21
20
  ```
22
21
 
23
- import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
22
+ import RsbuildConfig from '@site-docs-en/components/rsbuild-config-tooltip';
24
23
 
25
- <RsbuildConig />
24
+ <RsbuildConfig configName="performance.bundleAnalyze" />
@@ -1,6 +1,5 @@
1
1
  ---
2
2
  title: chunkSplit
3
- configName: performance.chunkSplit
4
3
  ---
5
4
 
6
5
  # performance.chunkSplit
@@ -40,6 +39,6 @@ interface SplitCustom {
40
39
  export type ChunkSplit = BaseChunkSplit | SplitBySize | SplitCustom;
41
40
  ```
42
41
 
43
- import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
42
+ import RsbuildConfig from '@site-docs-en/components/rsbuild-config-tooltip';
44
43
 
45
- <RsbuildConig />
44
+ <RsbuildConfig configName="performance.chunkSplit" />
@@ -1,6 +1,5 @@
1
1
  ---
2
2
  title: dnsPrefetch
3
- configName: performance.dnsPrefetch
4
3
  ---
5
4
 
6
5
  # performance.dnsPrefetch
@@ -15,6 +14,6 @@ After this property is set, the domain name can be resolved before the resource
15
14
 
16
15
  See [Using dns-prefetch](https://developer.mozilla.org/en-US/docs/Web/Performance/dns-prefetch) for more details.
17
16
 
18
- import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
17
+ import RsbuildConfig from '@site-docs-en/components/rsbuild-config-tooltip';
19
18
 
20
- <RsbuildConig />
19
+ <RsbuildConfig configName="performance.dnsPrefetch" />
@@ -1,6 +1,5 @@
1
1
  ---
2
2
  title: preconnect
3
- configName: performance.preconnect
4
3
  ---
5
4
 
6
5
  # performance.preconnect
@@ -16,6 +15,6 @@ interface PreconnectOption {
16
15
 
17
16
  - **Default:** `undefined`
18
17
 
19
- import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
18
+ import RsbuildConfig from '@site-docs-en/components/rsbuild-config-tooltip';
20
19
 
21
- <RsbuildConig />
20
+ <RsbuildConfig configName="performance.preconnect" />
@@ -1,6 +1,5 @@
1
1
  ---
2
2
  title: prefetch
3
- configName: performance.prefetch
4
3
  ---
5
4
 
6
5
  # performance.prefetch
@@ -21,6 +20,6 @@ interface PrefetchOption {
21
20
 
22
21
  - **Default:** `undefined`
23
22
 
24
- import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
23
+ import RsbuildConfig from '@site-docs-en/components/rsbuild-config-tooltip';
25
24
 
26
- <RsbuildConig />
25
+ <RsbuildConfig configName="performance.prefetch" />
@@ -1,6 +1,5 @@
1
1
  ---
2
2
  title: preload
3
- configName: performance.preload
4
3
  ---
5
4
 
6
5
  # performance.preload
@@ -23,6 +22,6 @@ interface PreloadOption {
23
22
 
24
23
  Inject the [`<link rel="preload">`](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Attributes/rel/preload) tags for the static assets generated by Rsbuild.
25
24
 
26
- import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
25
+ import RsbuildConfig from '@site-docs-en/components/rsbuild-config-tooltip';
27
26
 
28
- <RsbuildConig />
27
+ <RsbuildConfig configName="performance.preload" />
@@ -1,6 +1,5 @@
1
1
  ---
2
2
  title: printFileSize
3
- configName: performance.printFileSize
4
3
  ---
5
4
 
6
5
  # performance.printFileSize
@@ -40,6 +39,6 @@ info Production file sizes:
40
39
  dist/static/css/main.03221f72.css 1.4 kB 741 B
41
40
  ```
42
41
 
43
- import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
42
+ import RsbuildConfig from '@site-docs-en/components/rsbuild-config-tooltip';
44
43
 
45
- <RsbuildConig />
44
+ <RsbuildConfig configName="performance.printFileSize" />
@@ -1,6 +1,5 @@
1
1
  ---
2
2
  title: profile
3
- configName: performance.profile
4
3
  ---
5
4
 
6
5
  # performance.profile
@@ -10,6 +9,6 @@ configName: performance.profile
10
9
 
11
10
  Whether capture timing information for each module, same as the [profile](https://webpack.js.org/configuration/other-options/#profile) config of Rspack.
12
11
 
13
- import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
12
+ import RsbuildConfig from '@site-docs-en/components/rsbuild-config-tooltip';
14
13
 
15
- <RsbuildConig />
14
+ <RsbuildConfig configName="performance.profile" />
@@ -1,6 +1,5 @@
1
1
  ---
2
2
  title: removeConsole
3
- configName: performance.removeConsole
4
3
  ---
5
4
 
6
5
  # performance.removeConsole
@@ -10,6 +9,6 @@ configName: performance.removeConsole
10
9
 
11
10
  Whether to remove `console.[methodName]` in production build.
12
11
 
13
- import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
12
+ import RsbuildConfig from '@site-docs-en/components/rsbuild-config-tooltip';
14
13
 
15
- <RsbuildConig />
14
+ <RsbuildConfig configName="performance.removeConsole" />
@@ -1,6 +1,5 @@
1
1
  ---
2
2
  title: removeMomentLocale
3
- configName: performance.removeMomentLocale
4
3
  ---
5
4
 
6
5
  # performance.removeMomentLocale
@@ -10,6 +9,6 @@ configName: performance.removeMomentLocale
10
9
 
11
10
  Whether to remove the locales of [moment.js](https://momentjs.com/).
12
11
 
13
- import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
12
+ import RsbuildConfig from '@site-docs-en/components/rsbuild-config-tooltip';
14
13
 
15
- <RsbuildConig />
14
+ <RsbuildConfig configName="performance.removeMomentLocale" />
@@ -1,47 +1,27 @@
1
- ---
2
- sidebar_position: 9
3
- ---
4
-
5
1
  # plugins
6
2
 
7
3
  - **Type:** `CliPlugin[]`
8
4
  - **Default:** `[]`
9
5
 
10
- Used to configure custom Modern.js framework plugins.
11
-
12
- Refer to [How to Develop Plugins](/plugin/plugin-system) for how to write custom plugins.
6
+ Used to configure custom Modern.js framework CLI plugins. For information on how to create custom CLI plugins, please refer to [How to Write CLI Plugins](/plugin/introduction.html#cli-plugins).
13
7
 
14
8
  ## Note
15
9
 
16
- This option is used to configure framework plugins. If you need to configure other types of plugins, please choose the corresponding configuration method:
17
-
18
- - Use [builderPlugins](/configure/app/builder-plugins) to configure Rsbuild plugins.
19
- - Use [tools.bundlerChain](/configure/app/tools/bundler-chain) to configure Rspack or webpack plugins.
20
- - Use [tools.babel](/configure/app/tools/babel) to configure Babel plugins.
21
-
22
- ## Plugin types
23
-
24
- Modern.js has three types of plugins:
25
-
26
- - `CLI plugins`, applicable to local development, compilation and construction stages, can extend various capabilities in the command line and compilation stages.
27
- - `Server plugins`, applicable to the server.
28
- - `Runtime plugins`, applicable to the front-end runtime.
29
-
30
- Currently, Modern.js has opened up the ability to customize CLI plugins, and Server plugins and Runtime plugins will be opened up later.
31
-
32
- ## Plugin execution order
10
+ This option is **specifically for configuring framework CLI plugins**. If you need to configure other types of plugins, use the appropriate configuration method:
33
11
 
34
- By default, custom plugins are executed in the order of the `plugins` array, and the execution time of built-in Modern.js plugins is earlier than that of custom plugins.
12
+ - Use [builderPlugins](/configure/app/builder-plugins) for Rsbuild plugins.
13
+ - Use [tools.bundlerChain](/configure/app/tools/bundler-chain) for Rspack or webpack plugins.
14
+ - Use [tools.babel](/configure/app/tools/babel) for Babel plugins.
15
+ - Use the [plugins field in runtime config](/configure/app/runtime/plugins) for framework Runtime plugins.
35
16
 
36
- When the plugin sets options that control the order, such as `pre` and `post`, the execution order will be adjusted based on the declared fields. Refer to [Plugins Structure](/plugin/plugin-system) for more information.
37
17
 
38
- ## Example
18
+ ## Examples
39
19
 
40
- The following is an example of using CLI plugins.
20
+ Below are examples of using CLI plugins:
41
21
 
42
- ### Use plugins on npm
22
+ ### Using plugins from npm
43
23
 
44
- To use plugins from npm registry, you need to first install the plugins , and import them in `modern.config.ts`.
24
+ To use plugins from the npm registry, first install the plugins and then import them in your configuration:
45
25
 
46
26
  ```ts title="modern.config.ts"
47
27
  import { myPlugin } from 'my-plugin';
@@ -51,9 +31,9 @@ export default defineConfig({
51
31
  });
52
32
  ```
53
33
 
54
- ### Use local plugins
34
+ ### Using local plugins
55
35
 
56
- To use local plugins, import them directly using a relative path.
36
+ To use plugins from your local repository, import them directly using a relative path:
57
37
 
58
38
  ```ts title="modern.config.ts"
59
39
  import { myPlugin } from './config/plugin/myPlugin';
@@ -65,7 +45,7 @@ export default defineConfig({
65
45
 
66
46
  ### Plugin configuration
67
47
 
68
- If the plugin provides some custom configuration options, they can be passed in as parameters to the plugin function.
48
+ If a plugin provides custom configuration options, pass them as parameters to the plugin function:
69
49
 
70
50
  ```ts title="modern.config.ts"
71
51
  import { myPlugin } from 'my-plugin';
@@ -1,8 +1,4 @@
1
- ---
2
- title: masterApp
3
- ---
4
-
5
- # runtime.masterApp
1
+ # masterApp
6
2
 
7
3
  - **Type:** `Object`
8
4
 
@@ -0,0 +1,58 @@
1
+ # plugins
2
+
3
+ - **Type:** `RuntimePlugin[]`
4
+ - **Default:** `[]`
5
+
6
+ Used to configure custom Modern.js Runtime plugins. For details on how to create custom Runtime plugins, please refer to [How to Write Runtime Plugins](/plugin/introduction#runtime-plugins).
7
+
8
+ :::info
9
+
10
+ Runtime plugins must be configured in the `plugins` array within the `src/modern.runtime.ts` file.
11
+
12
+ :::
13
+
14
+ ## Examples
15
+
16
+ Here are examples demonstrating how to use Runtime plugins:
17
+
18
+ ### Using plugins from npm packages
19
+
20
+ To use plugins published on npm, first install them via your package manager, then import them into your configuration.
21
+
22
+ ```ts title="src/modern.runtime.ts"
23
+ import { defineRuntimeConfig } from '@modern-js/runtime';
24
+ import { myPlugin } from 'my-plugin';
25
+
26
+ export default defineRuntimeConfig({
27
+ plugins: [myPlugin()],
28
+ });
29
+ ```
30
+
31
+ ### Using local plugins
32
+
33
+ To use plugins from your local codebase, import them directly using relative paths.
34
+
35
+ ```ts title="src/modern.runtime.ts"
36
+ import { defineRuntimeConfig } from '@modern-js/runtime';
37
+ import { myPlugin } from './config/plugin/myPlugin';
38
+
39
+ export default defineRuntimeConfig({
40
+ plugins: [myPlugin()],
41
+ });
42
+ ```
43
+
44
+ ### Plugin configuration
45
+
46
+ If a plugin supports custom configuration options, you can provide them as arguments to the plugin function.
47
+
48
+ ```ts title="src/modern.runtime.ts"
49
+ import { defineRuntimeConfig } from '@modern-js/runtime';
50
+ import { myPlugin } from './config/plugin/myPlugin';
51
+
52
+ export default defineRuntimeConfig({
53
+ plugins: [myPlugin({
54
+ foo: 1,
55
+ bar: 2,
56
+ })],
57
+ });
58
+ ```
@@ -1,6 +1,5 @@
1
1
  ---
2
2
  title: nonce
3
- configName: security.nonce
4
3
  ---
5
4
 
6
5
  # security.nonce
@@ -15,6 +14,6 @@ type Nonce = string;
15
14
 
16
15
  Adding a `nonce` attribute to the scripts resources introduced for HTML. This allows the browser to determine whether the script can be executed when it parses inline scripts with matching nonce values.
17
16
 
18
- import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
17
+ import RsbuildConfig from '@site-docs-en/components/rsbuild-config-tooltip';
19
18
 
20
- <RsbuildConig />
19
+ <RsbuildConfig configName="security.nonce" />
@@ -1,6 +1,5 @@
1
1
  ---
2
2
  title: sri
3
- configName: security.sri
4
3
  ---
5
4
 
6
5
  # security.sri
@@ -1,6 +1,5 @@
1
1
  ---
2
2
  title: port
3
- configName: server.port
4
3
  ---
5
4
 
6
5
  # server.port
@@ -38,6 +37,6 @@ export default defineConfig({
38
37
  });
39
38
  ```
40
39
 
41
- import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
40
+ import RsbuildConfig from '@site-docs-en/components/rsbuild-config-tooltip';
42
41
 
43
- <RsbuildConig />
42
+ <RsbuildConfig configName="server.port" />
@@ -1,6 +1,5 @@
1
1
  ---
2
2
  title: aliasStrategy
3
- configName: source.aliasStrategy
4
3
  ---
5
4
 
6
5
  # source.aliasStrategy
@@ -10,6 +9,6 @@ configName: source.aliasStrategy
10
9
 
11
10
  `source.aliasStrategy` is used to control the priority between the `paths` option in `tsconfig.json` and the `alias` option in the bundler.
12
11
 
13
- import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
12
+ import RsbuildConfig from '@site-docs-en/components/rsbuild-config-tooltip';
14
13
 
15
- <RsbuildConig />
14
+ <RsbuildConfig configName="source.aliasStrategy" />
@@ -1,6 +1,5 @@
1
1
  ---
2
2
  title: alias
3
- configName: source.alias
4
3
  ---
5
4
 
6
5
  # source.alias
@@ -19,6 +18,6 @@ Create aliases to import or require certain modules, same as the [resolve.alias]
19
18
  For TypeScript projects, you only need to configure [compilerOptions.paths](https://www.typescriptlang.org/tsconfig#paths) in the `tsconfig.json` file. The Rsbuild will automatically recognize it, so there is no need to configure the `source.alias` option separately. For more details, please refer to [Path Aliases](https://modernjs.dev/en/guides/basic-features/alias.html).
20
19
  :::
21
20
 
22
- import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
21
+ import RsbuildConfig from '@site-docs-en/components/rsbuild-config-tooltip';
23
22
 
24
- <RsbuildConig />
23
+ <RsbuildConfig configName="source.alias" />
@@ -1,6 +1,5 @@
1
1
  ---
2
2
  title: decorators
3
- configName: source.decorators
4
3
  ---
5
4
 
6
5
  # source.decorators
@@ -23,6 +22,6 @@ const defaultDecorators = {
23
22
 
24
23
  Used to configure the decorators syntax.
25
24
 
26
- import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
25
+ import RsbuildConfig from '@site-docs-en/components/rsbuild-config-tooltip';
27
26
 
28
- <RsbuildConig />
27
+ <RsbuildConfig configName="source.decorators" />
@@ -1,6 +1,5 @@
1
1
  ---
2
2
  title: define
3
- configName: source.define
4
3
  ---
5
4
 
6
5
  # source.define
@@ -16,6 +15,6 @@ const defaultDefine = {
16
15
 
17
16
  Replaces variables in your code with other values or expressions at compile time. This can be useful for allowing different behavior between development builds and production builds.
18
17
 
19
- import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
18
+ import RsbuildConfig from '@site-docs-en/components/rsbuild-config-tooltip';
20
19
 
21
- <RsbuildConig />
20
+ <RsbuildConfig configName="source.define" />
@@ -1,6 +1,5 @@
1
1
  ---
2
2
  title: exclude
3
- configName: source.exclude
4
3
  ---
5
4
 
6
5
  # source.exclude
@@ -10,6 +9,6 @@ configName: source.exclude
10
9
 
11
10
  Specifies JavaScript/TypeScript files that do not need to be compiled. The usage is consistent with [Rule.exclude](https://rspack.dev/config/module#ruleexclude) in Rspack, which supports passing in strings or regular expressions to match the module path.
12
11
 
13
- import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
12
+ import RsbuildConfig from '@site-docs-en/components/rsbuild-config-tooltip';
14
13
 
15
- <RsbuildConig />
14
+ <RsbuildConfig configName="source.exclude" />
@@ -1,6 +1,5 @@
1
1
  ---
2
2
  title: include
3
- configName: source.include
4
3
  ---
5
4
 
6
5
  # source.include
@@ -21,6 +20,6 @@ const defaultInclude = [
21
20
 
22
21
  The `source.include` is used to specify additional JavaScript files that need to be compiled.
23
22
 
24
- import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
23
+ import RsbuildConfig from '@site-docs-en/components/rsbuild-config-tooltip';
25
24
 
26
- <RsbuildConig />
25
+ <RsbuildConfig configName="source.include" />
@@ -1,6 +1,5 @@
1
1
  ---
2
2
  title: preEntry
3
- configName: source.preEntry
4
3
  ---
5
4
 
6
5
  # source.preEntry
@@ -10,6 +9,6 @@ configName: source.preEntry
10
9
 
11
10
  Add a script before the entry file of each page. This script will be executed before the page code. It can be used to execute global logics, such as injecting polyfills, setting global styles, etc.
12
11
 
13
- import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
12
+ import RsbuildConfig from '@site-docs-en/components/rsbuild-config-tooltip';
14
13
 
15
- <RsbuildConig />
14
+ <RsbuildConfig configName="source.preEntry" />
@@ -1,6 +1,5 @@
1
1
  ---
2
2
  title: transformImport
3
- configName: source.transformImport
4
3
  ---
5
4
 
6
5
  # source.transformImport
@@ -59,9 +58,9 @@ const defaultArcoConfig = [
59
58
  When you add configurations for `antd` or `@arco-design/web-react`, the priority will be higher than the default configurations mentioned above.
60
59
  :::
61
60
 
62
- import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
61
+ import RsbuildConfig from '@site-docs-en/components/rsbuild-config-tooltip';
63
62
 
64
- <RsbuildConig />
63
+ <RsbuildConfig configName="source.transformImport" />
65
64
 
66
65
  ### Disable Default Config
67
66
 
@@ -1,6 +1,5 @@
1
1
  ---
2
2
  title: cssExtract
3
- configName: tools.cssExtract
4
3
  ---
5
4
 
6
5
  # tools.cssExtract
@@ -33,6 +32,6 @@ const defaultOptions = {
33
32
 
34
33
  The config of [CssExtractRspackPlugin](https://www.rspack.dev/plugins/rspack/css-extract-rspack-plugin) / [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) can be modified through `tools.cssExtract`.
35
34
 
36
- import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
35
+ import RsbuildConfig from '@site-docs-en/components/rsbuild-config-tooltip';
37
36
 
38
- <RsbuildConig />
37
+ <RsbuildConfig configName="tools.cssExtract" />
@@ -16,6 +16,6 @@ const defaultOptions = {
16
16
 
17
17
  The config of [css-loader](https://github.com/webpack-contrib/css-loader) can be modified through `tools.cssLoader`.
18
18
 
19
- import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
19
+ import RsbuildConfig from '@site-docs-en/components/rsbuild-config-tooltip';
20
20
 
21
- <RsbuildConig />
21
+ <RsbuildConfig configName="tools.cssLoader" />
@@ -1,6 +1,5 @@
1
1
  ---
2
2
  title: htmlPlugin
3
- configName: tools.htmlPlugin
4
3
  ---
5
4
 
6
5
  # tools.htmlPlugin
@@ -34,8 +33,13 @@ const defaultOptions = {
34
33
  };
35
34
  ```
36
35
 
36
+ :::warning
37
+ SSR Application does not enable the `minify.removeComments` configuration, otherwise the SSR rendering will fail.
38
+ :::
39
+
40
+
37
41
  The configs of [html-rspack-plugin](https://github.com/rspack-contrib/html-rspack-plugin) or [html-webpack-plugin](https://github.com/jantimon/html-webpack-plugin) can be modified through `tools.htmlPlugin`.
38
42
 
39
- import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
43
+ import RsbuildConfig from '@site-docs-en/components/rsbuild-config-tooltip';
40
44
 
41
- <RsbuildConig />
45
+ <RsbuildConfig configName="tools.htmlPlugin" />