@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
@@ -13,3 +13,5 @@ The Monorepo solution previously provided by Modern.js was implemented based on
|
|
13
13
|
## Enabling the test capability with the new command
|
14
14
|
|
15
15
|
The test capability previously provided by Modern.js was a simple wrapper based on Jest, which led to issues such as unintuitive Jest configuration and more complex user configuration. In version [v2.53.0](https://github.com/web-infra-dev/modern.js/releases/tag/v2.53.0), the option to enable the test feature in application and module projects has been removed. It is recommended to directly use the testing solutions provided by the community.
|
16
|
+
|
17
|
+
Previously, Modern.js provided a comprehensive set of ESLint rules, including @modern-js (for Node.js project linting rules) and @modern-js-app (for frontend project linting rules). In version [v2.60.0](https://github.com/web-infra-dev/modern.js/releases/tag/v2.60.0), we officially removed these rule sets. We encourage developers to choose appropriate code standard tools based on their needs, either by directly using ESLint with community-recommended rules or by using Biome to enhance code formatting performance.
|
@@ -12,13 +12,13 @@ The BFF service acts as an intermediary between the frontend application and the
|
|
12
12
|
|
13
13
|
## Bundler
|
14
14
|
|
15
|
-
import Bundler from '@
|
15
|
+
import Bundler from '@site-docs-en/components/bundler.mdx';
|
16
16
|
|
17
17
|
<Bundler />
|
18
18
|
|
19
19
|
## Builder
|
20
20
|
|
21
|
-
import Builder from '@
|
21
|
+
import Builder from '@site-docs-en/components/builder.mdx';
|
22
22
|
|
23
23
|
<Builder />
|
24
24
|
|
@@ -36,25 +36,25 @@ Starting from the architecture level, it combines multiple independently deliver
|
|
36
36
|
|
37
37
|
## Micro-frontend
|
38
38
|
|
39
|
-
import MicroFrontend from '@
|
39
|
+
import MicroFrontend from '@site-docs-en/components/micro-frontend.mdx';
|
40
40
|
|
41
41
|
<MicroFrontend />
|
42
42
|
|
43
43
|
## Module Federation
|
44
44
|
|
45
|
-
import ModuleFederation from '@
|
45
|
+
import ModuleFederation from '@site-docs-en/components/module-federation.mdx';
|
46
46
|
|
47
47
|
<ModuleFederation />
|
48
48
|
|
49
49
|
## Rsbuild
|
50
50
|
|
51
|
-
import Rsbuild from '@
|
51
|
+
import Rsbuild from '@site-docs-en/components/rsbuild.mdx';
|
52
52
|
|
53
53
|
<Rsbuild />
|
54
54
|
|
55
55
|
## Rspack
|
56
56
|
|
57
|
-
import Rspack from '@
|
57
|
+
import Rspack from '@site-docs-en/components/rspack.mdx';
|
58
58
|
|
59
59
|
<Rspack />
|
60
60
|
|
@@ -76,6 +76,6 @@ Compared to traditional SSR, SSG can provide faster loading speeds and less serv
|
|
76
76
|
|
77
77
|
## SWC
|
78
78
|
|
79
|
-
import SWC from '@
|
79
|
+
import SWC from '@site-docs-en/components/swc.mdx';
|
80
80
|
|
81
81
|
<SWC />
|
@@ -70,7 +70,7 @@ In a newly created project, the `@modern-js/app-tools` npm package is installed
|
|
70
70
|
|
71
71
|
- It offers commonly used CLI commands such as `modern dev`, `modern build`, and more.
|
72
72
|
- It integrates Modern.js Core, providing capabilities for configuration parsing, plugin loading, and more.
|
73
|
-
- It integrates
|
73
|
+
- It integrates Rsbuild, providing build capabilities.
|
74
74
|
- It integrates Modern.js Server, providing capabilities for development and production servers.
|
75
75
|
|
76
76
|
`@modern-js/app-tools` is implemented based on the plugin system of Modern.js. Essentially, it is a plugin. Therefore, you need to register `appTools` in the `plugins` field of the configuration file:
|
@@ -40,8 +40,8 @@ Modern.js provides [inspect command](https://modernjs.dev/en/apis/app/commands.h
|
|
40
40
|
|
41
41
|
Inspect config succeed, open following files to view the content:
|
42
42
|
|
43
|
-
- Builder Config: /root/my-project/dist/
|
44
|
-
- Rspack Config (web): /root/my-project/dist/rspack.config.web.
|
43
|
+
- Builder Config: /root/my-project/dist/rsbuild.config.mjs
|
44
|
+
- Rspack Config (web): /root/my-project/dist/rspack.config.web.mjs
|
45
45
|
```
|
46
46
|
|
47
47
|
---
|
@@ -0,0 +1,19 @@
|
|
1
|
+
[
|
2
|
+
"introduction",
|
3
|
+
{
|
4
|
+
"type": "dir",
|
5
|
+
"name": "plugin-system",
|
6
|
+
"label": "plugin-system",
|
7
|
+
"collapsed": true
|
8
|
+
},
|
9
|
+
{
|
10
|
+
"type": "dir",
|
11
|
+
"name": "cli-plugins",
|
12
|
+
"label": "cli-plugins"
|
13
|
+
},
|
14
|
+
{
|
15
|
+
"type": "dir",
|
16
|
+
"name": "rsbuild-plugins",
|
17
|
+
"label": "rsbuild-plugins"
|
18
|
+
}
|
19
|
+
]
|
@@ -0,0 +1 @@
|
|
1
|
+
["plugin-tailwind", "plugin-bff", "plugin-ssg", "plugin-swc"]
|
@@ -0,0 +1,5 @@
|
|
1
|
+
# BFF Plugin
|
2
|
+
|
3
|
+
In a Modern.js application, developers can define API files under the `api/lambda` directory and export API functions using the BFF plugin. In the frontend code, these API functions can be directly invoked by importing the file, which initiates the API requests.
|
4
|
+
|
5
|
+
For more details, refer to [BFF - Basic Usage](/guides/advanced-features/bff/function).
|
@@ -0,0 +1,5 @@
|
|
1
|
+
# SSG Plugin
|
2
|
+
|
3
|
+
SSG (Static Site Generation) is a technical solution that renders complete static web pages at build time based on data and templates. This means that in a production environment, pages are populated with content by default and can be cached by a CDN. For pages that do not require dynamic data, SSG can provide better performance and higher security.
|
4
|
+
|
5
|
+
For more details, refer to [Static Site Generation (SSG)](/guides/basic-features/render/ssg).
|
@@ -4,7 +4,14 @@ sidebar_position: 2
|
|
4
4
|
|
5
5
|
# SWC Plugin
|
6
6
|
|
7
|
-
|
7
|
+
:::warning
|
8
|
+
**The SWC feature in the current document is no longer maintained**, we recommend using the Rspack + SWC solution.
|
9
|
+
|
10
|
+
Please refer to [「Use Rspack」](guides/advanced-features/rspack-start) for more information.
|
11
|
+
|
12
|
+
:::
|
13
|
+
|
14
|
+
import SWC from '@site-docs-en/components/swc.mdx';
|
8
15
|
|
9
16
|
<SWC />
|
10
17
|
|
@@ -44,9 +51,9 @@ For a detailed comparison between minifiers, see [minification-benchmarks](https
|
|
44
51
|
|
45
52
|
### Used in Modern.js framework
|
46
53
|
|
47
|
-
The Modern.js framework integrates the
|
54
|
+
The Modern.js framework integrates the SWC plugin, and you can use it in the following ways:
|
48
55
|
|
49
|
-
import EnableSWC from '@
|
56
|
+
import EnableSWC from '@site-docs-en/components/enableSwc.mdx';
|
50
57
|
|
51
58
|
<EnableSWC />
|
52
59
|
|
@@ -290,7 +297,7 @@ This is ported by Next.js team from [@emotion/babel-plugin](https://www.npmjs.co
|
|
290
297
|
#### extensions.pluginImport
|
291
298
|
|
292
299
|
:::tip
|
293
|
-
|
300
|
+
Modern.js provides the [source.transformImport](/configure/app/source/transform-import) config, so you don't need to configure `extensions.pluginImport` manually.
|
294
301
|
:::
|
295
302
|
|
296
303
|
Ported from [babel-plugin-import](https://github.com/umijs/babel-plugin-import), configurations are the same.
|
@@ -0,0 +1,5 @@
|
|
1
|
+
# Tailwind CSS Plugin
|
2
|
+
|
3
|
+
Tailwind CSS is a utility-first CSS framework and design system that allows you to quickly add commonly used styles to components while supporting flexible theme style extensions.
|
4
|
+
|
5
|
+
For more details, refer to [Using Tailwind CSS](/guides/basic-features/css/tailwindcss).
|
@@ -0,0 +1,6 @@
|
|
1
|
+
# Overview
|
2
|
+
|
3
|
+
- [@modern-js/plugin-tailwindcss](/plugin/cli-plugins/plugin-tailwind): Enables the use of Tailwind CSS styles.
|
4
|
+
- [@modern-js/plugin-bff](/plugin/cli-plugins/plugin-bff): Provides BFF services and unified invocation capabilities.
|
5
|
+
- [@modern-js/plugin-ssg](/plugin/cli-plugins/plugin-ssg): Provides static site generation capabilities.
|
6
|
+
- [@modern-js/plugin-swc](/plugin/cli-plugins/plugin-swc): Provides SWC compilation support.
|
@@ -1,11 +1,26 @@
|
|
1
|
-
|
2
|
-
sidebar_position: 21
|
3
|
-
title: Using Rsbuild Plugin
|
4
|
-
---
|
1
|
+
# Plugin
|
5
2
|
|
6
|
-
|
3
|
+
In Modern.js, you can directly use two types of plugins: Modern.js framework plugins and Rsbuild plugins.
|
7
4
|
|
8
|
-
##
|
5
|
+
## Modern.js Framework Plugin
|
6
|
+
|
7
|
+
Modern.js has its own framework plugin system. You can use Modern.js plugins by configuring the [`plugins`](/configure/app/plugins) field in `modern.config.ts`.
|
8
|
+
|
9
|
+
### Plugin Types
|
10
|
+
|
11
|
+
Framework plugins can be categorized into three types:
|
12
|
+
|
13
|
+
1. [CLI Plugins](/plugin/cli-plugins): These are used to provide additional functionality when the Modern.js commands are executed in the application. Examples include adding commands, modifying configuration, and monitoring files. Most build-related capabilities can be achieved through CLI plugins.
|
14
|
+
2. Server Plugins: These add extra functionality when the application receives requests. Examples include adding middleware and modifying request responses.
|
15
|
+
3. Runtime Plugins: These provide additional functionality when the application runs React code. Examples include performing initialization actions and wrapping React higher-order components.
|
16
|
+
|
17
|
+
:::note
|
18
|
+
Server plugins and Runtime plugins are coming soon.
|
19
|
+
:::
|
20
|
+
|
21
|
+
### Developing Plugins
|
22
|
+
|
23
|
+
If you need to develop Modern.js framework plugins, you can read [Modern.js Plugin System](/plugin/plugin-system/introduction) for more information.
|
9
24
|
|
10
25
|
Rsbuild is the build tool of Modern.js. You can modify the default build behavior and add various additional features by adding the Rsbuild plugin, including but not limited to:
|
11
26
|
|
@@ -22,9 +37,15 @@ Modern.js has upgraded the build tool to [Rsbuild](https://rsbuild.dev/) startin
|
|
22
37
|
If your current version is lower than MAJOR_VERSION.46.0, you can upgrade by executing `npx modern upgrade`.
|
23
38
|
:::
|
24
39
|
|
25
|
-
|
40
|
+
:::info
|
41
|
+
For more information about the Rsbuild plugin system, you can read [Rsbuild Official Site - Plugins](https://rsbuild.dev/plugins/list/index).
|
42
|
+
:::
|
43
|
+
|
44
|
+
## Rsbuild Plugin
|
26
45
|
|
27
|
-
###
|
46
|
+
### Official Plugins
|
47
|
+
|
48
|
+
#### Builtin Plugins
|
28
49
|
|
29
50
|
Here are the official Rsbuild plugins built into Modern.js:
|
30
51
|
|
@@ -44,10 +65,14 @@ Here are the official Rsbuild plugins built into Modern.js:
|
|
44
65
|
| [YAML Plugin](https://github.com/rspack-contrib/rsbuild-plugin-yaml) | Used to import YAML files and convert them into JavaScript objects | [TOML File](/guides/basic-features/static-assets/json-files.html#toml-file) |
|
45
66
|
| [TOML Plugin](https://github.com/rspack-contrib/rsbuild-plugin-toml) | Used to import TOML files and convert them into JavaScript objects | [YAML File](/guides/basic-features/static-assets/json-files.html#yaml-file) |
|
46
67
|
|
47
|
-
|
68
|
+
#### Un-builtin Plugins
|
48
69
|
|
49
70
|
Here are the official Rsbuild plugins that are not built into Modern.js:
|
50
71
|
|
51
72
|
- [Image Compress Plugin](https://github.com/rspack-contrib/rsbuild-plugin-image-compress): Compress the image resources used in the project.
|
52
73
|
- [Stylus Plugin](https://rsbuild.dev/plugins/list/plugin-stylus): Use Stylus as the CSS preprocessor.
|
53
74
|
- [UMD Plugin](https://github.com/rspack-contrib/rsbuild-plugin-umd): Used to build outputs in UMD format.
|
75
|
+
|
76
|
+
import OtherPlugins from '@site-docs-en/components/other-plugins.mdx';
|
77
|
+
|
78
|
+
<OtherPlugins />
|
@@ -4,7 +4,7 @@ sidebar_position: 5
|
|
4
4
|
|
5
5
|
# Extending Plugin Hooks
|
6
6
|
|
7
|
-
This section describes how to extend plugin Hooks by dynamically registering [Hook models](/
|
7
|
+
This section describes how to extend plugin Hooks by dynamically registering [Hook models](/plugin/plugin-system/hook).
|
8
8
|
|
9
9
|
## Example
|
10
10
|
|
@@ -28,7 +28,7 @@ const myPlugin = {
|
|
28
28
|
};
|
29
29
|
```
|
30
30
|
|
31
|
-
In addition, plugins allow configuration of the execution order with other plugins. For more information, please refer to [Plugin Relationship](/
|
31
|
+
In addition, plugins allow configuration of the execution order with other plugins. For more information, please refer to [Plugin Relationship](/plugin/plugin-system/relationship).
|
32
32
|
|
33
33
|
### Plugin Types
|
34
34
|
|
@@ -108,7 +108,7 @@ import type { MyPluginHook } from 'xxx';
|
|
108
108
|
const myPlugin: CliPlugin<AppTools & { hooks: MyPluginHook }> = {};
|
109
109
|
```
|
110
110
|
|
111
|
-
Please refer to [Extending Hooks](/
|
111
|
+
Please refer to [Extending Hooks](/plugin/plugin-system/extend) for detailed explanations.
|
112
112
|
|
113
113
|
### Plugin Configuration
|
114
114
|
|
@@ -151,7 +151,7 @@ export const myPlugin = (): CliPlugin => ({
|
|
151
151
|
});
|
152
152
|
```
|
153
153
|
|
154
|
-
For more detail [Plugin API](/
|
154
|
+
For more detail [Plugin API](/plugin/plugin-system/plugin-api).
|
155
155
|
|
156
156
|
### Async setup
|
157
157
|
|
package/docs/en/{guides/topic-detail/framework-plugin → plugin/plugin-system}/plugin-api.mdx
RENAMED
@@ -44,7 +44,7 @@ interface UserConfig {
|
|
44
44
|
Please refer to [Configuration](/configure/app/usage) for the specific meanings of configuration fields.
|
45
45
|
|
46
46
|
:::tip
|
47
|
-
This method returns a read-only configuration and cannot be modified. If you need to modify the configuration, please use [config hook](/
|
47
|
+
This method returns a read-only configuration and cannot be modified. If you need to modify the configuration, please use [config hook](/plugin/plugin-system/hook-list.html#config).
|
48
48
|
:::
|
49
49
|
|
50
50
|
### useResolvedConfigContext
|
@@ -67,7 +67,7 @@ interface NormalizedConfig {
|
|
67
67
|
Please refer to [Configuration](/configure/app/usage) for the specific meanings of configuration fields.
|
68
68
|
|
69
69
|
:::tip
|
70
|
-
This method returns a read-only configuration and cannot be modified. If you need to modify the configuration, please use [config hook](/
|
70
|
+
This method returns a read-only configuration and cannot be modified. If you need to modify the configuration, please use [config hook](/plugin/plugin-system/hook-list.html#config).
|
71
71
|
:::
|
72
72
|
|
73
73
|
### useAppContext
|
@@ -0,0 +1 @@
|
|
1
|
+
["plugin-esbuild"]
|
@@ -11,7 +11,7 @@ Please refer to [「Use Rspack」](guides/advanced-features/rspack-start) for mo
|
|
11
11
|
|
12
12
|
:::
|
13
13
|
|
14
|
-
import Esbuild from '@
|
14
|
+
import Esbuild from '@site-docs-en/components/esbuild.mdx';
|
15
15
|
|
16
16
|
<Esbuild />
|
17
17
|
|
@@ -19,7 +19,7 @@ import Esbuild from '@modern-js/builder-doc/docs/en/shared/esbuild.md';
|
|
19
19
|
|
20
20
|
### Used in Modern.js framework
|
21
21
|
|
22
|
-
The Modern.js framework integrates the
|
22
|
+
The Modern.js framework integrates the esbuild plugin by default, so you don't need to manually install and register the plugin, just use the [tools.esbuild](https://modernjs.dev/en/configure/app/tools/esbuild.html) configuration:
|
23
23
|
|
24
24
|
```js
|
25
25
|
export default defineConfig({
|
@@ -102,7 +102,7 @@ builderPluginEsbuild({
|
|
102
102
|
|
103
103
|
#### Disable transformation
|
104
104
|
|
105
|
-
Set `loader` to `false` to disable esbuild transformation, and
|
105
|
+
Set `loader` to `false` to disable esbuild transformation, and Modern.js will continue to use Babel to transform the code.
|
106
106
|
|
107
107
|
```ts
|
108
108
|
builderPluginEsbuild({
|
@@ -146,7 +146,7 @@ builderPluginEsbuild({
|
|
146
146
|
|
147
147
|
#### Disable minification
|
148
148
|
|
149
|
-
Set `minimize` to `false` to disable esbuild minification, and
|
149
|
+
Set `minimize` to `false` to disable esbuild minification, and Modern.js will continue to use Terser to minify the code.
|
150
150
|
|
151
151
|
```ts
|
152
152
|
builderPluginEsbuild({
|
package/docs/zh/_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",
|
@@ -2,56 +2,13 @@
|
|
2
2
|
title: lambda/*.[tj]s
|
3
3
|
sidebar_position: 3
|
4
4
|
---
|
5
|
-
# lambda/*.[tj]s
|
6
|
-
|
7
|
-
在 [BFF 框架写法](/guides/advanced-features/bff/type.html#框架写法)下,声明 API 路由的文件。除了[某些约定文件](/apis/app/hooks/api/lambda#白名单)外,`lambda/` 目录下的文件会被注册为接口的路由。
|
8
|
-
|
9
|
-
:::info
|
10
|
-
使用 `api` 目录需要开启 BFF 功能,需要在项目下执行 new 命令启用「BFF」功能。
|
11
5
|
|
12
|
-
|
6
|
+
# lambda/*.[tj]s
|
13
7
|
|
14
|
-
|
15
|
-
该文件支持使用 `js` 或 `ts` 语言,但必须使用 `esm` 语法导出函数。
|
8
|
+
开启 BFF 后,`lambda/` 目录下的文件会按照约定被注册为 BFF 的路由。
|
16
9
|
|
10
|
+
:::note
|
11
|
+
文件支持使用 `js` 或 `ts` 语言,但必须使用 `esm` 语法导出函数。
|
17
12
|
:::
|
18
13
|
|
19
|
-
|
20
|
-
|
21
|
-
### 默认路由
|
22
|
-
|
23
|
-
路由系统会将以 `index` 命名的文件会被映射到上一层目录。
|
24
|
-
|
25
|
-
- `api/lambda/index.ts` -> `$BASENAME/`
|
26
|
-
- `api/lambda/user/index.ts` -> `$BASENAME/user`
|
27
|
-
|
28
|
-
### 多级路由
|
29
|
-
|
30
|
-
路由系统也支持解析多级的文件,如果创建文件夹结构,文件仍会以相同方式自动解析路由。
|
31
|
-
|
32
|
-
- `api/lambda/hello.ts` -> `$BASENAME/hello`
|
33
|
-
- `api/lambda/user/list.ts` -> `$BASENAME/user/list`
|
34
|
-
|
35
|
-
### 动态路由
|
36
|
-
|
37
|
-
路由系统支持通过 `[]` 命名的文件目录生成动态路由。
|
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
|
-
其中的 `$BASENAME` 可以在 `modern.config.js` 中进行配置,默认值为 `/api`。
|
44
|
-
|
45
|
-
### 白名单
|
46
|
-
|
47
|
-
默认 `lambda` 目录下所有文件都会当作 BFF 函数文件去解析,但同样我们也设置了白名单,这些文件不被被解析:
|
48
|
-
|
49
|
-
- 命名以 `_` 开头的文件。例如:`_utils.ts`。
|
50
|
-
- 命名以 `_` 开头的文件夹下所有文件。例如:`_utils/index.ts`、`_utils/cp.ts`。
|
51
|
-
- 测试文件。例如:`foo.test.ts`。
|
52
|
-
- TypeScript 类型文件。例如:`hello.d.ts`。
|
53
|
-
- `node_module` 下的文件。
|
54
|
-
|
55
|
-
## 函数定义
|
56
|
-
|
57
|
-
和函数写法下[函数定义](/apis/app/hooks/api/api#函数定义)完全一致。
|
14
|
+
详细内容可以参考 [BFF 函数路由](/guides/advanced-features/bff/function.html#函数路由)。
|
@@ -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
|
|
@@ -1,5 +1,22 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
import { PackageManagerTabs } from '@theme';
|
2
|
+
|
3
|
+
1. 执行 `new` 命令:
|
4
|
+
|
5
|
+
<PackageManagerTabs command="run new" />
|
6
|
+
|
7
|
+
2. 按照提示,选择**启用 BFF 功能**:
|
8
|
+
|
9
|
+
```bash
|
10
|
+
? 请选择你想要的操作 启用可选功能
|
11
|
+
? 请选择功能名称 启用「BFF」功能
|
12
|
+
? 请选择 BFF 类型 框架模式
|
13
|
+
```
|
14
|
+
|
15
|
+
:::note
|
16
|
+
目前推荐使用框架模式创建 BFF,后续我们将会移除 BFF 类型的概念。
|
17
|
+
:::
|
18
|
+
|
19
|
+
3. 根据选择的运行时框架,将下面的代码添加到 `modern.config.[tj]s` 中:
|
3
20
|
|
4
21
|
import { Tabs, Tab as TabItem } from "@theme";
|
5
22
|
|
@@ -0,0 +1,17 @@
|
|
1
|
+
首先,你需要执行 `pnpm run new` 启用 SWC 编译:
|
2
|
+
|
3
|
+
```bash
|
4
|
+
? 请选择你想要的操作 启用可选功能
|
5
|
+
? 请选择功能名称 启用「SWC 编译」
|
6
|
+
```
|
7
|
+
|
8
|
+
执行完成后,你只需在 `modern.config.ts` 文件中注册 Modern.js 的 SWC 插件,即可启用 SWC 编译和压缩能力。
|
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/) 是一款基于 Golang 开发的前端构建工具,具有打包、编译和压缩 JavaScript 代码的功能,相比传统的打包编译工具,esbuild 在性能上有显著提升。在代码压缩方面,相比 webpack 内置的 terser 压缩器,esbuild 在性能上有数十倍的提升。
|
2
|
+
|
3
|
+
Modern.js 提供了 esbuild 插件,让你能使用 esbuild 代替 babel-loader、ts-loader 和 terser 等库进行代码编译和压缩。在大型工程中启用 esbuild 后,**可以大幅度减少代码编译和压缩所需的时间,同时有效避免 OOM (heap out of memory) 问题**。
|
@@ -0,0 +1,7 @@
|
|
1
|
+
模块联邦(Module Federation,简称 MF)是 Webpack 的一个特性。它允许 JavaScript 应用从另一个应用动态加载代码,并在此过程中共享依赖关系。如果使用联邦模块的应用缺少联邦代码所需的依赖项,Webpack 将从该联邦的构建源下载缺失的依赖项。
|
2
|
+
|
3
|
+
这使得可以创建微前端风格的应用程序,多个系统可以共享代码,并在不需要重新构建整个应用程序的情况下进行动态更新。
|
4
|
+
|
5
|
+
Modern.js 提供了一个 Module Federation 的示例项目,请参考 [module-federation-examples - modernjs](https://github.com/module-federation/module-federation-examples/tree/db5bdbeee56f779999a2c591fc553eb94eb20b36/modernjs)。
|
6
|
+
|
7
|
+
你也可以阅读 [webpack Module Federation 文档](https://webpack.docschina.org/concepts/module-federation/) 来了解更多概念。
|
@@ -0,0 +1,28 @@
|
|
1
|
+
在开始使用前,你需要安装 [Node.js](https://nodejs.org/),并保证 Node.js 版本不低于 16.2.0,**我们推荐使用 Node.js 18 的 LTS 版本**。
|
2
|
+
|
3
|
+
你可以通过以下命令检查当前使用的 Node.js 版本:
|
4
|
+
|
5
|
+
```bash
|
6
|
+
node -v
|
7
|
+
```
|
8
|
+
|
9
|
+
如果你当前的环境中尚未安装 Node.js,或是安装的版本低于 16,可以通过 [nvm](https://github.com/nvm-sh/nvm) 或 [fnm](https://github.com/Schniz/fnm) 安装需要的版本。
|
10
|
+
|
11
|
+
下面是通过 nvm 安装 Node.js 18 LTS 版本的例子:
|
12
|
+
|
13
|
+
```bash
|
14
|
+
# 安装 Node.js 18 的长期支持版本
|
15
|
+
nvm install 18 --lts
|
16
|
+
|
17
|
+
# 将刚安装的 Node.js 18 设置为默认版本
|
18
|
+
nvm alias default 18
|
19
|
+
|
20
|
+
# 切换到刚安装的 Node.js 18
|
21
|
+
nvm use 18
|
22
|
+
```
|
23
|
+
|
24
|
+
:::tip nvm 和 fnm
|
25
|
+
nvm 和 fnm 都是 Node.js 版本管理工具。相对来说,nvm 较为成熟和稳定,而 fnm 是使用 Rust 实现的,比 nvm 提供了更好的性能。
|
26
|
+
:::
|
27
|
+
|
28
|
+
此外,在安装 nvm 或 fnm 后,然后只要仓库根目录下有内容为 `lts/hydrogen` 的 `.nvmrc` 文件,进入这个仓库时就会自动安装或切换到正确的 Node.js 版本。
|
File without changes
|
File without changes
|
File without changes
|