@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
package/docs/en/_meta.json
CHANGED
@@ -4,21 +4,26 @@
|
|
4
4
|
"link": "/guides/get-started/introduction",
|
5
5
|
"activeMatch": "/guides/"
|
6
6
|
},
|
7
|
-
{
|
8
|
-
"text": "tutorials",
|
9
|
-
"link": "/tutorials/foundations/introduction",
|
10
|
-
"activeMatch": "/tutorials/"
|
11
|
-
},
|
12
7
|
{
|
13
8
|
"text": "configure",
|
14
9
|
"link": "/configure/app/usage",
|
15
10
|
"activeMatch": "/configure/"
|
16
11
|
},
|
12
|
+
{
|
13
|
+
"text": "plugin-menu",
|
14
|
+
"link": "/plugin/introduction",
|
15
|
+
"activeMatch": "/plugin/"
|
16
|
+
},
|
17
17
|
{
|
18
18
|
"text": "apis",
|
19
19
|
"link": "/apis/app/commands",
|
20
20
|
"activeMatch": "/apis/"
|
21
21
|
},
|
22
|
+
{
|
23
|
+
"text": "tutorials",
|
24
|
+
"link": "/tutorials/foundations/introduction",
|
25
|
+
"activeMatch": "/tutorials/"
|
26
|
+
},
|
22
27
|
{
|
23
28
|
"text": "community",
|
24
29
|
"link": "/community/showcase",
|
@@ -4,54 +4,10 @@ sidebar_position: 3
|
|
4
4
|
---
|
5
5
|
# lambda/*.[tj]s
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
:::info
|
10
|
-
Using the `api` directory requires enabling the BFF function, and you need to run the new command to enable the "BFF" function under the project.
|
7
|
+
After enabling BFF, the files under the `lambda/` directory will be registered as BFF routes according to conventions.
|
11
8
|
|
9
|
+
:::note
|
10
|
+
The files can be written in `js` or `ts` languages, but they must use `esm` syntax to export functions.
|
12
11
|
:::
|
13
12
|
|
14
|
-
|
15
|
-
This file supports using `js` or `ts` language, but must export functions using `esm` syntax.
|
16
|
-
|
17
|
-
:::
|
18
|
-
|
19
|
-
## Routing File Convention
|
20
|
-
|
21
|
-
### Default Routing
|
22
|
-
|
23
|
-
The routing system will map files named `index` to the previous directory.
|
24
|
-
|
25
|
-
- `api/lambda/index.ts` -> `$BASENAME/`
|
26
|
-
- `api/lambda/user/index.ts` -> `$BASENAME/user`
|
27
|
-
|
28
|
-
### Nested Routing
|
29
|
-
|
30
|
-
The routing system also supports parsing nested files. If you create a nested folder structure, the files will still automatically resolve routes in the same way.
|
31
|
-
|
32
|
-
- `api/lambda/hello.ts` -> `$BASENAME/hello`
|
33
|
-
- `api/lambda/user/list.ts` -> `$BASENAME/user/list`
|
34
|
-
|
35
|
-
### Dynamic Routing
|
36
|
-
|
37
|
-
The routing system supports generating dynamic routes through file directories named with `[]`.
|
38
|
-
|
39
|
-
- `api/lambda/user/[username]/info.ts` -> `$BASENAME/user/:username/info`
|
40
|
-
- `api/lambda/user/[username]/delete.ts` -> `$BASENAME/user/:username/delete`
|
41
|
-
- `api/lambda/article/[id]/info.ts` -> `$BASENAME/article/:id/info`
|
42
|
-
|
43
|
-
The `$BASENAME` can be configured in `modern.config.js`, and the default value is `/api`.
|
44
|
-
|
45
|
-
### Allow List
|
46
|
-
|
47
|
-
By default, all files in the `lambda` directory are parsed as BFF function files, but we also set up a whitelist so that these files are not parsed:
|
48
|
-
|
49
|
-
- Files named starting with `_`. For example: `_utils.ts`.
|
50
|
-
- All files in a folder named starting with `_`. For example: `_utils/index.ts`, `_utils/cp.ts`.
|
51
|
-
- Test files. For example: `foo.test.ts`.
|
52
|
-
- TypeScript type files. For example: `hello.d.ts`.
|
53
|
-
- Files under `node_module`.
|
54
|
-
|
55
|
-
## Function Definition
|
56
|
-
|
57
|
-
Completely consistent with the [Function Definition](/apis/app/hooks/api/api#function-definition) under the function mode.
|
13
|
+
For detailed information, refer to [BFF API Routes](/guides/advanced-features/bff/function.html#api-routes).
|
@@ -0,0 +1,11 @@
|
|
1
|
+
---
|
2
|
+
title: _app.[tj]s
|
3
|
+
sidebar_position: 2
|
4
|
+
---
|
5
|
+
# _app.[tj]s
|
6
|
+
|
7
|
+
This file can add pre-middleware to BFF functions. For detailed information, refer to [Extend BFF Server](/guides/advanced-features/bff/extend-server).
|
8
|
+
|
9
|
+
:::note
|
10
|
+
For specific examples, please refer to [hook](/apis/app/runtime/bff/hook).
|
11
|
+
:::
|
@@ -132,7 +132,7 @@ Modern.js 可以划分为三个核心部分:**CLI 工具、服务端和运行
|
|
132
132
|
|
133
133
|
在字节跳动内部,我们借助这些插件 API,结合公司内的基建和平台,封装出内部的企业级框架。如果你需要对 Modern.js 框架进行深度定制,也可以借助这些插件 API 来完成。
|
134
134
|
|
135
|
-
> 如果你对 Modern.js 的插件系统感兴趣,请阅读 [「Modern.js - 自定义插件」](https://modernjs.dev/
|
135
|
+
> 如果你对 Modern.js 的插件系统感兴趣,请阅读 [「Modern.js - 自定义插件」](https://modernjs.dev/plugin/plugin-system/introduction.html)文档。
|
136
136
|
|
137
137
|
### 嵌套路由
|
138
138
|
|
@@ -186,7 +186,6 @@ You can find all the documentation in the `packages/document` folder:
|
|
186
186
|
root
|
187
187
|
└─ packages
|
188
188
|
└─ document
|
189
|
-
├─ builder-doc # Documentation for Modern.js Builder
|
190
189
|
├─ main-doc # Documentation for Modern.js Framework
|
191
190
|
└─ module-doc # Documentation for Modern.js Module
|
192
191
|
```
|
@@ -0,0 +1,3 @@
|
|
1
|
+
Refers to the build layer of Modern.js. The goal of Builder is to provide Modern.js users with out-of-the-box build capabilities and support seamless switching between webpack and Rspack.
|
2
|
+
|
3
|
+
The previous version of Modern.js `MAJOR_VERSION.46.0` used `@modern-js/builder`, which was upgraded to [Rsbuild](https://rsbuild.dev/) starting from `MAJOR_VERSION.46.0`.
|
@@ -0,0 +1,3 @@
|
|
1
|
+
Refers to module bundlers such as [webpack](https://webpack.js.org/), [Rspack](https://www.rspack.dev/).
|
2
|
+
|
3
|
+
The main goal of bundlers is to bundle JavaScript, CSS and other files together, and the bundled files can be used in the browser, Node.js or other environments. When bundler processes the Web application, it builds a dependency graph and then combines every module into one or more bundles.
|
@@ -1,5 +1,22 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
import { PackageManagerTabs } from '@theme';
|
2
|
+
|
3
|
+
1. Execute the `new` command:
|
4
|
+
|
5
|
+
<PackageManagerTabs command="run new" />
|
6
|
+
|
7
|
+
2. Follow the prompts to **enable BFF functionality**:
|
8
|
+
|
9
|
+
```bash
|
10
|
+
? Please select the operation you want to perform Enable optional features
|
11
|
+
? Please select the feature to enable Enable "BFF"
|
12
|
+
? Please select BFF type Framework mode
|
13
|
+
```
|
14
|
+
|
15
|
+
:::note
|
16
|
+
Currently, it is recommended to create BFF in framework mode. We will remove the BFF type concept in the future.
|
17
|
+
:::
|
18
|
+
|
19
|
+
3. Depending on the chosen runtime framework, add the following code to `modern.config.[tj]s`:
|
3
20
|
|
4
21
|
import { Tabs, Tab as TabItem } from "@theme";
|
5
22
|
|
@@ -0,0 +1,17 @@
|
|
1
|
+
First, you need to execute `pnpm run new` to enable the SWC compile:
|
2
|
+
|
3
|
+
```bash
|
4
|
+
? Please select the operation you want: Enable features
|
5
|
+
? Please select the feature name: Enable SWC Compile
|
6
|
+
```
|
7
|
+
|
8
|
+
After the installation, please register the SWC plugin in the `modern.config.ts` file, then the SWC compilation and compression will be enabled.
|
9
|
+
|
10
|
+
```ts title="modern.config.ts"
|
11
|
+
import { appTools, defineConfig } from '@modern-js/app-tools';
|
12
|
+
import { swcPlugin } from '@modern-js/plugin-swc';
|
13
|
+
|
14
|
+
export default defineConfig({
|
15
|
+
plugins: [appTools(), swcPlugin()],
|
16
|
+
});
|
17
|
+
```
|
@@ -0,0 +1,3 @@
|
|
1
|
+
[esbuild](https://esbuild.github.io/) is a front-end build tool based on Golang. It has the functions of bundling, compiling and minimizing JavaScript code. Compared with traditional tools, the performance is significantly improved. When minimizing code, compared to webpack's built-in terser minimizer, esbuild has dozens of times better performance.
|
2
|
+
|
3
|
+
Modern.js provides esbuild plugin that allow you to use esbuild instead of babel-loader, ts-loader and terser for transformation and minification process. When you enable esbuild in a large project, **it can greatly reduce the time required for code compilation and compression, while effectively avoiding OOM (heap out of memory) problems**.
|
@@ -0,0 +1,6 @@
|
|
1
|
+
Micro-frontend (MFE) is an architecture style similar to microservices. It is a composition of multiple independently delivered frontend applications, forming a cohesive whole. MFE decomposes frontend applications into smaller, simpler applications that can be developed, tested, and deployed independently while still appearing as a cohesive single product to users.
|
2
|
+
|
3
|
+
It primarily addresses two problems:
|
4
|
+
|
5
|
+
- Difficulty in maintaining large and complex applications as they evolve over time.
|
6
|
+
- Inefficiency caused by cross-team or cross-department collaboration in project development.
|
@@ -0,0 +1,7 @@
|
|
1
|
+
Module Federation (MF) is a feature of Webpack. It allows a JavaScript application to dynamically load code from another application, and in the process, share dependencies. If an application consuming a federated module does not have a dependency needed by the federated code, Webpack will download the missing dependency from that federated build origin.
|
2
|
+
|
3
|
+
This allows for the creation of micro-frontend-style applications, where multiple systems can share code and be dynamically updated without having to rebuild the entire application.
|
4
|
+
|
5
|
+
Modern.js provides an example project for Module Federation. Please refer to [module-federation-examples - modernjs](https://github.com/module-federation/module-federation-examples/tree/db5bdbeee56f779999a2c591fc553eb94eb20b36/modernjs).
|
6
|
+
|
7
|
+
You can also read the [webpack Module Federation documentation](https://webpack.js.org/concepts/module-federation/) to learn more concepts.
|
@@ -0,0 +1,26 @@
|
|
1
|
+
Before getting started, you will need to install [Node.js](https://nodejs.org/), and ensure that your Node.js version is higher than 16.2.0. **We recommend using the LTS version of Node.js 18.**
|
2
|
+
|
3
|
+
You can check the currently used Node.js version with the following command:
|
4
|
+
|
5
|
+
```bash
|
6
|
+
node -v
|
7
|
+
```
|
8
|
+
|
9
|
+
If you do not have Node.js installed in your current environment, or the installed version is lower than 16.2.0, you can use [nvm](https://github.com/nvm-sh/nvm) or [fnm](https://github.com/Schniz/fnm) to install the required version.
|
10
|
+
|
11
|
+
Here is an example of how to install the Node.js 18 LTS version via nvm:
|
12
|
+
|
13
|
+
```bash
|
14
|
+
# Install the long-term support version of Node.js 18
|
15
|
+
nvm install 18 --lts
|
16
|
+
|
17
|
+
# Make the newly installed Node.js 18 as the default version
|
18
|
+
nvm alias default 18
|
19
|
+
|
20
|
+
# Switch to the newly installed Node.js 18
|
21
|
+
nvm use 18
|
22
|
+
```
|
23
|
+
|
24
|
+
:::tip nvm and fnm
|
25
|
+
Both nvm and fnm are Node.js version management tools. Relatively speaking, nvm is more mature and stable, while fnm is implemented using Rust, which provides better performance than nvm.
|
26
|
+
:::
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,3 @@
|
|
1
|
+
[Rsbuild](https://rsbuild.dev/) is an Rspack-based build tool for the web. The main goal of Rsbuild is to provide out-of-the-box build capabilities for Rspack users, allowing developers to start a web project with zero configuration.
|
2
|
+
|
3
|
+
Rsbuild integrates high-performance Rust-based tools from the community, including Rspack and SWC, to provide first-class build speed and development experience.
|
@@ -0,0 +1,3 @@
|
|
1
|
+
[Rspack](https://www.rspack.dev/) is a high performance JavaScript bundler written in Rust. It offers strong compatibility with the webpack ecosystem, allowing for seamless replacement of webpack, and provides lightning fast build speeds.
|
2
|
+
|
3
|
+
Compared to webpack, Rspack has significantly improved build performance, thanks not only to the language advantages brought by Rust, but also to its parallel architecture and incremental compilation features. Benchmarking has shown that Rspack can provide 5-10 times better compilation performance.
|
@@ -0,0 +1,6 @@
|
|
1
|
+
## Precautions
|
2
|
+
|
3
|
+
Before using Rspack, you need to be aware of the following:
|
4
|
+
|
5
|
+
- Rspack is compatible with most webpack plugins and almost all loaders, but there are still a few webpack plugins that cannot be used for now. For more details, see [Plugin Compatibility](https://rspack.dev/guide/compatibility/plugin).
|
6
|
+
- Rspack uses [SWC](https://rspack.dev/guide/features/builtin-swc-loader) by default for code transformation and compression. In rare cases, you may encounter bugs in SWC in edge cases. You can provide feedback via [SWC issues](https://github.com/swc-project/swc/issues).
|
@@ -0,0 +1,3 @@
|
|
1
|
+
[SWC](https://SWC.rs/) (Speedy Web Compiler) is a transformer and minimizer for JavaScript and TypeScript based on `Rust`. SWC can provide the same abilities with Babel, and it's more than 10x faster than Babel.
|
2
|
+
|
3
|
+
Modern.js has a out-of-box plugin for SWC, power your Web application with Polyfill and minification, we also port some common used Babel plugins to SWC.
|
@@ -9,6 +9,10 @@ sidebar_position: 22
|
|
9
9
|
|
10
10
|
Used to configure whether Modern.js enables auto-registration of plugins.
|
11
11
|
|
12
|
+
:::warning
|
13
|
+
This configuration is not recommended. Compared with manually registering plugin, this configuration is relatively black box and cannot add custom configurations to plugin.
|
14
|
+
:::
|
15
|
+
|
12
16
|
### Manual Registration Plugin
|
13
17
|
|
14
18
|
By default, installing the plugin requires you to register the plugin manually in the `modern.config.ts`.
|
@@ -1,9 +1,19 @@
|
|
1
1
|
---
|
2
2
|
title: assetPrefix
|
3
|
+
configName: dev.assetPrefix
|
3
4
|
---
|
4
5
|
|
5
6
|
# dev.assetPrefix
|
6
7
|
|
7
|
-
|
8
|
+
- **Type:** `boolean | string | 'auto'`
|
9
|
+
- **Default:** `'/'`
|
8
10
|
|
9
|
-
|
11
|
+
This configuration item is used to set the URL prefix of static resources in **development mode**.
|
12
|
+
|
13
|
+
import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
|
14
|
+
|
15
|
+
<RsbuildConig />
|
16
|
+
|
17
|
+
:::warning
|
18
|
+
Please note that this configuration item is only applicable in development mode. In production mode, please use the [output.assetPrefix](/configure/app/output/asset-prefix) configuration item for setting.
|
19
|
+
:::
|
@@ -4,6 +4,18 @@ title: beforeStartUrl
|
|
4
4
|
|
5
5
|
# dev.beforeStartUrl
|
6
6
|
|
7
|
-
|
7
|
+
- **Type:** `() => Promise<void> | void`
|
8
|
+
- **Default:** `undefined`
|
8
9
|
|
9
|
-
|
10
|
+
`dev.beforeStartUrl` is used to execute a callback function before opening the `startUrl`, this config needs to be used together with `dev.startUrl`.
|
11
|
+
|
12
|
+
```js
|
13
|
+
export default {
|
14
|
+
dev: {
|
15
|
+
startUrl: true,
|
16
|
+
beforeStartUrl: async () => {
|
17
|
+
await doSomeThing();
|
18
|
+
},
|
19
|
+
},
|
20
|
+
};
|
21
|
+
```
|
@@ -1,27 +1,25 @@
|
|
1
1
|
---
|
2
2
|
title: client
|
3
|
+
configName: dev.client
|
3
4
|
---
|
4
5
|
|
5
6
|
# dev.client
|
6
7
|
|
7
|
-
Configure the client code injected by Modern.js during the development process. This can be used to set the WebSocket URL for HMR.
|
8
|
-
|
9
8
|
- **Type:**
|
10
9
|
|
11
10
|
```ts
|
12
11
|
type Client = {
|
13
|
-
|
12
|
+
// The protocol name for the WebSocket request
|
14
13
|
protocol?: 'ws' | 'wss';
|
15
|
-
|
14
|
+
// The path for the WebSocket request
|
16
15
|
path?: string;
|
17
|
-
|
18
|
-
port?: string;
|
19
|
-
|
16
|
+
// The port number for the WebSocket request
|
17
|
+
port?: string | number;
|
18
|
+
// The host for the WebSocket request
|
20
19
|
host?: string;
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
*/
|
20
|
+
// The maximum number of reconnection attempts after a WebSocket request is disconnected.
|
21
|
+
reconnect?: number;
|
22
|
+
// Whether to display an error overlay in the browser when a compilation error occurs
|
25
23
|
overlay?: boolean;
|
26
24
|
};
|
27
25
|
```
|
@@ -31,12 +29,18 @@ type Client = {
|
|
31
29
|
```js
|
32
30
|
const defaultConfig = {
|
33
31
|
path: '/webpack-hmr',
|
34
|
-
|
35
|
-
|
36
|
-
host:
|
37
|
-
|
32
|
+
port: '<port>',
|
33
|
+
// By default it is set to "location.hostname"
|
34
|
+
host: '',
|
35
|
+
// By default it is set to "location.protocol === 'https:' ? 'wss' : 'ws'""
|
36
|
+
protocol: undefined,
|
37
|
+
reconnect: 100,
|
38
38
|
overlay: false,
|
39
39
|
};
|
40
40
|
```
|
41
41
|
|
42
|
-
|
42
|
+
Configure the client code injected by Modern.js during the development process. This can be used to set the WebSocket URL for HMR.
|
43
|
+
|
44
|
+
import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
|
45
|
+
|
46
|
+
<RsbuildConig />
|
@@ -1,9 +1,15 @@
|
|
1
1
|
---
|
2
2
|
title: hmr
|
3
|
+
configName: dev.hmr
|
3
4
|
---
|
4
5
|
|
5
6
|
# dev.hmr
|
6
7
|
|
7
|
-
|
8
|
+
- **Type:** `boolean`
|
9
|
+
- **Default:** `true`
|
8
10
|
|
9
|
-
|
11
|
+
Whether to enable Hot Module Replacement.
|
12
|
+
|
13
|
+
import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
|
14
|
+
|
15
|
+
<RsbuildConig />
|
@@ -4,6 +4,19 @@ title: host
|
|
4
4
|
|
5
5
|
# dev.host
|
6
6
|
|
7
|
-
|
7
|
+
- **Type:** `string`
|
8
|
+
- **Default:** `0.0.0.0`
|
8
9
|
|
9
|
-
|
10
|
+
Specify the host that the dev server listens to.
|
11
|
+
|
12
|
+
By default, the dev server will listen to `0.0.0.0`, which means listening to all network interfaces, including `localhost` and public network addresses.
|
13
|
+
|
14
|
+
If you want the dev server to listen only on `localhost`, you can set it to:
|
15
|
+
|
16
|
+
```ts
|
17
|
+
export default {
|
18
|
+
dev: {
|
19
|
+
host: 'localhost',
|
20
|
+
},
|
21
|
+
};
|
22
|
+
```
|
@@ -4,6 +4,75 @@ title: https
|
|
4
4
|
|
5
5
|
# dev.https
|
6
6
|
|
7
|
-
|
7
|
+
- **Type:** `boolean | { key: string; cert: string }`
|
8
|
+
- **Default:** `false`
|
9
|
+
|
10
|
+
After configuring this option, you can enable HTTPS Dev Server, and disabling the HTTP Dev Server.
|
11
|
+
|
12
|
+
HTTP:
|
13
|
+
|
14
|
+
```bash
|
15
|
+
> Local: http://localhost:8080/
|
16
|
+
> Network: http://192.168.0.1:8080/
|
17
|
+
```
|
18
|
+
|
19
|
+
HTTPS:
|
20
|
+
|
21
|
+
```bash
|
22
|
+
> Local: https://localhost:8080/
|
23
|
+
> Network: https://192.168.0.1:8080/
|
24
|
+
```
|
25
|
+
|
26
|
+
#### Automatically generate certificates
|
27
|
+
|
28
|
+
You can directly set `https` to `true`, Modern.js will automatically generate the HTTPS certificate based on [devcert](https://github.com/davewasmer/devcert).
|
29
|
+
|
30
|
+
When using this method, you need to manually install the [devcert](https://github.com/davewasmer/devcert) dependency in your project:
|
31
|
+
|
32
|
+
```bash
|
33
|
+
# npm
|
34
|
+
npm install devcert@1.2.2 -D
|
35
|
+
|
36
|
+
# yarn
|
37
|
+
yarn add devcert@1.2.2 -D
|
38
|
+
|
39
|
+
# pnpm
|
40
|
+
pnpm add devcert@1.2.2 -D
|
41
|
+
```
|
42
|
+
|
43
|
+
Then configure `dev.https` to `true`:
|
44
|
+
|
45
|
+
```ts
|
46
|
+
export default {
|
47
|
+
dev: {
|
48
|
+
https: true,
|
49
|
+
},
|
50
|
+
};
|
51
|
+
```
|
52
|
+
|
53
|
+
The devcert has some limitations, it does not currently support IP addresses yet.
|
54
|
+
|
55
|
+
:::tip
|
56
|
+
The https proxy automatically installs the certificate and needs root authority, please enter the password according to the prompt.
|
57
|
+
**The password is only used to trust the certificate, and will not be leaked or be used elsewhere**.
|
58
|
+
:::
|
59
|
+
|
60
|
+
#### Manually set the certificate
|
61
|
+
|
62
|
+
You can also manually pass in the certificate and the private key required in the `dev.https` option. This parameter will be directly passed to the createServer method of the https module in Node.js.
|
63
|
+
|
64
|
+
For details, please refer to [https.createServer](https://nodejs.org/api/https.html#https_https_createserver_options_requestlistener).
|
65
|
+
|
66
|
+
```ts
|
67
|
+
import fs from 'fs';
|
68
|
+
|
69
|
+
export default {
|
70
|
+
dev: {
|
71
|
+
https: {
|
72
|
+
key: fs.readFileSync('certificates/private.pem'),
|
73
|
+
cert: fs.readFileSync('certificates/public.pem'),
|
74
|
+
},
|
75
|
+
},
|
76
|
+
};
|
77
|
+
```
|
8
78
|
|
9
|
-
<Main />
|
@@ -1,5 +1,6 @@
|
|
1
1
|
---
|
2
2
|
title: liveReload
|
3
|
+
configName: dev.liveReload
|
3
4
|
---
|
4
5
|
|
5
6
|
# dev.liveReload
|
@@ -9,19 +10,6 @@ title: liveReload
|
|
9
10
|
|
10
11
|
Whether to reload the page when source files are changed.
|
11
12
|
|
12
|
-
|
13
|
+
import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
|
13
14
|
|
14
|
-
|
15
|
-
|
16
|
-
## Disabling liveReload
|
17
|
-
|
18
|
-
If you need to disable liveReload, you can set both `dev.hmr` and `dev.liveReload` to `false`. Then, no Web Socket requests will be made to the dev server on the page, and the page will not automatically refresh when file change.
|
19
|
-
|
20
|
-
```js
|
21
|
-
export default {
|
22
|
-
dev: {
|
23
|
-
hmr: false,
|
24
|
-
liveReload: false,
|
25
|
-
},
|
26
|
-
};
|
27
|
-
```
|
15
|
+
<RsbuildConig />
|
@@ -4,6 +4,22 @@ title: port
|
|
4
4
|
|
5
5
|
# dev.port
|
6
6
|
|
7
|
-
|
7
|
+
- **Type:** `number`
|
8
|
+
- **Default:** `8080`
|
9
|
+
|
10
|
+
Specify a port number for Dev Server to listen.
|
11
|
+
|
12
|
+
By default, Dev Server listens on port `8080` and automatically increments the port number when the port is occupied.
|
13
|
+
|
14
|
+
### Example
|
15
|
+
|
16
|
+
Set the port to `3000`:
|
17
|
+
|
18
|
+
```ts
|
19
|
+
export default {
|
20
|
+
dev: {
|
21
|
+
port: 3000,
|
22
|
+
},
|
23
|
+
};
|
24
|
+
```
|
8
25
|
|
9
|
-
<Main />
|
@@ -1,9 +1,24 @@
|
|
1
1
|
---
|
2
2
|
title: progressBar
|
3
|
+
configName: dev.progressBar
|
3
4
|
---
|
4
5
|
|
5
6
|
# dev.progressBar
|
6
7
|
|
7
|
-
|
8
|
+
- **Type:**
|
8
9
|
|
9
|
-
|
10
|
+
```ts
|
11
|
+
type ProgressBar =
|
12
|
+
| boolean
|
13
|
+
| {
|
14
|
+
id?: string;
|
15
|
+
};
|
16
|
+
```
|
17
|
+
|
18
|
+
- **Default:** true
|
19
|
+
|
20
|
+
Whether to display progress bar during compilation.
|
21
|
+
|
22
|
+
import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
|
23
|
+
|
24
|
+
<RsbuildConig />
|