@modern-js/main-doc 2.59.0 → 2.60.1-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/en/_meta.json +10 -5
- package/docs/en/apis/app/hooks/api/lambda.mdx +4 -48
- package/docs/en/apis/app/hooks/api/middleware.mdx +11 -0
- package/docs/en/community/blog/v2-release-note.mdx +1 -1
- package/docs/en/community/contributing-guide.mdx +0 -1
- package/docs/en/components/builder.mdx +3 -0
- package/docs/en/components/bundler.mdx +3 -0
- package/docs/en/components/enable-bff.mdx +19 -2
- package/docs/en/components/enableSwc.mdx +17 -0
- package/docs/en/components/esbuild.mdx +3 -0
- package/docs/en/components/extend-bff-function.mdx +5 -0
- package/docs/en/components/micro-frontend.mdx +6 -0
- package/docs/en/components/module-federation.mdx +7 -0
- package/docs/en/components/nodeVersion.mdx +26 -0
- package/docs/en/components/other-plugins.mdx +0 -0
- package/docs/en/components/output-asset-prefix-extend.mdx +0 -0
- package/docs/en/components/output-polyfill-extend.mdx +0 -0
- package/docs/en/components/prerequisites.mdx +1 -1
- package/docs/en/components/rsbuild-config-tooltip.mdx +5 -0
- package/docs/en/components/rsbuild.mdx +3 -0
- package/docs/en/components/rspack.mdx +3 -0
- package/docs/en/components/rspackPrecautions.mdx +6 -0
- package/docs/en/components/rspackTip.mdx +7 -0
- package/docs/en/components/swc.mdx +3 -0
- package/docs/en/configure/app/auto-load-plugin.mdx +4 -0
- package/docs/en/configure/app/dev/asset-prefix.mdx +12 -2
- package/docs/en/configure/app/dev/before-start-url.mdx +14 -2
- package/docs/en/configure/app/dev/client.mdx +20 -16
- package/docs/en/configure/app/dev/hmr.mdx +8 -2
- package/docs/en/configure/app/dev/host.mdx +15 -2
- package/docs/en/configure/app/dev/https.mdx +71 -2
- package/docs/en/configure/app/dev/live-reload.mdx +3 -15
- package/docs/en/configure/app/dev/port.mdx +18 -2
- package/docs/en/configure/app/dev/progress-bar.mdx +17 -2
- package/docs/en/configure/app/dev/setup-middlewares.mdx +25 -39
- package/docs/en/configure/app/dev/start-url.mdx +46 -2
- package/docs/en/configure/app/dev/watch-files.mdx +5 -39
- package/docs/en/configure/app/dev/write-to-disk.mdx +4 -27
- package/docs/en/configure/app/experiments/lazy-compilation.mdx +84 -2
- package/docs/en/configure/app/experiments/source-build.mdx +28 -3
- package/docs/en/configure/app/html/app-icon.mdx +48 -2
- package/docs/en/configure/app/html/crossorigin.mdx +8 -2
- package/docs/en/configure/app/html/disable-html-folder.mdx +35 -2
- package/docs/en/configure/app/html/favicon-by-entries.mdx +29 -2
- package/docs/en/configure/app/html/favicon.mdx +14 -2
- package/docs/en/configure/app/html/inject-by-entries.mdx +29 -2
- package/docs/en/configure/app/html/inject.mdx +8 -2
- package/docs/en/configure/app/html/meta-by-entries.mdx +41 -2
- package/docs/en/configure/app/html/meta.mdx +22 -2
- package/docs/en/configure/app/html/mount-id.mdx +8 -2
- package/docs/en/configure/app/html/script-loading.mdx +8 -2
- package/docs/en/configure/app/html/tags-by-entries.mdx +37 -2
- package/docs/en/configure/app/html/tags.mdx +13 -2
- package/docs/en/configure/app/html/template-by-entries.mdx +26 -2
- package/docs/en/configure/app/html/template-parameters-by-entries.mdx +28 -2
- package/docs/en/configure/app/html/template-parameters.mdx +31 -2
- package/docs/en/configure/app/html/template.mdx +8 -2
- package/docs/en/configure/app/html/title-by-entries.mdx +30 -2
- package/docs/en/configure/app/html/title.mdx +16 -2
- package/docs/en/configure/app/output/asset-prefix.mdx +12 -2
- package/docs/en/configure/app/output/assets-retry.mdx +72 -2
- package/docs/en/configure/app/output/charset.mdx +8 -2
- package/docs/en/configure/app/output/clean-dist-path.mdx +13 -2
- package/docs/en/configure/app/output/convert-to-rem.mdx +76 -2
- package/docs/en/configure/app/output/copy.mdx +5 -2
- package/docs/en/configure/app/output/css-module-local-ident-name.mdx +14 -2
- package/docs/en/configure/app/output/css-modules.mdx +46 -2
- package/docs/en/configure/app/output/data-uri-limit.mdx +24 -2
- package/docs/en/configure/app/output/disable-css-extract.mdx +9 -2
- package/docs/en/configure/app/output/disable-css-module-extension.mdx +52 -2
- package/docs/en/configure/app/output/disable-filename-hash.mdx +9 -2
- package/docs/en/configure/app/output/disable-inline-runtime-chunk.mdx +38 -2
- package/docs/en/configure/app/output/disable-minimize.mdx +7 -2
- package/docs/en/configure/app/output/disable-source-map.mdx +24 -2
- package/docs/en/configure/app/output/disable-svgr.mdx +13 -2
- package/docs/en/configure/app/output/disable-ts-checker.mdx +46 -2
- package/docs/en/configure/app/output/dist-path.mdx +39 -2
- package/docs/en/configure/app/output/enable-asset-fallback.mdx +29 -2
- package/docs/en/configure/app/output/enable-asset-manifest.mdx +33 -2
- package/docs/en/configure/app/output/enable-css-module-tsdeclaration.mdx +25 -2
- package/docs/en/configure/app/output/enable-inline-scripts.mdx +15 -2
- package/docs/en/configure/app/output/enable-inline-styles.mdx +15 -2
- package/docs/en/configure/app/output/enable-latest-decorators.mdx +7 -2
- package/docs/en/configure/app/output/externals.mdx +18 -2
- package/docs/en/configure/app/output/filename-hash.mdx +3 -27
- package/docs/en/configure/app/output/filename.mdx +47 -2
- package/docs/en/configure/app/output/inject-styles.mdx +15 -0
- package/docs/en/configure/app/output/inline-scripts.mdx +34 -0
- package/docs/en/configure/app/output/inline-styles.mdx +34 -0
- package/docs/en/configure/app/output/legal-comments.mdx +16 -2
- package/docs/en/configure/app/output/minify.mdx +27 -0
- package/docs/en/configure/app/output/override-browserslist.mdx +18 -2
- package/docs/en/configure/app/output/polyfill.mdx +12 -2
- package/docs/en/configure/app/output/source-map.mdx +30 -0
- package/docs/en/configure/app/output/ssg.mdx +20 -17
- package/docs/en/configure/app/output/svg-default-export.mdx +27 -2
- package/docs/en/configure/app/performance/build-cache.mdx +78 -2
- package/docs/en/configure/app/performance/bundle-analyze.mdx +18 -2
- package/docs/en/configure/app/performance/chunk-split.mdx +38 -2
- package/docs/en/configure/app/performance/dns-prefetch.mdx +13 -2
- package/docs/en/configure/app/performance/preconnect.mdx +14 -2
- package/docs/en/configure/app/performance/prefetch.mdx +19 -2
- package/docs/en/configure/app/performance/preload.mdx +21 -2
- package/docs/en/configure/app/performance/print-file-size.mdx +38 -2
- package/docs/en/configure/app/performance/profile.mdx +8 -2
- package/docs/en/configure/app/performance/remove-console.mdx +8 -2
- package/docs/en/configure/app/performance/remove-moment-locale.mdx +8 -2
- package/docs/en/configure/app/performance/transform-lodash.mdx +42 -2
- package/docs/en/configure/app/plugins.mdx +3 -3
- package/docs/en/configure/app/security/check-syntax.mdx +66 -2
- package/docs/en/configure/app/security/nonce.mdx +13 -2
- package/docs/en/configure/app/security/sri.mdx +19 -2
- package/docs/en/configure/app/server/port.mdx +5 -0
- package/docs/en/configure/app/server/ssr.mdx +10 -9
- package/docs/en/configure/app/source/alias-strategy.mdx +8 -2
- package/docs/en/configure/app/source/alias.mdx +17 -2
- package/docs/en/configure/app/source/config-dir.mdx +1 -1
- package/docs/en/configure/app/source/decorators.mdx +8 -21
- package/docs/en/configure/app/source/define.mdx +14 -2
- package/docs/en/configure/app/source/enable-async-entry.mdx +1 -1
- package/docs/en/configure/app/source/entries-dir.mdx +1 -1
- package/docs/en/configure/app/source/exclude.mdx +8 -2
- package/docs/en/configure/app/source/global-vars.mdx +103 -2
- package/docs/en/configure/app/source/include.mdx +19 -2
- package/docs/en/configure/app/source/mainEntryName.mdx +1 -1
- package/docs/en/configure/app/source/module-scopes.mdx +62 -2
- package/docs/en/configure/app/source/pre-entry.mdx +8 -2
- package/docs/en/configure/app/source/resolve-extension-prefix.mdx +48 -2
- package/docs/en/configure/app/source/resolve-main-fields.mdx +39 -2
- package/docs/en/configure/app/source/transform-import.mdx +56 -2
- package/docs/en/configure/app/tools/autoprefixer.mdx +41 -2
- package/docs/en/configure/app/tools/babel.mdx +218 -2
- package/docs/en/configure/app/tools/bundler-chain.mdx +23 -2
- package/docs/en/configure/app/tools/css-extract.mdx +31 -2
- package/docs/en/configure/app/tools/css-loader.mdx +14 -2
- package/docs/en/configure/app/tools/dev-server.mdx +435 -2
- package/docs/en/configure/app/tools/esbuild.mdx +2 -2
- package/docs/en/configure/app/tools/html-plugin.mdx +21 -2
- package/docs/en/configure/app/tools/less.mdx +78 -2
- package/docs/en/configure/app/tools/minify-css.mdx +50 -2
- package/docs/en/configure/app/tools/postcss.mdx +30 -2
- package/docs/en/configure/app/tools/pug.mdx +47 -2
- package/docs/en/configure/app/tools/rspack.mdx +8 -2
- package/docs/en/configure/app/tools/sass.mdx +75 -2
- package/docs/en/configure/app/tools/style-loader.mdx +8 -2
- package/docs/en/configure/app/tools/styled-components.mdx +48 -2
- package/docs/en/configure/app/tools/swc.mdx +34 -3
- package/docs/en/configure/app/tools/terser.mdx +49 -2
- package/docs/en/configure/app/tools/ts-checker.mdx +49 -2
- package/docs/en/configure/app/tools/ts-loader.mdx +63 -2
- package/docs/en/configure/app/tools/webpack-chain.mdx +239 -2
- package/docs/en/configure/app/tools/webpack.mdx +295 -2
- package/docs/en/guides/_meta.json +0 -5
- package/docs/en/guides/advanced-features/_meta.json +7 -5
- package/docs/en/guides/advanced-features/bff/_meta.json +1 -1
- package/docs/en/guides/advanced-features/bff/extend-server.mdx +154 -0
- package/docs/en/guides/advanced-features/bff/frameworks.mdx +52 -123
- package/docs/en/guides/advanced-features/bff/function.mdx +108 -80
- package/docs/en/guides/advanced-features/bff/sdk.mdx +40 -51
- package/docs/en/guides/advanced-features/build-performance.mdx +6 -21
- package/docs/en/guides/advanced-features/page-performance/_meta.json +1 -0
- package/docs/en/guides/advanced-features/rspack-start.mdx +2 -2
- package/docs/en/guides/basic-features/css/css-modules.mdx +2 -2
- package/docs/en/guides/basic-features/output-files.mdx +1 -1
- package/docs/en/guides/basic-features/render/ssg.mdx +1 -1
- package/docs/en/guides/basic-features/render/streaming-ssr.mdx +1 -1
- package/docs/en/guides/basic-features/routes.mdx +2 -3
- package/docs/en/guides/basic-features/static-assets.mdx +1 -1
- package/docs/en/guides/concept/builder.mdx +1 -1
- package/docs/en/guides/deprecated.md +2 -0
- package/docs/en/guides/get-started/glossary.mdx +7 -7
- package/docs/en/guides/get-started/quick-start.mdx +1 -1
- package/docs/en/guides/topic-detail/_meta.json +0 -6
- package/docs/en/guides/topic-detail/micro-frontend/c01-introduction.mdx +1 -1
- package/docs/en/guides/troubleshooting/builder.mdx +2 -2
- package/docs/en/plugin/_meta.json +19 -0
- package/docs/en/plugin/cli-plugins/_meta.json +1 -0
- package/docs/en/plugin/cli-plugins/plugin-bff.mdx +5 -0
- package/docs/en/plugin/cli-plugins/plugin-ssg.mdx +5 -0
- package/docs/en/{guides/rsbuild-plugins → plugin/cli-plugins}/plugin-swc.mdx +11 -4
- package/docs/en/plugin/cli-plugins/plugin-tailwind.mdx +5 -0
- package/docs/en/plugin/cli-plugins.mdx +6 -0
- package/docs/en/{guides/advanced-features/rsbuild-plugin.mdx → plugin/introduction.mdx} +34 -9
- package/docs/en/{guides/topic-detail/framework-plugin → plugin/plugin-system}/extend.mdx +1 -1
- package/docs/en/{guides/topic-detail/framework-plugin → plugin/plugin-system}/implement.mdx +3 -3
- package/docs/en/{guides/topic-detail/framework-plugin → plugin/plugin-system}/plugin-api.mdx +2 -2
- package/docs/en/plugin/rsbuild-plugins/_meta.json +1 -0
- package/docs/en/{guides → plugin}/rsbuild-plugins/plugin-esbuild.mdx +4 -4
- package/docs/en/plugin/rsbuild-plugins.mdx +3 -0
- package/docs/zh/_meta.json +10 -5
- package/docs/zh/apis/app/hooks/api/lambda.mdx +5 -48
- package/docs/zh/apis/app/hooks/api/middleware.mdx +11 -0
- package/docs/zh/community/blog/v2-release-note.mdx +1 -1
- package/docs/zh/community/contributing-guide.mdx +0 -1
- package/docs/zh/components/builder.mdx +3 -0
- package/docs/zh/components/bundler.mdx +4 -0
- package/docs/zh/components/enable-bff.mdx +19 -2
- package/docs/zh/components/enableSwc.mdx +17 -0
- package/docs/zh/components/esbuild.mdx +3 -0
- package/docs/zh/components/extend-bff-function.mdx +5 -0
- package/docs/zh/components/micro-frontend.mdx +6 -0
- package/docs/zh/components/module-federation.mdx +7 -0
- package/docs/zh/components/nodeVersion.mdx +28 -0
- package/docs/zh/components/other-plugins.mdx +0 -0
- package/docs/zh/components/output-asset-prefix-extend.mdx +0 -0
- package/docs/zh/components/output-polyfill-extend.mdx +0 -0
- package/docs/zh/components/prerequisites.mdx +1 -1
- package/docs/zh/components/rsbuild-config-tooltip.mdx +5 -0
- package/docs/zh/components/rsbuild.mdx +3 -0
- package/docs/zh/components/rspack.mdx +3 -0
- package/docs/zh/components/rspackPrecautions.mdx +6 -0
- package/docs/zh/components/rspackTip.mdx +7 -0
- package/docs/zh/components/swc.mdx +3 -0
- package/docs/zh/configure/app/auto-load-plugin.mdx +4 -0
- package/docs/zh/configure/app/dev/asset-prefix.mdx +12 -2
- package/docs/zh/configure/app/dev/before-start-url.mdx +14 -2
- package/docs/zh/configure/app/dev/client.mdx +20 -16
- package/docs/zh/configure/app/dev/hmr.mdx +8 -2
- package/docs/zh/configure/app/dev/host.mdx +15 -2
- package/docs/zh/configure/app/dev/https.mdx +72 -2
- package/docs/zh/configure/app/dev/live-reload.mdx +3 -15
- package/docs/zh/configure/app/dev/port.mdx +18 -2
- package/docs/zh/configure/app/dev/progress-bar.mdx +17 -2
- package/docs/zh/configure/app/dev/setup-middlewares.mdx +26 -39
- package/docs/zh/configure/app/dev/start-url.mdx +47 -2
- package/docs/zh/configure/app/dev/watch-files.mdx +5 -39
- package/docs/zh/configure/app/dev/write-to-disk.mdx +3 -26
- package/docs/zh/configure/app/experiments/lazy-compilation.mdx +84 -2
- package/docs/zh/configure/app/experiments/source-build.mdx +29 -2
- package/docs/zh/configure/app/html/app-icon.mdx +48 -2
- package/docs/zh/configure/app/html/crossorigin.mdx +9 -2
- package/docs/zh/configure/app/html/disable-html-folder.mdx +34 -2
- package/docs/zh/configure/app/html/favicon-by-entries.mdx +30 -2
- package/docs/zh/configure/app/html/favicon.mdx +15 -2
- package/docs/zh/configure/app/html/inject-by-entries.mdx +30 -2
- package/docs/zh/configure/app/html/inject.mdx +8 -2
- package/docs/zh/configure/app/html/meta-by-entries.mdx +41 -2
- package/docs/zh/configure/app/html/meta.mdx +22 -2
- package/docs/zh/configure/app/html/mount-id.mdx +8 -2
- package/docs/zh/configure/app/html/script-loading.mdx +8 -2
- package/docs/zh/configure/app/html/tags-by-entries.mdx +37 -2
- package/docs/zh/configure/app/html/tags.mdx +13 -2
- package/docs/zh/configure/app/html/template-by-entries.mdx +26 -2
- package/docs/zh/configure/app/html/template-parameters-by-entries.mdx +29 -2
- package/docs/zh/configure/app/html/template-parameters.mdx +31 -2
- package/docs/zh/configure/app/html/template.mdx +8 -2
- package/docs/zh/configure/app/html/title-by-entries.mdx +30 -2
- package/docs/zh/configure/app/html/title.mdx +16 -2
- package/docs/zh/configure/app/output/asset-prefix.mdx +12 -2
- package/docs/zh/configure/app/output/assets-retry.mdx +72 -2
- package/docs/zh/configure/app/output/charset.mdx +8 -2
- package/docs/zh/configure/app/output/clean-dist-path.mdx +13 -2
- package/docs/zh/configure/app/output/convert-to-rem.mdx +77 -2
- package/docs/zh/configure/app/output/copy.mdx +6 -2
- package/docs/zh/configure/app/output/css-module-local-ident-name.mdx +14 -2
- package/docs/zh/configure/app/output/css-modules.mdx +46 -2
- package/docs/zh/configure/app/output/data-uri-limit.mdx +24 -2
- package/docs/zh/configure/app/output/disable-css-extract.mdx +9 -2
- package/docs/zh/configure/app/output/disable-css-module-extension.mdx +52 -2
- package/docs/zh/configure/app/output/disable-filename-hash.mdx +9 -2
- package/docs/zh/configure/app/output/disable-inline-runtime-chunk.mdx +38 -2
- package/docs/zh/configure/app/output/disable-minimize.mdx +7 -2
- package/docs/zh/configure/app/output/disable-source-map.mdx +24 -2
- package/docs/zh/configure/app/output/disable-svgr.mdx +14 -2
- package/docs/zh/configure/app/output/disable-ts-checker.mdx +46 -2
- package/docs/zh/configure/app/output/dist-path.mdx +39 -2
- package/docs/zh/configure/app/output/enable-asset-fallback.mdx +29 -2
- package/docs/zh/configure/app/output/enable-asset-manifest.mdx +33 -2
- package/docs/zh/configure/app/output/enable-css-module-tsdeclaration.mdx +25 -2
- package/docs/zh/configure/app/output/enable-inline-scripts.mdx +15 -2
- package/docs/zh/configure/app/output/enable-inline-styles.mdx +15 -2
- package/docs/zh/configure/app/output/enable-latest-decorators.mdx +7 -2
- package/docs/zh/configure/app/output/externals.mdx +18 -2
- package/docs/zh/configure/app/output/filename-hash.mdx +4 -27
- package/docs/zh/configure/app/output/filename.mdx +47 -2
- package/docs/zh/configure/app/output/inject-styles.mdx +15 -0
- package/docs/zh/configure/app/output/inline-scripts.mdx +34 -0
- package/docs/zh/configure/app/output/inline-styles.mdx +34 -0
- package/docs/zh/configure/app/output/legal-comments.mdx +16 -2
- package/docs/zh/configure/app/output/minify.mdx +27 -0
- package/docs/zh/configure/app/output/override-browserslist.mdx +20 -2
- package/docs/zh/configure/app/output/polyfill.mdx +12 -2
- package/docs/zh/configure/app/output/source-map.mdx +30 -0
- package/docs/zh/configure/app/output/ssg.mdx +19 -15
- package/docs/zh/configure/app/output/svg-default-export.mdx +27 -2
- package/docs/zh/configure/app/performance/build-cache.mdx +77 -2
- package/docs/zh/configure/app/performance/bundle-analyze.mdx +18 -2
- package/docs/zh/configure/app/performance/chunk-split.mdx +38 -2
- package/docs/zh/configure/app/performance/dns-prefetch.mdx +13 -2
- package/docs/zh/configure/app/performance/preconnect.mdx +14 -2
- package/docs/zh/configure/app/performance/prefetch.mdx +19 -2
- package/docs/zh/configure/app/performance/preload.mdx +21 -2
- package/docs/zh/configure/app/performance/print-file-size.mdx +38 -2
- package/docs/zh/configure/app/performance/profile.mdx +8 -2
- package/docs/zh/configure/app/performance/remove-console.mdx +8 -2
- package/docs/zh/configure/app/performance/remove-moment-locale.mdx +8 -2
- package/docs/zh/configure/app/performance/transform-lodash.mdx +42 -2
- package/docs/zh/configure/app/plugins.mdx +3 -3
- package/docs/zh/configure/app/security/check-syntax.mdx +66 -2
- package/docs/zh/configure/app/security/nonce.mdx +13 -2
- package/docs/zh/configure/app/security/sri.mdx +19 -2
- package/docs/zh/configure/app/server/port.mdx +5 -0
- package/docs/zh/configure/app/server/ssr.mdx +10 -9
- package/docs/zh/configure/app/source/alias-strategy.mdx +8 -2
- package/docs/zh/configure/app/source/alias.mdx +17 -2
- package/docs/zh/configure/app/source/config-dir.mdx +1 -1
- package/docs/zh/configure/app/source/decorators.mdx +8 -20
- package/docs/zh/configure/app/source/define.mdx +14 -2
- package/docs/zh/configure/app/source/enable-async-entry.mdx +1 -1
- package/docs/zh/configure/app/source/entries-dir.mdx +1 -1
- package/docs/zh/configure/app/source/exclude.mdx +8 -2
- package/docs/zh/configure/app/source/global-vars.mdx +102 -2
- package/docs/zh/configure/app/source/include.mdx +19 -2
- package/docs/zh/configure/app/source/mainEntryName.mdx +1 -1
- package/docs/zh/configure/app/source/module-scopes.mdx +62 -2
- package/docs/zh/configure/app/source/pre-entry.mdx +8 -2
- package/docs/zh/configure/app/source/resolve-extension-prefix.mdx +50 -2
- package/docs/zh/configure/app/source/resolve-main-fields.mdx +39 -2
- package/docs/zh/configure/app/source/transform-import.mdx +56 -2
- package/docs/zh/configure/app/tools/autoprefixer.mdx +41 -2
- package/docs/zh/configure/app/tools/babel.mdx +218 -2
- package/docs/zh/configure/app/tools/bundler-chain.mdx +26 -2
- package/docs/zh/configure/app/tools/css-extract.mdx +28 -2
- package/docs/zh/configure/app/tools/css-loader.mdx +15 -2
- package/docs/zh/configure/app/tools/dev-server.mdx +435 -2
- package/docs/zh/configure/app/tools/esbuild.mdx +2 -2
- package/docs/zh/configure/app/tools/html-plugin.mdx +21 -2
- package/docs/zh/configure/app/tools/less.mdx +79 -2
- package/docs/zh/configure/app/tools/minify-css.mdx +50 -2
- package/docs/zh/configure/app/tools/postcss.mdx +31 -2
- package/docs/zh/configure/app/tools/pug.mdx +47 -2
- package/docs/zh/configure/app/tools/rspack.mdx +8 -2
- package/docs/zh/configure/app/tools/sass.mdx +73 -2
- package/docs/zh/configure/app/tools/style-loader.mdx +8 -2
- package/docs/zh/configure/app/tools/styled-components.mdx +47 -2
- package/docs/zh/configure/app/tools/swc.mdx +34 -3
- package/docs/zh/configure/app/tools/terser.mdx +49 -2
- package/docs/zh/configure/app/tools/ts-checker.mdx +49 -2
- package/docs/zh/configure/app/tools/ts-loader.mdx +63 -2
- package/docs/zh/configure/app/tools/webpack-chain.mdx +243 -2
- package/docs/zh/configure/app/tools/webpack.mdx +295 -2
- package/docs/zh/guides/_meta.json +0 -5
- package/docs/zh/guides/advanced-features/_meta.json +7 -5
- package/docs/zh/guides/advanced-features/bff/_meta.json +1 -1
- package/docs/zh/guides/advanced-features/bff/extend-server.mdx +156 -0
- package/docs/zh/guides/advanced-features/bff/frameworks.mdx +51 -117
- package/docs/zh/guides/advanced-features/bff/function.mdx +69 -59
- package/docs/zh/guides/advanced-features/bff/sdk.mdx +27 -36
- package/docs/zh/guides/advanced-features/build-performance.mdx +6 -21
- package/docs/zh/guides/advanced-features/page-performance/_meta.json +1 -0
- package/docs/zh/guides/advanced-features/rspack-start.mdx +4 -4
- package/docs/zh/guides/basic-features/alias.mdx +5 -11
- package/docs/zh/guides/basic-features/css/css-modules.mdx +1 -1
- package/docs/zh/guides/basic-features/env-vars.mdx +1 -1
- package/docs/zh/guides/basic-features/output-files.mdx +2 -2
- package/docs/zh/guides/basic-features/routes.mdx +1 -2
- package/docs/zh/guides/basic-features/static-assets.mdx +1 -1
- package/docs/zh/guides/concept/builder.mdx +1 -1
- package/docs/zh/guides/deprecated.md +4 -0
- package/docs/zh/guides/get-started/glossary.mdx +7 -7
- package/docs/zh/guides/get-started/quick-start.mdx +1 -1
- package/docs/zh/guides/topic-detail/_meta.json +0 -6
- package/docs/zh/guides/topic-detail/micro-frontend/c01-introduction.mdx +1 -1
- package/docs/zh/guides/troubleshooting/builder.mdx +2 -2
- package/docs/zh/plugin/_meta.json +19 -0
- package/docs/zh/plugin/cli-plugins/_meta.json +1 -0
- package/docs/zh/plugin/cli-plugins/plugin-bff.mdx +5 -0
- package/docs/zh/plugin/cli-plugins/plugin-ssg.mdx +5 -0
- package/docs/zh/{guides/rsbuild-plugins → plugin/cli-plugins}/plugin-swc.mdx +11 -4
- package/docs/zh/plugin/cli-plugins/plugin-tailwind.mdx +5 -0
- package/docs/zh/plugin/cli-plugins.mdx +6 -0
- package/docs/zh/{guides/advanced-features/rsbuild-plugin.mdx → plugin/introduction.mdx} +36 -11
- package/docs/zh/{guides/topic-detail/framework-plugin → plugin/plugin-system}/extend.mdx +1 -1
- package/docs/zh/{guides/topic-detail/framework-plugin → plugin/plugin-system}/implement.mdx +3 -3
- package/docs/zh/{guides/topic-detail/framework-plugin → plugin/plugin-system}/plugin-api.mdx +2 -2
- package/docs/zh/plugin/rsbuild-plugins/_meta.json +1 -0
- package/docs/zh/{guides → plugin}/rsbuild-plugins/plugin-esbuild.mdx +6 -6
- package/docs/zh/plugin/rsbuild-plugins.mdx +4 -0
- package/i18n.json +27 -3
- package/package.json +8 -13
- package/rspress.config.ts +1 -58
- package/src/components/Footer/index.tsx +1 -1
- package/src/components/RsbuildLink/index.tsx +19 -0
- package/src/pages/index.tsx +0 -1
- package/docs/en/apis/app/hooks/api/api.mdx +0 -80
- package/docs/en/apis/app/hooks/api/app.mdx +0 -12
- package/docs/en/guides/advanced-features/bff/type.mdx +0 -46
- package/docs/en/guides/advanced-features/eslint.mdx +0 -148
- package/docs/zh/apis/app/hooks/api/api.mdx +0 -81
- package/docs/zh/apis/app/hooks/api/app.mdx +0 -12
- package/docs/zh/guides/advanced-features/bff/type.mdx +0 -46
- package/docs/zh/guides/advanced-features/eslint.mdx +0 -152
- /package/docs/en/configure/app/output/{splitRouteChunks.mdx → split-route-chunks.mdx} +0 -0
- /package/docs/en/guides/advanced-features/{bff/index.mdx → bff.mdx} +0 -0
- /package/docs/en/guides/advanced-features/{code-split.mdx → page-performance/code-split.mdx} +0 -0
- /package/docs/en/guides/advanced-features/{inline-assets.mdx → page-performance/inline-assets.mdx} +0 -0
- /package/docs/en/guides/advanced-features/{optimize-bundle.mdx → page-performance/optimize-bundle.mdx} +0 -0
- /package/docs/en/{guides/topic-detail/framework-plugin → plugin/plugin-system}/_meta.json +0 -0
- /package/docs/en/{guides/topic-detail/framework-plugin → plugin/plugin-system}/hook-list.mdx +0 -0
- /package/docs/en/{guides/topic-detail/framework-plugin → plugin/plugin-system}/hook.mdx +0 -0
- /package/docs/en/{guides/topic-detail/framework-plugin → plugin/plugin-system}/introduction.mdx +0 -0
- /package/docs/en/{guides/topic-detail/framework-plugin → plugin/plugin-system}/lifecycle.mdx +0 -0
- /package/docs/en/{guides/topic-detail/framework-plugin → plugin/plugin-system}/relationship.mdx +0 -0
- /package/docs/zh/configure/app/output/{splitRouteChunks.mdx → split-route-chunks.mdx} +0 -0
- /package/docs/zh/guides/advanced-features/{bff/index.mdx → bff.mdx} +0 -0
- /package/docs/zh/guides/advanced-features/{code-split.mdx → page-performance/code-split.mdx} +0 -0
- /package/docs/zh/guides/advanced-features/{inline-assets.mdx → page-performance/inline-assets.mdx} +0 -0
- /package/docs/zh/guides/advanced-features/{optimize-bundle.mdx → page-performance/optimize-bundle.mdx} +0 -0
- /package/docs/zh/{guides/topic-detail/framework-plugin → plugin/plugin-system}/_meta.json +0 -0
- /package/docs/zh/{guides/topic-detail/framework-plugin → plugin/plugin-system}/hook-list.mdx +0 -0
- /package/docs/zh/{guides/topic-detail/framework-plugin → plugin/plugin-system}/hook.mdx +0 -0
- /package/docs/zh/{guides/topic-detail/framework-plugin → plugin/plugin-system}/introduction.mdx +0 -0
- /package/docs/zh/{guides/topic-detail/framework-plugin → plugin/plugin-system}/lifecycle.mdx +0 -0
- /package/docs/zh/{guides/topic-detail/framework-plugin → plugin/plugin-system}/relationship.mdx +0 -0
|
@@ -1,9 +1,23 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: legalComments
|
|
3
|
+
configName: output.legalComments
|
|
3
4
|
---
|
|
4
5
|
|
|
5
6
|
# output.legalComments
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
- **Type:** `'linked' | 'inline' | 'none'`
|
|
9
|
+
- **Default:** `'linked'`
|
|
8
10
|
|
|
9
|
-
|
|
11
|
+
Configure how to handle the legal comment.
|
|
12
|
+
|
|
13
|
+
A "legal comment" is considered to be any statement-level comment in JS or rule-level comment in CSS that contains `@license` or `@preserve` or that starts with `//!` or `/*!`. These comments are preserved in output files by default since that follows the intent of the original authors of the code.
|
|
14
|
+
|
|
15
|
+
This behavior can be configured by using one of the following options:
|
|
16
|
+
|
|
17
|
+
- `linked`: Extract all legal comments to a .LEGAL.txt file and link to them with a comment.
|
|
18
|
+
- `inline`: Preserve all legal comments in original position.
|
|
19
|
+
- `none`: Remove all legal comments.
|
|
20
|
+
|
|
21
|
+
import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
|
|
22
|
+
|
|
23
|
+
<RsbuildConig />
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: minify
|
|
3
|
+
configName: output.minify
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# output.minify
|
|
7
|
+
|
|
8
|
+
- **Type:**
|
|
9
|
+
|
|
10
|
+
```ts
|
|
11
|
+
type Minify =
|
|
12
|
+
| boolean
|
|
13
|
+
| {
|
|
14
|
+
js?: boolean;
|
|
15
|
+
jsOptions?: SwcJsMinimizerRspackPluginOptions;
|
|
16
|
+
css?: boolean;
|
|
17
|
+
cssOptions?: LightningCssMinimizerRspackPluginOptions;
|
|
18
|
+
};
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
- **Default:** `true`
|
|
22
|
+
|
|
23
|
+
Configure whether to enable code minification in production mode, or to configure minimizer options.
|
|
24
|
+
|
|
25
|
+
import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
|
|
26
|
+
|
|
27
|
+
<RsbuildConig />
|
|
@@ -1,9 +1,25 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: overrideBrowserslist
|
|
3
|
+
configName: output.overrideBrowserslist
|
|
3
4
|
---
|
|
4
5
|
|
|
5
6
|
# output.overrideBrowserslist
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
- **Type:** `string[] | undefined`
|
|
9
|
+
- **Default:**
|
|
8
10
|
|
|
9
|
-
|
|
11
|
+
```ts
|
|
12
|
+
const defaultBrowserListMap: Record<RsbuildTarget, string[]> = {
|
|
13
|
+
web: ['> 0.01%', 'not dead', 'not op_mini all'],
|
|
14
|
+
node: ['node >= 14'],
|
|
15
|
+
'web-worker': ['> 0.01%', 'not dead', 'not op_mini all'],
|
|
16
|
+
};
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Modern.js will give priority to using the configuration in the `.browserslistrc` file in the project root directory.
|
|
20
|
+
|
|
21
|
+
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
|
+
|
|
23
|
+
import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
|
|
24
|
+
|
|
25
|
+
<RsbuildConig />
|
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: polyfill
|
|
3
|
+
configName: output.polyfill
|
|
3
4
|
---
|
|
4
5
|
|
|
5
6
|
# output.polyfill
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
- **Type:** `'entry' | 'usage' | 'ua' | 'off'`
|
|
9
|
+
- **Default:** `'entry'`
|
|
8
10
|
|
|
9
|
-
|
|
11
|
+
Via `output.polyfill` you can configure how the polyfill is injected.
|
|
12
|
+
|
|
13
|
+
import OutputPolyfillExtend from '@site-docs-en/components/output-polyfill-extend';
|
|
14
|
+
|
|
15
|
+
<OutputPolyfillExtend />
|
|
16
|
+
|
|
17
|
+
import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
|
|
18
|
+
|
|
19
|
+
<RsbuildConig />
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: sourceMap
|
|
3
|
+
configName: output.sourceMap
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# output.sourceMap
|
|
7
|
+
|
|
8
|
+
- **Type:**
|
|
9
|
+
|
|
10
|
+
```ts
|
|
11
|
+
type SourceMap = {
|
|
12
|
+
js?: Rspack.Configuration['devtool'];
|
|
13
|
+
css?: boolean;
|
|
14
|
+
};
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
- **Default:**
|
|
18
|
+
|
|
19
|
+
```ts
|
|
20
|
+
const defaultSourceMap = {
|
|
21
|
+
js: isDev ? 'cheap-module-source-map' : false,
|
|
22
|
+
css: false,
|
|
23
|
+
};
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Used to set whether to generate source map files, and which format of source map to generate.
|
|
27
|
+
|
|
28
|
+
import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
|
|
29
|
+
|
|
30
|
+
<RsbuildConig />
|
|
@@ -4,7 +4,7 @@ title: ssg
|
|
|
4
4
|
|
|
5
5
|
# output.ssg
|
|
6
6
|
|
|
7
|
-
- **Type:** `boolean
|
|
7
|
+
- **Type:** `boolean | object`
|
|
8
8
|
- **Default Value:** `undefined`
|
|
9
9
|
|
|
10
10
|
Configuration to enable the application’s SSG (Static Site Generation) feature.
|
|
@@ -65,13 +65,14 @@ When the value type is `Object`, the following attributes can be configured.
|
|
|
65
65
|
|
|
66
66
|
### Configuration Type
|
|
67
67
|
|
|
68
|
-
|
|
69
68
|
```ts
|
|
70
|
-
type SSGRouteOptions =
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
69
|
+
type SSGRouteOptions =
|
|
70
|
+
| string
|
|
71
|
+
| {
|
|
72
|
+
url: string;
|
|
73
|
+
params?: Record<string, any>[];
|
|
74
|
+
headers?: Record<string, any>;
|
|
75
|
+
};
|
|
75
76
|
|
|
76
77
|
type SSGOptions = {
|
|
77
78
|
preventDefault?: string[];
|
|
@@ -91,23 +92,25 @@ export default defineConfig({
|
|
|
91
92
|
output: {
|
|
92
93
|
ssg: {
|
|
93
94
|
routes: [
|
|
94
|
-
'/',
|
|
95
|
-
'/about',
|
|
95
|
+
'/',
|
|
96
|
+
'/about',
|
|
96
97
|
{
|
|
97
98
|
url: '/user/:id',
|
|
98
99
|
headers: {
|
|
99
|
-
cookies:
|
|
100
|
+
cookies: 'name=modernjs',
|
|
100
101
|
},
|
|
101
|
-
params: [
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
102
|
+
params: [
|
|
103
|
+
{
|
|
104
|
+
id: 'modernjs',
|
|
105
|
+
},
|
|
106
|
+
],
|
|
107
|
+
},
|
|
105
108
|
],
|
|
106
|
-
}
|
|
107
|
-
}
|
|
109
|
+
},
|
|
110
|
+
},
|
|
108
111
|
});
|
|
109
112
|
```
|
|
110
113
|
|
|
111
114
|
:::note
|
|
112
115
|
The configuration method for multiple entries is the same as for a single entry, so it will not be explained further here.
|
|
113
|
-
:::
|
|
116
|
+
:::
|
|
@@ -4,6 +4,31 @@ title: svgDefaultExport
|
|
|
4
4
|
|
|
5
5
|
# output.svgDefaultExport
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
- **Type:** `'url' | 'component'`
|
|
8
|
+
- **Default:** `'url'`
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
`output.svgDefaultExport` is used to configure the default export type of SVG files.
|
|
11
|
+
|
|
12
|
+
When `output.svgDefaultExport` is set to `url` , the default export of SVG files is the URL of the file. For example:
|
|
13
|
+
|
|
14
|
+
```js
|
|
15
|
+
import logo from './logo.svg';
|
|
16
|
+
|
|
17
|
+
console.log(logo); // => asset url
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
When `output.svgDefaultExport` is set to `component` , the default export of SVG files is the React component of the file. For example:
|
|
21
|
+
|
|
22
|
+
```js
|
|
23
|
+
import Logo from './logo.svg';
|
|
24
|
+
|
|
25
|
+
console.log(Logo); // => React Component
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
At this time, you can also specify the `?url` query to import the URL, for example:
|
|
29
|
+
|
|
30
|
+
```js
|
|
31
|
+
import logo from './logo.svg?url';
|
|
32
|
+
|
|
33
|
+
console.log(logo); // => asset url
|
|
34
|
+
```
|
|
@@ -4,6 +4,82 @@ title: buildCache
|
|
|
4
4
|
|
|
5
5
|
# performance.buildCache
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
- **Type:**
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
```ts
|
|
10
|
+
type BuildCacheConfig =
|
|
11
|
+
| {
|
|
12
|
+
/**
|
|
13
|
+
* Base directory for the filesystem cache.
|
|
14
|
+
*/
|
|
15
|
+
cacheDirectory?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Set different cache names based on cacheDigest content.
|
|
18
|
+
*/
|
|
19
|
+
cacheDigest?: Array<string | undefined>;
|
|
20
|
+
}
|
|
21
|
+
| boolean;
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
- **Default:**
|
|
25
|
+
|
|
26
|
+
```js
|
|
27
|
+
const defaultBuildCacheConfig = {
|
|
28
|
+
cacheDirectory: './node_modules/.cache/webpack',
|
|
29
|
+
};
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
- **Bundler:** `only support webpack`
|
|
33
|
+
|
|
34
|
+
Controls the caching behavior during the build process.
|
|
35
|
+
|
|
36
|
+
Modern.js will enable build cache by default to improve the compile speed, the generated cache files are write to the `./node_modules/.cache/webpack` directory by default.
|
|
37
|
+
|
|
38
|
+
You can configure the cache path with `buildCache`, e.g.
|
|
39
|
+
|
|
40
|
+
```js
|
|
41
|
+
export default {
|
|
42
|
+
performance: {
|
|
43
|
+
buildCache: {
|
|
44
|
+
cacheDirectory: './node_modules/.custom_cache/webpack',
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
You can also disable the build cache by setting it to `false`:
|
|
51
|
+
|
|
52
|
+
```js
|
|
53
|
+
export default {
|
|
54
|
+
performance: {
|
|
55
|
+
buildCache: false,
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### cacheDigest
|
|
61
|
+
|
|
62
|
+
`cacheDigest` is used to add some environment variables that will affect the build results. Modern.js will set the cache name based on the `cacheDigest` content and the current build mode to ensure that different cacheDigests can hit different caches.
|
|
63
|
+
|
|
64
|
+
#### Example
|
|
65
|
+
|
|
66
|
+
The current project needs to set different extensions according to different `APP_ID`. By default, since the code & configuration & dependencies of the current project have not changed, the previous cache will be hit.
|
|
67
|
+
|
|
68
|
+
By adding `APP_ID` to `cacheDigest`, different cache results will be searched when APP_ID changes, thereby avoiding hitting cache results that do not meet expectations.
|
|
69
|
+
|
|
70
|
+
```js
|
|
71
|
+
export default {
|
|
72
|
+
tools: {
|
|
73
|
+
bundlerChain: (chain: any) => {
|
|
74
|
+
if (process.env.APP_ID === 'xxx') {
|
|
75
|
+
chain.resolve.extensions.prepend('.ttp.ts');
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
performance: {
|
|
80
|
+
buildCache: {
|
|
81
|
+
cacheDigest: [process.env.APP_ID],
|
|
82
|
+
},
|
|
83
|
+
},
|
|
84
|
+
};
|
|
85
|
+
```
|
|
@@ -1,9 +1,25 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: bundleAnalyze
|
|
3
|
+
configName: performance.bundleAnalyze
|
|
3
4
|
---
|
|
4
5
|
|
|
5
6
|
# performance.bundleAnalyze
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
- **Type:** `Object | undefined`
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
Used to enable the [webpack-bundle-analyzer](https://github.com/webpack-contrib/webpack-bundle-analyzer) plugin to analyze the size of the output.
|
|
11
|
+
|
|
12
|
+
By default, Modern.js does not enable `webpack-bundle-analyzer`. When this feature is enabled, the default configuration is as follows:
|
|
13
|
+
|
|
14
|
+
```js
|
|
15
|
+
const defaultConfig = {
|
|
16
|
+
analyzerMode: 'static',
|
|
17
|
+
openAnalyzer: false,
|
|
18
|
+
// Distinguish by target names, such as `web`, `node`, etc.
|
|
19
|
+
reportFilename: `report-${target}.html`,
|
|
20
|
+
};
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
|
|
24
|
+
|
|
25
|
+
<RsbuildConig />
|
|
@@ -1,9 +1,45 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: chunkSplit
|
|
3
|
+
configName: performance.chunkSplit
|
|
3
4
|
---
|
|
4
5
|
|
|
5
6
|
# performance.chunkSplit
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
- **Type:** `Object`
|
|
9
|
+
- **Default:** `{ strategy: 'split-by-experience' }`
|
|
8
10
|
|
|
9
|
-
|
|
11
|
+
`performance.chunkSplit` is used to configure the chunk splitting strategy. The type of `ChunkSplit` is as follows:
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
type ForceSplitting = RegExp[] | Record<string, RegExp>;
|
|
15
|
+
|
|
16
|
+
interface BaseChunkSplit {
|
|
17
|
+
strategy?:
|
|
18
|
+
| 'split-by-module'
|
|
19
|
+
| 'split-by-experience'
|
|
20
|
+
| 'all-in-one'
|
|
21
|
+
| 'single-vendor';
|
|
22
|
+
override?: SplitChunks;
|
|
23
|
+
forceSplitting?: ForceSplitting;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
interface SplitBySize {
|
|
27
|
+
strategy?: 'split-by-size';
|
|
28
|
+
minSize?: number;
|
|
29
|
+
maxSize?: number;
|
|
30
|
+
override?: SplitChunks;
|
|
31
|
+
forceSplitting?: ForceSplitting;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
interface SplitCustom {
|
|
35
|
+
strategy?: 'custom';
|
|
36
|
+
splitChunks?: SplitChunks;
|
|
37
|
+
forceSplitting?: ForceSplitting;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export type ChunkSplit = BaseChunkSplit | SplitBySize | SplitCustom;
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
|
|
44
|
+
|
|
45
|
+
<RsbuildConig />
|
|
@@ -1,9 +1,20 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: dnsPrefetch
|
|
3
|
+
configName: performance.dnsPrefetch
|
|
3
4
|
---
|
|
4
5
|
|
|
5
6
|
# performance.dnsPrefetch
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
- **Type:** `undefined | string[]`
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
- **Default:** `undefined`
|
|
11
|
+
|
|
12
|
+
Specifies that the user agent should preemptively perform DNS resolution for the target resource's origin, refer to [dns-prefetch](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel/dns-prefetch).
|
|
13
|
+
|
|
14
|
+
After this property is set, the domain name can be resolved before the resource is requested, reducing request latency and improving loading performance.
|
|
15
|
+
|
|
16
|
+
See [Using dns-prefetch](https://developer.mozilla.org/en-US/docs/Web/Performance/dns-prefetch) for more details.
|
|
17
|
+
|
|
18
|
+
import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
|
|
19
|
+
|
|
20
|
+
<RsbuildConig />
|
|
@@ -1,9 +1,21 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: preconnect
|
|
3
|
+
configName: performance.preconnect
|
|
3
4
|
---
|
|
4
5
|
|
|
5
6
|
# performance.preconnect
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
- **Type:** `undefined | Array<string | PreconnectOption>`
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
```ts
|
|
11
|
+
interface PreconnectOption {
|
|
12
|
+
href: string;
|
|
13
|
+
crossorigin?: boolean;
|
|
14
|
+
}
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
- **Default:** `undefined`
|
|
18
|
+
|
|
19
|
+
import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
|
|
20
|
+
|
|
21
|
+
<RsbuildConig />
|
|
@@ -1,9 +1,26 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: prefetch
|
|
3
|
+
configName: performance.prefetch
|
|
3
4
|
---
|
|
4
5
|
|
|
5
6
|
# performance.prefetch
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
- **Type:** `undefined | true | PrefetchOption`
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
```ts
|
|
11
|
+
type IncludeType = 'async-chunks' | 'initial' | 'all-assets' | 'all-chunks';
|
|
12
|
+
|
|
13
|
+
type Filter = Array<string | RegExp> | ((filename: string) => boolean);
|
|
14
|
+
|
|
15
|
+
interface PrefetchOption {
|
|
16
|
+
type?: IncludeType;
|
|
17
|
+
include?: Filter;
|
|
18
|
+
exclude?: Filter;
|
|
19
|
+
}
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
- **Default:** `undefined`
|
|
23
|
+
|
|
24
|
+
import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
|
|
25
|
+
|
|
26
|
+
<RsbuildConig />
|
|
@@ -1,9 +1,28 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: preload
|
|
3
|
+
configName: performance.preload
|
|
3
4
|
---
|
|
4
5
|
|
|
5
6
|
# performance.preload
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
- **Type:** `undefined | true | PreloadOption`
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
```ts
|
|
11
|
+
type IncludeType = 'async-chunks' | 'initial' | 'all-assets' | 'all-chunks';
|
|
12
|
+
|
|
13
|
+
type Filter = Array<string | RegExp> | ((filename: string) => boolean);
|
|
14
|
+
|
|
15
|
+
interface PreloadOption {
|
|
16
|
+
type?: IncludeType;
|
|
17
|
+
include?: Filter;
|
|
18
|
+
exclude?: Filter;
|
|
19
|
+
}
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
- **Default:** `undefined`
|
|
23
|
+
|
|
24
|
+
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
|
+
|
|
26
|
+
import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
|
|
27
|
+
|
|
28
|
+
<RsbuildConig />
|
|
@@ -1,9 +1,45 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: printFileSize
|
|
3
|
+
configName: performance.printFileSize
|
|
3
4
|
---
|
|
4
5
|
|
|
5
6
|
# performance.printFileSize
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
- **Type:**
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
```ts
|
|
11
|
+
type PrintFileSizeOptions =
|
|
12
|
+
| {
|
|
13
|
+
/**
|
|
14
|
+
* whether to print total size
|
|
15
|
+
*/
|
|
16
|
+
total?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* whether to print size of each file
|
|
19
|
+
*/
|
|
20
|
+
detail?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* whether to print gzip-compressed size
|
|
23
|
+
*/
|
|
24
|
+
compressed?: boolean;
|
|
25
|
+
}
|
|
26
|
+
| boolean;
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
- **Default:** `true`
|
|
30
|
+
|
|
31
|
+
Whether to print the file sizes after production build.
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
info Production file sizes:
|
|
35
|
+
|
|
36
|
+
File Size Gzipped
|
|
37
|
+
dist/static/js/lib-react.09721b5c.js 152.6 kB 49.0 kB
|
|
38
|
+
dist/html/main/index.html 5.8 kB 2.5 kB
|
|
39
|
+
dist/static/js/main.3568a38e.js 3.5 kB 1.4 kB
|
|
40
|
+
dist/static/css/main.03221f72.css 1.4 kB 741 B
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
|
|
44
|
+
|
|
45
|
+
<RsbuildConig />
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: profile
|
|
3
|
+
configName: performance.profile
|
|
3
4
|
---
|
|
4
5
|
|
|
5
6
|
# performance.profile
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
- **Type:** `boolean`
|
|
9
|
+
- **Default:** `false`
|
|
8
10
|
|
|
9
|
-
|
|
11
|
+
Whether capture timing information for each module, same as the [profile](https://webpack.js.org/configuration/other-options/#profile) config of Rspack.
|
|
12
|
+
|
|
13
|
+
import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
|
|
14
|
+
|
|
15
|
+
<RsbuildConig />
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: removeConsole
|
|
3
|
+
configName: performance.removeConsole
|
|
3
4
|
---
|
|
4
5
|
|
|
5
6
|
# performance.removeConsole
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
- **Type:** `boolean | ConsoleType[]`
|
|
9
|
+
- **Default:** `false`
|
|
8
10
|
|
|
9
|
-
|
|
11
|
+
Whether to remove `console.[methodName]` in production build.
|
|
12
|
+
|
|
13
|
+
import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
|
|
14
|
+
|
|
15
|
+
<RsbuildConig />
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: removeMomentLocale
|
|
3
|
+
configName: performance.removeMomentLocale
|
|
3
4
|
---
|
|
4
5
|
|
|
5
6
|
# performance.removeMomentLocale
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
- **Type:** `boolean`
|
|
9
|
+
- **Default:** `false`
|
|
8
10
|
|
|
9
|
-
|
|
11
|
+
Whether to remove the locales of [moment.js](https://momentjs.com/).
|
|
12
|
+
|
|
13
|
+
import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
|
|
14
|
+
|
|
15
|
+
<RsbuildConig />
|
|
@@ -4,6 +4,46 @@ title: transformLodash
|
|
|
4
4
|
|
|
5
5
|
# performance.transformLodash
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
- **Type:** `boolean`
|
|
8
|
+
- **Default:** `true`
|
|
9
|
+
- **Bundler:** `only support webpack`
|
|
8
10
|
|
|
9
|
-
|
|
11
|
+
Specifies whether to modularize the import of [lodash](https://www.npmjs.com/package/lodash) and remove unused lodash modules to reduce the code size of lodash.
|
|
12
|
+
|
|
13
|
+
This optimization is implemented using [babel-plugin-lodash](https://www.npmjs.com/package/babel-plugin-lodash) and [swc-plugin-lodash](https://github.com/web-infra-dev/swc-plugins/tree/main/crates/plugin_lodash) under the hood.
|
|
14
|
+
|
|
15
|
+
### Example
|
|
16
|
+
|
|
17
|
+
This option is enabled by default, and Modern.js will automatically redirects the code references of `lodash` to sub-paths.
|
|
18
|
+
|
|
19
|
+
For example:
|
|
20
|
+
|
|
21
|
+
```ts title="input.js"
|
|
22
|
+
import _ from 'lodash';
|
|
23
|
+
import { add } from 'lodash/fp';
|
|
24
|
+
|
|
25
|
+
const addOne = add(1);
|
|
26
|
+
_.map([1, 2, 3], addOne);
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
The transformed code will be:
|
|
30
|
+
|
|
31
|
+
```ts title="output.js"
|
|
32
|
+
import _add from 'lodash/fp/add';
|
|
33
|
+
import _map from 'lodash/map';
|
|
34
|
+
|
|
35
|
+
const addOne = _add(1);
|
|
36
|
+
_map([1, 2, 3], addOne);
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Disabling the Transformation
|
|
40
|
+
|
|
41
|
+
In some cases, the import transformation of `lodash` may generate unexpected code. In such cases, you can manually disable this optimization:
|
|
42
|
+
|
|
43
|
+
```js
|
|
44
|
+
export default {
|
|
45
|
+
performance: {
|
|
46
|
+
transformLodash: false,
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
```
|