@modern-js/main-doc 2.59.0 → 2.60.1-alpha.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
@@ -4,6 +4,439 @@ title: devServer
|
|
4
4
|
|
5
5
|
# tools.devServer
|
6
6
|
|
7
|
-
|
7
|
+
- **类型:** `Object`
|
8
|
+
- **默认值:** `{}`
|
8
9
|
|
9
|
-
|
10
|
+
通过 `tools.devServer` 可以修改开发环境服务器的配置。
|
11
|
+
|
12
|
+
:::tip
|
13
|
+
Modern.js 中并没有直接使用 [webpack-dev-server](https://webpack.js.org/api/webpack-dev-server/) 或 [@rspack/dev-server](https://www.rspack.dev/guide/dev-server.html), 而是基于 [webpack-dev-middleware](https://github.com/webpack/webpack-dev-middleware) 实现 DevServer。
|
14
|
+
:::
|
15
|
+
|
16
|
+
### 选项
|
17
|
+
|
18
|
+
#### after
|
19
|
+
|
20
|
+
:::warning
|
21
|
+
**Deprecated**:该配置已废弃,请使用 [dev.setupMiddlewares](https://modernjs.dev/configure/app/dev/setup-middlewares) 代替。
|
22
|
+
:::
|
23
|
+
|
24
|
+
- **类型:** `Array`
|
25
|
+
- **默认值:** `[]`
|
26
|
+
|
27
|
+
添加自定义中间件,在所有开发环境中间件后执行。
|
28
|
+
|
29
|
+
```js
|
30
|
+
export default {
|
31
|
+
tools: {
|
32
|
+
devServer: {
|
33
|
+
after: [
|
34
|
+
async (req, res, next) => {
|
35
|
+
console.log('after dev middleware');
|
36
|
+
next();
|
37
|
+
},
|
38
|
+
],
|
39
|
+
},
|
40
|
+
},
|
41
|
+
};
|
42
|
+
```
|
43
|
+
|
44
|
+
`webpack-dev-server` 使用 Express 作为服务端框架。Modern.js 中没有使用任何框架,上述中间件中 `req` 和 `res` 都是 Node 原生对象,因此 `webpack-dev-server` 的 Express 中间件不一定能直接在 Modern.js 中使用。
|
45
|
+
|
46
|
+
如果要迁移 `webpack-dev-server` 中使用的 Express 中间件,可以使用以下方式,将 Express app 作为中间件传入:
|
47
|
+
|
48
|
+
```js
|
49
|
+
import expressMiddleware from 'my-express-middleware';
|
50
|
+
import express from 'express';
|
51
|
+
|
52
|
+
// 初始化 Express app
|
53
|
+
const app = express();
|
54
|
+
app.use(expressMiddleware);
|
55
|
+
|
56
|
+
export default {
|
57
|
+
tools: {
|
58
|
+
devServer: {
|
59
|
+
after: [app],
|
60
|
+
},
|
61
|
+
},
|
62
|
+
};
|
63
|
+
```
|
64
|
+
|
65
|
+
#### before
|
66
|
+
|
67
|
+
:::warning
|
68
|
+
**Deprecated**:该配置已废弃,请使用 [dev.setupMiddlewares](https://modernjs.dev/configure/app/dev/setup-middlewares) 代替。
|
69
|
+
:::
|
70
|
+
|
71
|
+
- **类型:** `Array`
|
72
|
+
- **默认值:** `[]`
|
73
|
+
|
74
|
+
添加自定义中间件,在所有开发环境中间件前执行。
|
75
|
+
|
76
|
+
```js
|
77
|
+
export default {
|
78
|
+
tools: {
|
79
|
+
devServer: {
|
80
|
+
before: [
|
81
|
+
async (req, res, next) => {
|
82
|
+
console.log('before dev middleware');
|
83
|
+
next();
|
84
|
+
},
|
85
|
+
],
|
86
|
+
},
|
87
|
+
},
|
88
|
+
};
|
89
|
+
```
|
90
|
+
|
91
|
+
#### client
|
92
|
+
|
93
|
+
:::warning
|
94
|
+
**Deprecated**:该配置已废弃,请使用 [dev.client](https://modernjs.dev/configure/app/dev/client) 代替。
|
95
|
+
:::
|
96
|
+
|
97
|
+
- **类型:**
|
98
|
+
|
99
|
+
```ts
|
100
|
+
{
|
101
|
+
/** 指定协议名称 */
|
102
|
+
protocol?: string;
|
103
|
+
/** 事件流路径 */
|
104
|
+
path?: string;
|
105
|
+
/** 指定监听请求的端口号 */
|
106
|
+
port?: string;
|
107
|
+
/** 指定要使用的 host */
|
108
|
+
host?: string;
|
109
|
+
}
|
110
|
+
```
|
111
|
+
|
112
|
+
- **默认值:**
|
113
|
+
|
114
|
+
```js
|
115
|
+
const defaultConfig = {
|
116
|
+
path: '/webpack-hmr',
|
117
|
+
// By default it is set to the port number of the dev server
|
118
|
+
port: '',
|
119
|
+
// By default it is set to "location.hostname"
|
120
|
+
host: '',
|
121
|
+
// By default it is set to "location.protocol === 'https:' ? 'wss' : 'ws'""
|
122
|
+
protocol: '',
|
123
|
+
};
|
124
|
+
```
|
125
|
+
|
126
|
+
对应 HMR 客户端的配置,通常用于设置 HMR 对应的 WebSocket URL。
|
127
|
+
|
128
|
+
#### compress
|
129
|
+
|
130
|
+
- **类型:** `boolean`
|
131
|
+
- **默认值:** `true`
|
132
|
+
|
133
|
+
是否对静态资源启用 gzip 压缩。
|
134
|
+
|
135
|
+
如果你需要禁用 gzip 压缩,可以将 `compress` 设置为 `false`:
|
136
|
+
|
137
|
+
```ts
|
138
|
+
export default {
|
139
|
+
tools: {
|
140
|
+
devServer: {
|
141
|
+
compress: false,
|
142
|
+
},
|
143
|
+
},
|
144
|
+
};
|
145
|
+
```
|
146
|
+
|
147
|
+
#### devMiddleware
|
148
|
+
|
149
|
+
:::warning
|
150
|
+
**Deprecated**:该配置已废弃,请使用 [dev.writeToDisk](https://modernjs.dev/configure/app/dev/write-to-disk) 代替。
|
151
|
+
:::
|
152
|
+
|
153
|
+
- **类型:**
|
154
|
+
|
155
|
+
```js
|
156
|
+
{
|
157
|
+
writeToDisk: boolean | ((filename: string) => boolean);
|
158
|
+
}
|
159
|
+
```
|
160
|
+
|
161
|
+
- **默认值:**
|
162
|
+
|
163
|
+
```js
|
164
|
+
{
|
165
|
+
writeToDisk: (file: string) => !file.includes('.hot-update.'),
|
166
|
+
}
|
167
|
+
```
|
168
|
+
|
169
|
+
devMiddleware 配置项。当前配置是 [webpack-dev-middleware](https://github.com/webpack/webpack-dev-middleware) 配置项的子集.
|
170
|
+
|
171
|
+
#### headers
|
172
|
+
|
173
|
+
- **类型:** `Record<string, string>`
|
174
|
+
- **默认值:** `undefined`
|
175
|
+
|
176
|
+
设置自定义响应头。
|
177
|
+
|
178
|
+
```js
|
179
|
+
export default {
|
180
|
+
tools: {
|
181
|
+
devServer: {
|
182
|
+
headers: {
|
183
|
+
'X-Custom-Foo': 'bar',
|
184
|
+
},
|
185
|
+
},
|
186
|
+
},
|
187
|
+
};
|
188
|
+
```
|
189
|
+
|
190
|
+
#### historyApiFallback
|
191
|
+
|
192
|
+
- **类型:** `boolean | ConnectHistoryApiFallbackOptions`
|
193
|
+
- **默认值:** `false`
|
194
|
+
|
195
|
+
在需要对一些 404 响应或其他请求提供替代页面的场景,可通过 `devServer.historyApiFallback` 进行设置:
|
196
|
+
|
197
|
+
```js
|
198
|
+
export default {
|
199
|
+
tools: {
|
200
|
+
devServer: {
|
201
|
+
historyApiFallback: true,
|
202
|
+
},
|
203
|
+
},
|
204
|
+
};
|
205
|
+
```
|
206
|
+
|
207
|
+
更多选项和详细信息可参考 [connect-history-api-fallback](https://github.com/bripkens/connect-history-api-fallback) 文档。
|
208
|
+
|
209
|
+
#### hot
|
210
|
+
|
211
|
+
:::warning
|
212
|
+
**Deprecated**:该配置已废弃,请使用 [dev.hmr](https://modernjs.dev/configure/app/dev/hmr) 代替。
|
213
|
+
:::
|
214
|
+
|
215
|
+
- **类型:** `boolean`
|
216
|
+
- **默认值:** `true`
|
217
|
+
|
218
|
+
是否开启 [Hot Module Replacement](https://webpack.js.org/concepts/hot-module-replacement/) 热更新能力。
|
219
|
+
|
220
|
+
#### https
|
221
|
+
|
222
|
+
:::warning
|
223
|
+
**Deprecated**:该配置已废弃,请使用 [dev.https](https://modernjs.dev/configure/app/dev/https) 代替。
|
224
|
+
:::
|
225
|
+
|
226
|
+
- **类型:** `boolean | { key: string; cert: string }`
|
227
|
+
- **默认值:** `false`
|
228
|
+
|
229
|
+
默认情况下,DevServer 会启用 HTTP 服务器。通过设置 `devServer.https` 为 `true` 将开启对 HTTPS 的支持,同时会禁用 HTTP 服务器。
|
230
|
+
|
231
|
+
你也可以手动传入 HTTPS 服务器所需要的证书和对应的私钥:
|
232
|
+
|
233
|
+
```js
|
234
|
+
export default {
|
235
|
+
tools: {
|
236
|
+
devServer: {
|
237
|
+
https: {
|
238
|
+
key: fs.readFileSync('certificates/private.pem'),
|
239
|
+
cert: fs.readFileSync('certificates/public.pem'),
|
240
|
+
},
|
241
|
+
},
|
242
|
+
},
|
243
|
+
};
|
244
|
+
```
|
245
|
+
|
246
|
+
#### liveReload
|
247
|
+
|
248
|
+
:::warning
|
249
|
+
**Deprecated**:该配置已废弃,请使用 [dev.liveReload](https://modernjs.dev/configure/app/dev/live-reload) 代替。
|
250
|
+
:::
|
251
|
+
|
252
|
+
- **类型:** `boolean`
|
253
|
+
- **默认值:** `true`
|
254
|
+
|
255
|
+
默认情况下,当监听到文件变化时,DevServer 将会刷新页面(为使 liveReload 能够生效,`devServer.hot` 配置项应当禁用)。通过设置 `devServer.liveReload` 为 `false` 可以关闭该行为。
|
256
|
+
|
257
|
+
#### setupMiddlewares
|
258
|
+
|
259
|
+
:::warning
|
260
|
+
**Deprecated**:该配置已废弃,请使用 [dev.setupMiddlewares](https://modernjs.dev/configure/app/dev/setup-middlewares) 代替。
|
261
|
+
:::
|
262
|
+
|
263
|
+
- **类型:**
|
264
|
+
|
265
|
+
```js
|
266
|
+
Array<
|
267
|
+
(
|
268
|
+
middlewares: {
|
269
|
+
unshift: (...handlers: RequestHandler[]) => void;
|
270
|
+
push: (...handlers: RequestHandler[]) => void;
|
271
|
+
},
|
272
|
+
server: {
|
273
|
+
sockWrite: (
|
274
|
+
type: string,
|
275
|
+
data?: string | boolean | Record<string, any>,
|
276
|
+
) => void;
|
277
|
+
},
|
278
|
+
) => void
|
279
|
+
>;
|
280
|
+
```
|
281
|
+
|
282
|
+
- **默认值:** `undefined`
|
283
|
+
|
284
|
+
提供执行自定义函数和应用自定义中间件的能力。
|
285
|
+
|
286
|
+
几种不同中间件之间的执行顺序是: `devServer.before` => `unshift` => 内置中间件 => `push` => `devServer.after`。
|
287
|
+
|
288
|
+
```js
|
289
|
+
export default {
|
290
|
+
tools: {
|
291
|
+
devServer: {
|
292
|
+
setupMiddlewares: [
|
293
|
+
(middlewares, server) => {
|
294
|
+
middlewares.unshift((req, res, next) => {
|
295
|
+
next();
|
296
|
+
});
|
297
|
+
|
298
|
+
middlewares.push((req, res, next) => {
|
299
|
+
next();
|
300
|
+
});
|
301
|
+
},
|
302
|
+
],
|
303
|
+
},
|
304
|
+
},
|
305
|
+
};
|
306
|
+
```
|
307
|
+
|
308
|
+
一些特殊场景需求可能需要使用服务器 API:
|
309
|
+
|
310
|
+
- sockWrite。允许向 hmr 客户端传递一些消息,hmr 客户端将根据接收到的消息类型进行不同的处理。如果你发送一个 "content-changed " 的消息,页面将会重新加载。
|
311
|
+
|
312
|
+
```js
|
313
|
+
export default {
|
314
|
+
tools: {
|
315
|
+
devServer: {
|
316
|
+
setupMiddlewares: [
|
317
|
+
(middlewares, server) => {
|
318
|
+
// 添加自定义 watcher 并在文件更新时触发页面刷新
|
319
|
+
watcher.on('change', changed => {
|
320
|
+
server.sockWrite('content-changed');
|
321
|
+
});
|
322
|
+
},
|
323
|
+
],
|
324
|
+
},
|
325
|
+
},
|
326
|
+
};
|
327
|
+
```
|
328
|
+
|
329
|
+
#### proxy
|
330
|
+
|
331
|
+
- **类型:** `Record<string, string> | Record<string, ProxyDetail>`
|
332
|
+
- **默认值:** `undefined`
|
333
|
+
|
334
|
+
代理请求到指定的服务上。
|
335
|
+
|
336
|
+
```js
|
337
|
+
export default {
|
338
|
+
tools: {
|
339
|
+
devServer: {
|
340
|
+
proxy: {
|
341
|
+
'/api': 'http://localhost:3000',
|
342
|
+
},
|
343
|
+
},
|
344
|
+
},
|
345
|
+
};
|
346
|
+
```
|
347
|
+
|
348
|
+
此时,/api/users 请求将会代理到 http://localhost:3000/api/users。
|
349
|
+
|
350
|
+
如果你不想传递 /api,可以通过 `pathRewrite` 重写请求路径:
|
351
|
+
|
352
|
+
```js
|
353
|
+
export default {
|
354
|
+
tools: {
|
355
|
+
devServer: {
|
356
|
+
proxy: {
|
357
|
+
'/api': {
|
358
|
+
target: 'http://localhost:3000',
|
359
|
+
pathRewrite: { '^/api': '' },
|
360
|
+
},
|
361
|
+
},
|
362
|
+
},
|
363
|
+
},
|
364
|
+
};
|
365
|
+
```
|
366
|
+
|
367
|
+
DevServer Proxy 基于 [http-proxy-middleware](https://github.com/chimurai/http-proxy-middleware/tree/2.x) 实现。你可以使用 http-proxy-middleware 的所有配置项,具体可以查看文档。
|
368
|
+
|
369
|
+
DevServer Proxy 完整类型定义为:
|
370
|
+
|
371
|
+
```ts
|
372
|
+
import type { Options as HttpProxyOptions } from 'http-proxy-middleware';
|
373
|
+
|
374
|
+
type Filter = string | string[] | ((pathname: string, req: Request) => boolean);
|
375
|
+
|
376
|
+
type ProxyDetail = HttpProxyOptions & {
|
377
|
+
bypass?: (
|
378
|
+
req: IncomingMessage,
|
379
|
+
res: ServerResponse,
|
380
|
+
proxyOptions: ProxyOptions,
|
381
|
+
) => string | undefined | null | false;
|
382
|
+
context?: Filter;
|
383
|
+
};
|
384
|
+
|
385
|
+
type ProxyOptions =
|
386
|
+
| Record<string, string>
|
387
|
+
| Record<string, ProxyDetail>
|
388
|
+
| ProxyDetail[]
|
389
|
+
| ProxyDetail;
|
390
|
+
```
|
391
|
+
|
392
|
+
除了 http-proxy-middleware 的选项外,还支持 bypass 和 context 两个配置项:
|
393
|
+
|
394
|
+
- bypass:根据函数的返回值绕过代理。
|
395
|
+
- 返回 `null` 或 `undefined` 会继续用代理处理请求。
|
396
|
+
- 返回 `false` 会返回 404 错误。
|
397
|
+
- 返回一个具体的服务路径,将会使用此路径替代原请求路径。
|
398
|
+
- context:如果你想代理多个特定的路径到同一个目标,你可以使用 context 配置项。
|
399
|
+
|
400
|
+
```js
|
401
|
+
// 自定义 bypass 方法
|
402
|
+
export default {
|
403
|
+
tools: {
|
404
|
+
devServer: {
|
405
|
+
proxy: {
|
406
|
+
'/api': {
|
407
|
+
target: 'http://localhost:3000',
|
408
|
+
bypass: function (req, res, proxyOptions) {
|
409
|
+
if (req.headers.accept.indexOf('html') !== -1) {
|
410
|
+
console.log('Skipping proxy for browser request.');
|
411
|
+
return '/index.html';
|
412
|
+
}
|
413
|
+
},
|
414
|
+
},
|
415
|
+
},
|
416
|
+
},
|
417
|
+
},
|
418
|
+
};
|
419
|
+
```
|
420
|
+
|
421
|
+
```js
|
422
|
+
// 代理多个路径到同一个目标
|
423
|
+
export default {
|
424
|
+
tools: {
|
425
|
+
devServer: {
|
426
|
+
proxy: [
|
427
|
+
{
|
428
|
+
context: ['/auth', '/api'],
|
429
|
+
target: 'http://localhost:3000',
|
430
|
+
},
|
431
|
+
],
|
432
|
+
},
|
433
|
+
},
|
434
|
+
};
|
435
|
+
```
|
436
|
+
|
437
|
+
#### watch
|
438
|
+
|
439
|
+
- **类型:** `boolean`
|
440
|
+
- **默认值:** `true`
|
441
|
+
|
442
|
+
是否监听 `mock/`、`server/`、`api/` 等目录的文件变化。
|
@@ -16,7 +16,7 @@ title: esbuild
|
|
16
16
|
|
17
17
|
## 介绍
|
18
18
|
|
19
|
-
import Esbuild from '@
|
19
|
+
import Esbuild from '@site-docs/components/esbuild.mdx';
|
20
20
|
|
21
21
|
<Esbuild />
|
22
22
|
|
@@ -41,4 +41,4 @@ export default defineConfig({
|
|
41
41
|
});
|
42
42
|
```
|
43
43
|
|
44
|
-
完整配置项请参考 [esbuild 插件配置](/
|
44
|
+
完整配置项请参考 [esbuild 插件配置](/plugin/rsbuild-plugins/plugin-esbuild#配置)。
|
@@ -1,9 +1,28 @@
|
|
1
1
|
---
|
2
2
|
title: htmlPlugin
|
3
|
+
configName: tools.htmlPlugin
|
3
4
|
---
|
4
5
|
|
5
6
|
# tools.htmlPlugin
|
6
7
|
|
7
|
-
|
8
|
+
- **类型:** `boolean | Object | Function`
|
9
|
+
- **默认值:**
|
8
10
|
|
9
|
-
|
11
|
+
```js
|
12
|
+
const defaultOptions = {
|
13
|
+
meta, // 对应 `html.meta` 配置
|
14
|
+
title, // 对应 `html.title` 配置
|
15
|
+
inject, // 对应 `html.inject` 配置
|
16
|
+
favicon, // 对应 `html.favicon` 配置
|
17
|
+
template, // 对应 `html.template` 配置
|
18
|
+
filename, // 基于 `output.distPath` 和 `entryName` 生成
|
19
|
+
templateParameters, // 对应 `html.templateParameters` 配置
|
20
|
+
chunks: [entryName],
|
21
|
+
};
|
22
|
+
```
|
23
|
+
|
24
|
+
通过 `tools.htmlPlugin` 可以修改 [html-rspack-plugin](https://github.com/rspack-contrib/html-rspack-plugin) 或 [html-webpack-plugin](https://github.com/jantimon/html-webpack-plugin) 的配置项。
|
25
|
+
|
26
|
+
import RsbuildConig from '@site-docs/components/rsbuild-config-tooltip';
|
27
|
+
|
28
|
+
<RsbuildConig />
|
@@ -4,6 +4,83 @@ title: less
|
|
4
4
|
|
5
5
|
# tools.less
|
6
6
|
|
7
|
-
|
7
|
+
- **类型:** `Object | Function`
|
8
|
+
- **默认值:**
|
9
|
+
|
10
|
+
```js
|
11
|
+
const defaultOptions = {
|
12
|
+
lessOptions: {
|
13
|
+
javascriptEnabled: true,
|
14
|
+
},
|
15
|
+
// 默认在开发环境下启用 CSS 的 Source Map
|
16
|
+
sourceMap: isDev,
|
17
|
+
};
|
18
|
+
```
|
19
|
+
|
20
|
+
你可以通过 `tools.less` 修改 [less-loader](https://github.com/webpack-contrib/less-loader) 的配置。
|
21
|
+
|
22
|
+
### Object 类型
|
23
|
+
|
24
|
+
当 `tools.less` 的值为 `Object` 类型时,会与默认配置通过 Object.assign 进行浅层合并,值得注意的是,`lessOptions` 会通过 deepMerge 进行深层合并。
|
25
|
+
|
26
|
+
```js
|
27
|
+
export default {
|
28
|
+
tools: {
|
29
|
+
less: {
|
30
|
+
lessOptions: {
|
31
|
+
javascriptEnabled: false,
|
32
|
+
},
|
33
|
+
},
|
34
|
+
},
|
35
|
+
};
|
36
|
+
```
|
37
|
+
|
38
|
+
### Function 类型
|
39
|
+
|
40
|
+
当 `tools.less` 为 Function 类型时,默认配置作为第一个参数传入,可以直接修改配置对象,也可以返回一个值作为最终结果,第二个参数提供了一些可以直接调用的工具函数:
|
41
|
+
|
42
|
+
```js
|
43
|
+
export default {
|
44
|
+
tools: {
|
45
|
+
less(config) {
|
46
|
+
// 修改 lessOptions 配置
|
47
|
+
config.lessOptions = {
|
48
|
+
javascriptEnabled: false,
|
49
|
+
};
|
50
|
+
},
|
51
|
+
},
|
52
|
+
};
|
53
|
+
```
|
54
|
+
|
55
|
+
### 修改 Less 版本
|
56
|
+
|
57
|
+
在某些场景下,如果你需要使用特定的 Less 版本,而不是使用 Modern.js 内置的 Less v4,可以在项目中安装需要使用的 Less 版本,并通过 `less-loader` 的 `implementation` 选项设置。
|
58
|
+
|
59
|
+
```js
|
60
|
+
export default {
|
61
|
+
tools: {
|
62
|
+
less: {
|
63
|
+
implementation: require('less'),
|
64
|
+
},
|
65
|
+
},
|
66
|
+
};
|
67
|
+
```
|
68
|
+
|
69
|
+
### 工具函数
|
70
|
+
|
71
|
+
#### addExcludes
|
72
|
+
|
73
|
+
- **类型:** `(excludes: RegExp | RegExp[]) => void`
|
74
|
+
|
75
|
+
用来指定 `less-loader` 不编译哪些文件,你可以传入一个或多个正则表达式来匹配 less 文件的路径。例如:
|
76
|
+
|
77
|
+
```js
|
78
|
+
export default {
|
79
|
+
tools: {
|
80
|
+
less(config, { addExcludes }) {
|
81
|
+
addExcludes(/node_modules/);
|
82
|
+
},
|
83
|
+
},
|
84
|
+
};
|
85
|
+
```
|
8
86
|
|
9
|
-
<Main />
|
@@ -4,6 +4,54 @@ title: minifyCss
|
|
4
4
|
|
5
5
|
# tools.minifyCss
|
6
6
|
|
7
|
-
|
7
|
+
- **类型:** `Object | Function | undefined`
|
8
|
+
- **默认值:**
|
8
9
|
|
9
|
-
|
10
|
+
```js
|
11
|
+
const defaultOptions = {
|
12
|
+
minimizerOptions: {
|
13
|
+
preset: [
|
14
|
+
'default',
|
15
|
+
{
|
16
|
+
mergeLonghand: false,
|
17
|
+
},
|
18
|
+
],
|
19
|
+
},
|
20
|
+
};
|
21
|
+
```
|
22
|
+
|
23
|
+
在生产环境构建时,Modern.js 会通过 [css-minimizer-webpack-plugin](https://github.com/webpack-contrib/css-minimizer-webpack-plugin) 对 CSS 代码进行压缩优化。可以通过 `tools.minifyCss` 修改 [css-minimizer-webpack-plugin](https://github.com/webpack-contrib/css-minimizer-webpack-plugin) 的配置。
|
24
|
+
|
25
|
+
### Object 类型
|
26
|
+
|
27
|
+
当 `tools.minifyCss` 的值为 `Object` 类型时,会与默认配置通过 `Object.assign` 合并。
|
28
|
+
|
29
|
+
例如下面修改 [cssnano](https://cssnano.co/) 的 `preset` 配置:
|
30
|
+
|
31
|
+
```js
|
32
|
+
export default {
|
33
|
+
tools: {
|
34
|
+
minifyCss: {
|
35
|
+
minimizerOptions: {
|
36
|
+
preset: require.resolve('cssnano-preset-simple'),
|
37
|
+
},
|
38
|
+
},
|
39
|
+
},
|
40
|
+
};
|
41
|
+
```
|
42
|
+
|
43
|
+
### Function 类型
|
44
|
+
|
45
|
+
当 `tools.minifyCss` 配置为 `Function` 类型时,默认配置作为第一个参数传入,可以直接修改配置对象,也可以返回一个值作为最终结果。
|
46
|
+
|
47
|
+
```js
|
48
|
+
export default {
|
49
|
+
tools: {
|
50
|
+
minifyCss: options => {
|
51
|
+
options.minimizerOptions = {
|
52
|
+
preset: require.resolve('cssnano-preset-simple'),
|
53
|
+
},
|
54
|
+
}
|
55
|
+
}
|
56
|
+
};
|
57
|
+
```
|
@@ -1,9 +1,38 @@
|
|
1
1
|
---
|
2
2
|
title: postcss
|
3
|
+
configName: tools.postcss
|
3
4
|
---
|
4
5
|
|
5
6
|
# tools.postcss
|
6
7
|
|
7
|
-
|
8
|
+
- **类型:** `Object | Function`
|
9
|
+
- **默认值:**
|
8
10
|
|
9
|
-
|
11
|
+
```js
|
12
|
+
const defaultOptions = {
|
13
|
+
postcssOptions: {
|
14
|
+
plugins: [
|
15
|
+
// 以下插件默认启用
|
16
|
+
require('postcss-nesting'),
|
17
|
+
require('postcss-media-minmax'),
|
18
|
+
require('postcss-flexbugs-fixes'),
|
19
|
+
require('autoprefixer')({
|
20
|
+
flexbox: 'no-2009',
|
21
|
+
}),
|
22
|
+
// 以下插件仅在需要兼容低版本浏览器时启用
|
23
|
+
require('postcss-custom-properties'),
|
24
|
+
require('postcss-initial'),
|
25
|
+
require('postcss-page-break'),
|
26
|
+
require('postcss-font-variant'),
|
27
|
+
],
|
28
|
+
// 默认在开发环境下启用 CSS 的 Source Map
|
29
|
+
sourceMap: isDev,
|
30
|
+
},
|
31
|
+
};
|
32
|
+
```
|
33
|
+
|
34
|
+
Modern.js 默认集成 PostCSS,你可以通过 `tools.postcss` 对 [postcss-loader](https://github.com/webpack-contrib/postcss-loader) 进行配置。
|
35
|
+
|
36
|
+
import RsbuildConig from '@site-docs/components/rsbuild-config-tooltip';
|
37
|
+
|
38
|
+
<RsbuildConig />
|