@modern-js/main-doc 2.58.0 → 2.58.2
Sign up to get free protection for your applications and to get access to all the features.
- package/docs/en/_meta.json +27 -0
- package/docs/en/apis/_meta.json +13 -0
- package/docs/en/apis/app/hooks/_meta.json +28 -0
- package/docs/en/apis/app/hooks/config/icon.mdx +1 -1
- package/docs/en/apis/app/runtime/_meta.json +50 -0
- package/docs/en/apis/app/runtime/web-server/unstable_middleware.mdx +2 -2
- package/docs/en/community/_meta.json +11 -0
- package/docs/en/community/blog/2022-0708-updates.md +95 -0
- package/docs/en/community/blog/2022-0910-updates.md +80 -0
- package/docs/en/community/blog/_meta.json +6 -0
- package/docs/en/community/blog/v2-release-note.mdx +246 -0
- package/docs/en/components/debug-app.mdx +1 -1
- package/docs/en/configure/_meta.json +78 -0
- package/docs/en/configure/app/bff/prefix.mdx +1 -1
- package/docs/en/configure/app/deploy/microFrontend.mdx +1 -1
- package/docs/en/configure/app/dev/asset-prefix.mdx +1 -1
- package/docs/en/configure/app/dev/before-start-url.mdx +1 -1
- package/docs/en/configure/app/dev/client.mdx +1 -1
- package/docs/en/configure/app/dev/hmr.mdx +1 -1
- package/docs/en/configure/app/dev/host.mdx +1 -1
- package/docs/en/configure/app/dev/https.mdx +1 -1
- package/docs/en/configure/app/dev/live-reload.mdx +1 -1
- package/docs/en/configure/app/dev/port.mdx +1 -1
- package/docs/en/configure/app/dev/progress-bar.mdx +1 -1
- package/docs/en/configure/app/dev/proxy.mdx +1 -1
- package/docs/en/configure/app/dev/setup-middlewares.mdx +1 -1
- package/docs/en/configure/app/dev/start-url.mdx +1 -1
- package/docs/en/configure/app/dev/watch-files.mdx +1 -1
- package/docs/en/configure/app/dev/write-to-disk.mdx +1 -1
- package/docs/en/configure/app/experiments/lazy-compilation.mdx +1 -1
- package/docs/en/configure/app/experiments/source-build.mdx +1 -1
- package/docs/en/configure/app/html/app-icon.mdx +1 -1
- package/docs/en/configure/app/html/crossorigin.mdx +1 -1
- package/docs/en/configure/app/html/disable-html-folder.mdx +1 -1
- package/docs/en/configure/app/html/favicon-by-entries.mdx +1 -1
- package/docs/en/configure/app/html/favicon.mdx +1 -1
- package/docs/en/configure/app/html/inject-by-entries.mdx +1 -1
- package/docs/en/configure/app/html/inject.mdx +1 -1
- package/docs/en/configure/app/html/meta-by-entries.mdx +1 -1
- package/docs/en/configure/app/html/meta.mdx +1 -1
- package/docs/en/configure/app/html/mount-id.mdx +1 -1
- package/docs/en/configure/app/html/script-loading.mdx +1 -1
- package/docs/en/configure/app/html/tags-by-entries.mdx +1 -1
- package/docs/en/configure/app/html/tags.mdx +1 -1
- package/docs/en/configure/app/html/template-by-entries.mdx +1 -1
- package/docs/en/configure/app/html/template-parameters-by-entries.mdx +1 -1
- package/docs/en/configure/app/html/template-parameters.mdx +1 -1
- package/docs/en/configure/app/html/template.mdx +1 -1
- package/docs/en/configure/app/html/title-by-entries.mdx +1 -1
- package/docs/en/configure/app/html/title.mdx +1 -1
- package/docs/en/configure/app/output/asset-prefix.mdx +1 -1
- package/docs/en/configure/app/output/assets-retry.mdx +1 -1
- package/docs/en/configure/app/output/charset.mdx +1 -1
- package/docs/en/configure/app/output/clean-dist-path.mdx +1 -1
- package/docs/en/configure/app/output/convert-to-rem.mdx +1 -1
- package/docs/en/configure/app/output/copy.mdx +1 -1
- package/docs/en/configure/app/output/css-module-local-ident-name.mdx +1 -1
- package/docs/en/configure/app/output/css-modules.mdx +1 -1
- package/docs/en/configure/app/output/data-uri-limit.mdx +1 -1
- package/docs/en/configure/app/output/disable-css-extract.mdx +1 -1
- package/docs/en/configure/app/output/disable-css-module-extension.mdx +1 -1
- package/docs/en/configure/app/output/disable-filename-hash.mdx +1 -1
- package/docs/en/configure/app/output/disable-inline-runtime-chunk.mdx +1 -1
- package/docs/en/configure/app/output/disable-minimize.mdx +1 -1
- package/docs/en/configure/app/output/disable-node-polyfill.mdx +1 -1
- package/docs/en/configure/app/output/disable-source-map.mdx +1 -1
- package/docs/en/configure/app/output/disable-svgr.mdx +1 -1
- package/docs/en/configure/app/output/disable-ts-checker.mdx +1 -1
- package/docs/en/configure/app/output/dist-path.mdx +1 -1
- package/docs/en/configure/app/output/enable-asset-fallback.mdx +1 -1
- package/docs/en/configure/app/output/enable-asset-manifest.mdx +1 -1
- package/docs/en/configure/app/output/enable-css-module-tsdeclaration.mdx +1 -1
- package/docs/en/configure/app/output/enable-inline-route-manifests.mdx +1 -1
- package/docs/en/configure/app/output/enable-inline-scripts.mdx +1 -1
- package/docs/en/configure/app/output/enable-inline-styles.mdx +1 -1
- package/docs/en/configure/app/output/enable-latest-decorators.mdx +1 -1
- package/docs/en/configure/app/output/externals.mdx +1 -1
- package/docs/en/configure/app/output/filename-hash.mdx +1 -1
- package/docs/en/configure/app/output/filename.mdx +1 -1
- package/docs/en/configure/app/output/legal-comments.mdx +1 -1
- package/docs/en/configure/app/output/override-browserslist.mdx +1 -1
- package/docs/en/configure/app/output/polyfill.mdx +1 -1
- package/docs/en/configure/app/output/splitRouteChunks.mdx +1 -1
- package/docs/en/configure/app/output/ssg.mdx +1 -1
- package/docs/en/configure/app/output/svg-default-export.mdx +1 -1
- package/docs/en/configure/app/output/temp-dir.mdx +1 -1
- package/docs/en/configure/app/performance/build-cache.mdx +1 -1
- package/docs/en/configure/app/performance/bundle-analyze.mdx +1 -1
- package/docs/en/configure/app/performance/chunk-split.mdx +1 -1
- package/docs/en/configure/app/performance/dns-prefetch.mdx +1 -1
- package/docs/en/configure/app/performance/preconnect.mdx +1 -1
- package/docs/en/configure/app/performance/prefetch.mdx +1 -1
- package/docs/en/configure/app/performance/preload.mdx +1 -1
- package/docs/en/configure/app/performance/print-file-size.mdx +1 -1
- package/docs/en/configure/app/performance/profile.mdx +1 -1
- package/docs/en/configure/app/performance/remove-console.mdx +1 -1
- package/docs/en/configure/app/performance/remove-moment-locale.mdx +1 -1
- package/docs/en/configure/app/performance/transform-lodash.mdx +1 -1
- package/docs/en/configure/app/runtime/{intro.mdx → 0-intro.mdx} +1 -1
- package/docs/en/configure/app/runtime/master-app.mdx +1 -1
- package/docs/en/configure/app/runtime/router.mdx +3 -1
- package/docs/en/configure/app/runtime/state.mdx +1 -1
- package/docs/en/configure/app/security/check-syntax.mdx +1 -1
- package/docs/en/configure/app/security/nonce.mdx +1 -1
- package/docs/en/configure/app/security/sri.mdx +1 -1
- package/docs/en/configure/app/server/base-url.mdx +1 -1
- package/docs/en/configure/app/server/enable-framework-ext.mdx +1 -1
- package/docs/en/configure/app/server/port.mdx +1 -1
- package/docs/en/configure/app/server/public-routes.mdx +1 -1
- package/docs/en/configure/app/server/routes.mdx +1 -1
- package/docs/en/configure/app/server/ssr-by-entries.mdx +1 -1
- package/docs/en/configure/app/server/ssr.mdx +1 -1
- package/docs/en/configure/app/source/alias-strategy.mdx +1 -1
- package/docs/en/configure/app/source/alias.mdx +1 -1
- package/docs/en/configure/app/source/config-dir.mdx +1 -1
- package/docs/en/configure/app/source/decorators.mdx +1 -1
- package/docs/en/configure/app/source/define.mdx +1 -1
- package/docs/en/configure/app/source/disable-default-entries.mdx +1 -1
- package/docs/en/configure/app/source/disable-entry-dirs.mdx +1 -1
- package/docs/en/configure/app/source/enable-async-entry.mdx +1 -1
- package/docs/en/configure/app/source/enable-custom-entry.mdx +1 -1
- package/docs/en/configure/app/source/entries-dir.mdx +1 -1
- package/docs/en/configure/app/source/entries.mdx +1 -1
- package/docs/en/configure/app/source/exclude.mdx +1 -1
- package/docs/en/configure/app/source/global-vars.mdx +1 -1
- package/docs/en/configure/app/source/include.mdx +1 -1
- package/docs/en/configure/app/source/mainEntryName.mdx +1 -1
- package/docs/en/configure/app/source/module-scopes.mdx +1 -1
- package/docs/en/configure/app/source/pre-entry.mdx +1 -1
- package/docs/en/configure/app/source/resolve-extension-prefix.mdx +1 -1
- package/docs/en/configure/app/source/resolve-main-fields.mdx +1 -1
- package/docs/en/configure/app/source/transform-import.mdx +1 -1
- package/docs/en/configure/app/tools/autoprefixer.mdx +1 -1
- package/docs/en/configure/app/tools/babel.mdx +1 -1
- package/docs/en/configure/app/tools/bundler-chain.mdx +1 -1
- package/docs/en/configure/app/tools/css-extract.mdx +1 -1
- package/docs/en/configure/app/tools/css-loader.mdx +1 -1
- package/docs/en/configure/app/tools/dev-server.mdx +1 -1
- package/docs/en/configure/app/tools/esbuild.mdx +2 -2
- package/docs/en/configure/app/tools/html-plugin.mdx +1 -1
- package/docs/en/configure/app/tools/less.mdx +1 -1
- package/docs/en/configure/app/tools/minify-css.mdx +1 -1
- package/docs/en/configure/app/tools/postcss.mdx +1 -1
- package/docs/en/configure/app/tools/pug.mdx +1 -1
- package/docs/en/configure/app/tools/rspack.mdx +1 -1
- package/docs/en/configure/app/tools/sass.mdx +1 -1
- package/docs/en/configure/app/tools/style-loader.mdx +1 -1
- package/docs/en/configure/app/tools/styled-components.mdx +1 -1
- package/docs/en/configure/app/tools/swc.mdx +2 -2
- package/docs/en/configure/app/tools/tailwindcss.mdx +1 -1
- package/docs/en/configure/app/tools/terser.mdx +1 -1
- package/docs/en/configure/app/tools/ts-checker.mdx +1 -1
- package/docs/en/configure/app/tools/ts-loader.mdx +1 -1
- package/docs/en/configure/app/tools/webpack-chain.mdx +1 -1
- package/docs/en/configure/app/tools/webpack.mdx +1 -1
- package/docs/en/guides/_meta.json +38 -0
- package/docs/en/guides/advanced-features/_meta.json +26 -0
- package/docs/en/guides/advanced-features/bff/_meta.json +6 -0
- package/docs/en/guides/advanced-features/rsbuild-plugin.mdx +9 -9
- package/docs/en/guides/advanced-features/ssr/_meta.json +5 -0
- package/docs/en/guides/basic-features/_meta.json +22 -0
- package/docs/en/guides/basic-features/data/_meta.json +4 -0
- package/docs/en/guides/concept/_meta.json +4 -0
- package/docs/en/guides/{deprecat.md → deprecated.md} +1 -1
- package/docs/en/guides/get-started/_meta.json +7 -0
- package/docs/en/guides/get-started/quick-start.mdx +2 -2
- package/docs/en/guides/get-started/upgrade.mdx +1 -1
- package/docs/en/guides/rsbuild-plugins/plugin-esbuild.mdx +205 -0
- package/docs/en/guides/rsbuild-plugins/plugin-swc.mdx +356 -0
- package/docs/en/guides/topic-detail/_meta.json +26 -0
- package/docs/en/guides/topic-detail/framework-plugin/_meta.json +10 -0
- package/docs/en/guides/topic-detail/generator/_meta.json +17 -0
- package/docs/en/guides/topic-detail/generator/create/_meta.json +5 -0
- package/docs/en/guides/topic-detail/generator/new/_meta.json +5 -0
- package/docs/en/guides/topic-detail/generator/plugin/_meta.json +11 -0
- package/docs/en/guides/topic-detail/model/_meta.json +14 -0
- package/docs/en/guides/troubleshooting/_meta.json +6 -0
- package/docs/en/guides/troubleshooting/dependencies.mdx +4 -4
- package/docs/en/tutorials/_meta.json +17 -0
- package/docs/zh/_meta.json +27 -0
- package/docs/zh/apis/_meta.json +13 -0
- package/docs/zh/apis/app/hooks/_meta.json +28 -0
- package/docs/zh/apis/app/hooks/config/icon.mdx +1 -1
- package/docs/zh/apis/app/runtime/_meta.json +50 -0
- package/docs/zh/apis/app/runtime/web-server/unstable_middleware.mdx +2 -2
- package/docs/zh/community/_meta.json +11 -0
- package/docs/zh/community/blog/_meta.json +6 -0
- package/docs/zh/community/blog/v2-release-note.mdx +1 -2
- package/docs/zh/components/debug-app.mdx +1 -1
- package/docs/zh/configure/_meta.json +78 -0
- package/docs/zh/configure/app/auto-load-plugin.mdx +1 -1
- package/docs/zh/configure/app/bff/prefix.mdx +1 -1
- package/docs/zh/configure/app/builder-plugins.mdx +1 -1
- package/docs/zh/configure/app/deploy/microFrontend.mdx +1 -1
- package/docs/zh/configure/app/dev/asset-prefix.mdx +1 -1
- package/docs/zh/configure/app/dev/before-start-url.mdx +1 -1
- package/docs/zh/configure/app/dev/client.mdx +1 -1
- package/docs/zh/configure/app/dev/hmr.mdx +1 -1
- package/docs/zh/configure/app/dev/host.mdx +1 -1
- package/docs/zh/configure/app/dev/https.mdx +1 -1
- package/docs/zh/configure/app/dev/live-reload.mdx +1 -1
- package/docs/zh/configure/app/dev/port.mdx +1 -1
- package/docs/zh/configure/app/dev/progress-bar.mdx +1 -1
- package/docs/zh/configure/app/dev/proxy.mdx +1 -1
- package/docs/zh/configure/app/dev/setup-middlewares.mdx +1 -1
- package/docs/zh/configure/app/dev/start-url.mdx +1 -1
- package/docs/zh/configure/app/dev/watch-files.mdx +1 -1
- package/docs/zh/configure/app/dev/write-to-disk.mdx +1 -1
- package/docs/zh/configure/app/experiments/lazy-compilation.mdx +1 -1
- package/docs/zh/configure/app/experiments/source-build.mdx +1 -1
- package/docs/zh/configure/app/html/app-icon.mdx +1 -1
- package/docs/zh/configure/app/html/crossorigin.mdx +1 -1
- package/docs/zh/configure/app/html/disable-html-folder.mdx +1 -1
- package/docs/zh/configure/app/html/favicon-by-entries.mdx +1 -1
- package/docs/zh/configure/app/html/favicon.mdx +1 -1
- package/docs/zh/configure/app/html/inject-by-entries.mdx +1 -1
- package/docs/zh/configure/app/html/inject.mdx +1 -1
- package/docs/zh/configure/app/html/meta-by-entries.mdx +1 -1
- package/docs/zh/configure/app/html/meta.mdx +1 -1
- package/docs/zh/configure/app/html/mount-id.mdx +1 -1
- package/docs/zh/configure/app/html/script-loading.mdx +1 -1
- package/docs/zh/configure/app/html/tags-by-entries.mdx +1 -1
- package/docs/zh/configure/app/html/tags.mdx +1 -1
- package/docs/zh/configure/app/html/template-by-entries.mdx +1 -1
- package/docs/zh/configure/app/html/template-parameters-by-entries.mdx +1 -1
- package/docs/zh/configure/app/html/template-parameters.mdx +1 -1
- package/docs/zh/configure/app/html/template.mdx +1 -1
- package/docs/zh/configure/app/html/title-by-entries.mdx +1 -1
- package/docs/zh/configure/app/html/title.mdx +1 -1
- package/docs/zh/configure/app/output/asset-prefix.mdx +1 -1
- package/docs/zh/configure/app/output/assets-retry.mdx +1 -1
- package/docs/zh/configure/app/output/charset.mdx +1 -1
- package/docs/zh/configure/app/output/clean-dist-path.mdx +1 -1
- package/docs/zh/configure/app/output/convert-to-rem.mdx +1 -1
- package/docs/zh/configure/app/output/copy.mdx +1 -1
- package/docs/zh/configure/app/output/css-module-local-ident-name.mdx +1 -1
- package/docs/zh/configure/app/output/css-modules.mdx +1 -1
- package/docs/zh/configure/app/output/data-uri-limit.mdx +1 -1
- package/docs/zh/configure/app/output/disable-css-extract.mdx +1 -1
- package/docs/zh/configure/app/output/disable-css-module-extension.mdx +1 -1
- package/docs/zh/configure/app/output/disable-filename-hash.mdx +1 -1
- package/docs/zh/configure/app/output/disable-inline-runtime-chunk.mdx +1 -1
- package/docs/zh/configure/app/output/disable-minimize.mdx +1 -1
- package/docs/zh/configure/app/output/disable-node-polyfill.mdx +1 -1
- package/docs/zh/configure/app/output/disable-source-map.mdx +1 -1
- package/docs/zh/configure/app/output/disable-svgr.mdx +1 -1
- package/docs/zh/configure/app/output/disable-ts-checker.mdx +1 -1
- package/docs/zh/configure/app/output/dist-path.mdx +1 -1
- package/docs/zh/configure/app/output/enable-asset-fallback.mdx +1 -1
- package/docs/zh/configure/app/output/enable-asset-manifest.mdx +1 -1
- package/docs/zh/configure/app/output/enable-css-module-tsdeclaration.mdx +1 -1
- package/docs/zh/configure/app/output/enable-inline-route-manifests.mdx +1 -1
- package/docs/zh/configure/app/output/enable-inline-scripts.mdx +1 -1
- package/docs/zh/configure/app/output/enable-inline-styles.mdx +1 -1
- package/docs/zh/configure/app/output/enable-latest-decorators.mdx +1 -1
- package/docs/zh/configure/app/output/externals.mdx +1 -1
- package/docs/zh/configure/app/output/filename-hash.mdx +1 -1
- package/docs/zh/configure/app/output/filename.mdx +1 -1
- package/docs/zh/configure/app/output/legal-comments.mdx +1 -1
- package/docs/zh/configure/app/output/override-browserslist.mdx +1 -1
- package/docs/zh/configure/app/output/polyfill.mdx +1 -1
- package/docs/zh/configure/app/output/splitRouteChunks.mdx +1 -1
- package/docs/zh/configure/app/output/ssg.mdx +1 -1
- package/docs/zh/configure/app/output/svg-default-export.mdx +1 -1
- package/docs/zh/configure/app/output/temp-dir.mdx +1 -1
- package/docs/zh/configure/app/performance/build-cache.mdx +1 -1
- package/docs/zh/configure/app/performance/bundle-analyze.mdx +1 -1
- package/docs/zh/configure/app/performance/chunk-split.mdx +1 -1
- package/docs/zh/configure/app/performance/dns-prefetch.mdx +1 -1
- package/docs/zh/configure/app/performance/preconnect.mdx +1 -1
- package/docs/zh/configure/app/performance/prefetch.mdx +1 -1
- package/docs/zh/configure/app/performance/preload.mdx +1 -1
- package/docs/zh/configure/app/performance/print-file-size.mdx +1 -1
- package/docs/zh/configure/app/performance/profile.mdx +1 -1
- package/docs/zh/configure/app/performance/remove-console.mdx +1 -1
- package/docs/zh/configure/app/performance/remove-moment-locale.mdx +1 -1
- package/docs/zh/configure/app/performance/transform-lodash.mdx +1 -1
- package/docs/zh/configure/app/plugins.mdx +1 -1
- package/docs/zh/configure/app/runtime/{intro.mdx → 0-intro.mdx} +1 -1
- package/docs/zh/configure/app/runtime/master-app.mdx +1 -1
- package/docs/zh/configure/app/runtime/router.mdx +3 -1
- package/docs/zh/configure/app/runtime/state.mdx +1 -1
- package/docs/zh/configure/app/security/check-syntax.mdx +1 -1
- package/docs/zh/configure/app/security/nonce.mdx +1 -1
- package/docs/zh/configure/app/security/sri.mdx +1 -1
- package/docs/zh/configure/app/server/base-url.mdx +1 -1
- package/docs/zh/configure/app/server/enable-framework-ext.mdx +1 -1
- package/docs/zh/configure/app/server/port.mdx +1 -1
- package/docs/zh/configure/app/server/public-routes.mdx +1 -1
- package/docs/zh/configure/app/server/routes.mdx +1 -1
- package/docs/zh/configure/app/server/ssr-by-entries.mdx +1 -1
- package/docs/zh/configure/app/server/ssr.mdx +1 -1
- package/docs/zh/configure/app/source/alias-strategy.mdx +1 -1
- package/docs/zh/configure/app/source/alias.mdx +1 -1
- package/docs/zh/configure/app/source/config-dir.mdx +1 -1
- package/docs/zh/configure/app/source/decorators.mdx +1 -1
- package/docs/zh/configure/app/source/define.mdx +1 -1
- package/docs/zh/configure/app/source/disable-default-entries.mdx +1 -1
- package/docs/zh/configure/app/source/disable-entry-dirs.mdx +1 -1
- package/docs/zh/configure/app/source/enable-async-entry.mdx +1 -1
- package/docs/zh/configure/app/source/enable-custom-entry.mdx +1 -1
- package/docs/zh/configure/app/source/entries-dir.mdx +1 -1
- package/docs/zh/configure/app/source/entries.mdx +1 -1
- package/docs/zh/configure/app/source/exclude.mdx +1 -1
- package/docs/zh/configure/app/source/global-vars.mdx +1 -1
- package/docs/zh/configure/app/source/include.mdx +1 -1
- package/docs/zh/configure/app/source/mainEntryName.mdx +1 -1
- package/docs/zh/configure/app/source/module-scopes.mdx +1 -1
- package/docs/zh/configure/app/source/pre-entry.mdx +1 -1
- package/docs/zh/configure/app/source/resolve-extension-prefix.mdx +1 -1
- package/docs/zh/configure/app/source/resolve-main-fields.mdx +1 -1
- package/docs/zh/configure/app/source/transform-import.mdx +1 -1
- package/docs/zh/configure/app/tools/autoprefixer.mdx +1 -1
- package/docs/zh/configure/app/tools/babel.mdx +1 -1
- package/docs/zh/configure/app/tools/bundler-chain.mdx +1 -1
- package/docs/zh/configure/app/tools/css-extract.mdx +1 -1
- package/docs/zh/configure/app/tools/css-loader.mdx +1 -1
- package/docs/zh/configure/app/tools/dev-server.mdx +1 -1
- package/docs/zh/configure/app/tools/esbuild.mdx +2 -2
- package/docs/zh/configure/app/tools/html-plugin.mdx +1 -1
- package/docs/zh/configure/app/tools/less.mdx +1 -1
- package/docs/zh/configure/app/tools/minify-css.mdx +1 -1
- package/docs/zh/configure/app/tools/postcss.mdx +1 -1
- package/docs/zh/configure/app/tools/pug.mdx +1 -1
- package/docs/zh/configure/app/tools/rspack.mdx +1 -1
- package/docs/zh/configure/app/tools/sass.mdx +1 -1
- package/docs/zh/configure/app/tools/style-loader.mdx +1 -1
- package/docs/zh/configure/app/tools/styled-components.mdx +1 -1
- package/docs/zh/configure/app/tools/swc.mdx +2 -2
- package/docs/zh/configure/app/tools/tailwindcss.mdx +1 -1
- package/docs/zh/configure/app/tools/terser.mdx +1 -1
- package/docs/zh/configure/app/tools/ts-checker.mdx +1 -1
- package/docs/zh/configure/app/tools/ts-loader.mdx +1 -1
- package/docs/zh/configure/app/tools/webpack-chain.mdx +1 -1
- package/docs/zh/configure/app/tools/webpack.mdx +1 -1
- package/docs/zh/guides/_meta.json +38 -0
- package/docs/zh/guides/advanced-features/_meta.json +26 -0
- package/docs/zh/guides/advanced-features/bff/_meta.json +6 -0
- package/docs/zh/guides/advanced-features/rsbuild-plugin.mdx +9 -9
- package/docs/zh/guides/advanced-features/ssr/_meta.json +5 -0
- package/docs/zh/guides/basic-features/_meta.json +22 -0
- package/docs/zh/guides/basic-features/data/_meta.json +4 -0
- package/docs/zh/guides/basic-features/mock.mdx +1 -1
- package/docs/zh/guides/concept/_meta.json +4 -0
- package/docs/zh/guides/get-started/_meta.json +7 -0
- package/docs/zh/guides/get-started/quick-start.mdx +2 -2
- package/docs/zh/guides/get-started/upgrade.mdx +1 -1
- package/docs/zh/guides/rsbuild-plugins/plugin-esbuild.mdx +201 -0
- package/docs/zh/guides/rsbuild-plugins/plugin-swc.mdx +344 -0
- package/docs/zh/guides/topic-detail/_meta.json +26 -0
- package/docs/zh/guides/topic-detail/framework-plugin/_meta.json +10 -0
- package/docs/zh/guides/topic-detail/generator/_meta.json +17 -0
- package/docs/zh/guides/topic-detail/generator/create/_meta.json +5 -0
- package/docs/zh/guides/topic-detail/generator/new/_meta.json +5 -0
- package/docs/zh/guides/topic-detail/generator/plugin/_meta.json +11 -0
- package/docs/zh/guides/topic-detail/model/_meta.json +14 -0
- package/docs/zh/guides/troubleshooting/_meta.json +6 -0
- package/docs/zh/guides/troubleshooting/dependencies.mdx +4 -4
- package/docs/zh/tutorials/_meta.json +17 -0
- package/i18n.json +110 -0
- package/package.json +9 -10
- package/rspress.config.ts +3 -20
- package/src/components/ContentCard/index.tsx +1 -1
- package/src/components/FeatureLayout/index.tsx +1 -1
- package/src/components/Footer/index.tsx +2 -2
- package/src/components/ListCard/index.tsx +1 -1
- package/src/components/Sandpack/index.tsx +4 -2
- package/src/components/SecondaryTitle/index.tsx +1 -1
- package/src/i18n/zhCN.ts +1 -1
- package/src/index.ts +0 -1
- package/src/pages/index.tsx +13 -5
- package/docs/en/apis/app/hooks/_category_.json +0 -5
- package/docs/en/apis/app/hooks/api/_category_.json +0 -4
- package/docs/en/apis/app/hooks/config/_category_.json +0 -4
- package/docs/en/apis/app/hooks/server/_category_.json +0 -4
- package/docs/en/apis/app/hooks/src/_category_.json +0 -4
- package/docs/en/apis/app/runtime/_category_.json +0 -5
- package/docs/en/apis/app/runtime/app/_category_.json +0 -4
- package/docs/en/apis/app/runtime/bff/_category_.json +0 -4
- package/docs/en/apis/app/runtime/core/_category_.json +0 -5
- package/docs/en/apis/app/runtime/model/_category_.json +0 -4
- package/docs/en/apis/app/runtime/router/_category_.json +0 -4
- package/docs/en/apis/app/runtime/ssr/_category_.json +0 -4
- package/docs/en/apis/app/runtime/utility/_category_.json +0 -4
- package/docs/en/apis/app/runtime/web-server/_category_.json +0 -4
- package/docs/en/community/blog/_category_.json +0 -6
- package/docs/en/configure/app/bff/_category_.json +0 -4
- package/docs/en/configure/app/deploy/_category_.json +0 -4
- package/docs/en/configure/app/dev/_category_.json +0 -4
- package/docs/en/configure/app/experiments/_category_.json +0 -4
- package/docs/en/configure/app/html/_category_.json +0 -4
- package/docs/en/configure/app/output/_category_.json +0 -4
- package/docs/en/configure/app/performance/_category_.json +0 -4
- package/docs/en/configure/app/runtime/_category_.json +0 -4
- package/docs/en/configure/app/security/_category_.json +0 -4
- package/docs/en/configure/app/server/_category_.json +0 -4
- package/docs/en/configure/app/source/_category_.json +0 -4
- package/docs/en/configure/app/tools/_category_.json +0 -4
- package/docs/en/guides/advanced-features/_category_.json +0 -5
- package/docs/en/guides/advanced-features/bff/_category_.json +0 -8
- package/docs/en/guides/advanced-features/ssr/_category_.json +0 -8
- package/docs/en/guides/basic-features/_category_.json +0 -5
- package/docs/en/guides/basic-features/data/_category_.json +0 -4
- package/docs/en/guides/concept/_category_.json +0 -5
- package/docs/en/guides/get-started/_category_.json +0 -5
- package/docs/en/guides/topic-detail/_category_.json +0 -5
- package/docs/en/guides/topic-detail/framework-plugin/_category_.json +0 -4
- package/docs/en/guides/topic-detail/generator/_category_.json +0 -4
- package/docs/en/guides/topic-detail/generator/create/_category_.json +0 -4
- package/docs/en/guides/topic-detail/generator/new/_category_.json +0 -4
- package/docs/en/guides/topic-detail/generator/plugin/_category_.json +0 -4
- package/docs/en/guides/topic-detail/generator/plugin/api/_category_.json +0 -4
- package/docs/en/guides/topic-detail/micro-frontend/_category_.json +0 -4
- package/docs/en/guides/topic-detail/model/_category_.json +0 -4
- package/docs/en/guides/troubleshooting/_category_.json +0 -5
- package/docs/en/tutorials/examples/_category_.json +0 -5
- package/docs/en/tutorials/first-app/_category_.json +0 -5
- package/docs/en/tutorials/foundations/_category_.json +0 -5
- package/docs/zh/apis/app/hooks/_category_.json +0 -5
- package/docs/zh/apis/app/hooks/api/_category_.json +0 -4
- package/docs/zh/apis/app/hooks/config/_category_.json +0 -4
- package/docs/zh/apis/app/hooks/server/_category_.json +0 -4
- package/docs/zh/apis/app/hooks/src/_category_.json +0 -4
- package/docs/zh/apis/app/runtime/_category_.json +0 -5
- package/docs/zh/apis/app/runtime/app/_category_.json +0 -4
- package/docs/zh/apis/app/runtime/bff/_category_.json +0 -4
- package/docs/zh/apis/app/runtime/core/_category_.json +0 -4
- package/docs/zh/apis/app/runtime/model/_category_.json +0 -4
- package/docs/zh/apis/app/runtime/router/_category_.json +0 -4
- package/docs/zh/apis/app/runtime/ssr/_category_.json +0 -4
- package/docs/zh/apis/app/runtime/utility/_category_.json +0 -4
- package/docs/zh/apis/app/runtime/web-server/_category_.json +0 -4
- package/docs/zh/community/blog/_category_.json +0 -6
- package/docs/zh/configure/app/bff/_category_.json +0 -4
- package/docs/zh/configure/app/deploy/_category_.json +0 -4
- package/docs/zh/configure/app/dev/_category_.json +0 -4
- package/docs/zh/configure/app/experiments/_category_.json +0 -4
- package/docs/zh/configure/app/html/_category_.json +0 -4
- package/docs/zh/configure/app/output/_category_.json +0 -4
- package/docs/zh/configure/app/performance/_category_.json +0 -4
- package/docs/zh/configure/app/runtime/_category_.json +0 -4
- package/docs/zh/configure/app/security/_category_.json +0 -4
- package/docs/zh/configure/app/server/_category_.json +0 -4
- package/docs/zh/configure/app/source/_category_.json +0 -4
- package/docs/zh/configure/app/tools/_category_.json +0 -4
- package/docs/zh/guides/advanced-features/_category_.json +0 -5
- package/docs/zh/guides/advanced-features/bff/_category_.json +0 -8
- package/docs/zh/guides/advanced-features/ssr/_category_.json +0 -8
- package/docs/zh/guides/basic-features/_category_.json +0 -5
- package/docs/zh/guides/basic-features/data/_category_.json +0 -4
- package/docs/zh/guides/concept/_category_.json +0 -5
- package/docs/zh/guides/get-started/_category_.json +0 -5
- package/docs/zh/guides/topic-detail/_category_.json +0 -5
- package/docs/zh/guides/topic-detail/framework-plugin/_category_.json +0 -4
- package/docs/zh/guides/topic-detail/generator/_category_.json +0 -4
- package/docs/zh/guides/topic-detail/generator/create/_category_.json +0 -4
- package/docs/zh/guides/topic-detail/generator/new/_category_.json +0 -4
- package/docs/zh/guides/topic-detail/generator/plugin/_category_.json +0 -4
- package/docs/zh/guides/topic-detail/generator/plugin/api/_category_.json +0 -4
- package/docs/zh/guides/topic-detail/micro-frontend/_category_.json +0 -4
- package/docs/zh/guides/topic-detail/model/_category_.json +0 -4
- package/docs/zh/guides/troubleshooting/_category_.json +0 -5
- package/docs/zh/tutorials/examples/_category_.json +0 -5
- package/docs/zh/tutorials/first-app/_category_.json +0 -5
- package/docs/zh/tutorials/foundations/_category_.json +0 -5
- package/src/.eslintrc.json +0 -3
- /package/docs/zh/guides/{deprecat.md → deprecated.md} +0 -0
@@ -0,0 +1,38 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"type": "dir",
|
4
|
+
"name": "get-started",
|
5
|
+
"label": "gettingStarted"
|
6
|
+
},
|
7
|
+
{
|
8
|
+
"type": "dir",
|
9
|
+
"name": "concept",
|
10
|
+
"label": "concept"
|
11
|
+
},
|
12
|
+
{
|
13
|
+
"type": "dir",
|
14
|
+
"name": "basic-features",
|
15
|
+
"label": "basic"
|
16
|
+
},
|
17
|
+
{
|
18
|
+
"type": "dir",
|
19
|
+
"name": "advanced-features",
|
20
|
+
"label": "advanced"
|
21
|
+
},
|
22
|
+
{
|
23
|
+
"type": "dir",
|
24
|
+
"name": "topic-detail",
|
25
|
+
"label": "topic"
|
26
|
+
},
|
27
|
+
{
|
28
|
+
"type": "dir",
|
29
|
+
"name": "rsbuild-plugins",
|
30
|
+
"label": "构建插件"
|
31
|
+
},
|
32
|
+
{
|
33
|
+
"type": "dir",
|
34
|
+
"name": "troubleshooting",
|
35
|
+
"label": "troubleshooting"
|
36
|
+
},
|
37
|
+
"deprecated"
|
38
|
+
]
|
@@ -0,0 +1,26 @@
|
|
1
|
+
[
|
2
|
+
"rspack-start",
|
3
|
+
{
|
4
|
+
"type": "dir",
|
5
|
+
"name": "bff",
|
6
|
+
"label": "use-bff",
|
7
|
+
"collapsed": true
|
8
|
+
},
|
9
|
+
"code-split",
|
10
|
+
{
|
11
|
+
"type": "dir",
|
12
|
+
"name": "ssr",
|
13
|
+
"label": "use-ssr",
|
14
|
+
"collapsed": true
|
15
|
+
},
|
16
|
+
"ssg",
|
17
|
+
"compatibility",
|
18
|
+
"eslint",
|
19
|
+
"low-level",
|
20
|
+
"source-build",
|
21
|
+
"build-performance",
|
22
|
+
"inline-assets",
|
23
|
+
"optimize-bundle",
|
24
|
+
"using-storybook",
|
25
|
+
"web-server"
|
26
|
+
]
|
@@ -28,19 +28,19 @@ Modern.js 从 `MAJOR_VERSION.46.0` 起开始将底层的构建工具升级为 [R
|
|
28
28
|
|
29
29
|
以下是已在 Modern.js 中内置的 Rsbuild 官方插件,无需安装,即可启用:
|
30
30
|
|
31
|
-
| 插件
|
32
|
-
|
|
33
|
-
| [React 插件](https://rsbuild.dev/zh/plugins/list/plugin-react)
|
34
|
-
| [SVGR 插件](https://rsbuild.dev/zh/plugins/list/plugin-svgr)
|
35
|
-
| [Styled Components 插件](https://
|
36
|
-
| [Assets Retry 插件](https://rsbuild.dev/zh/plugins/list/plugin-assets-retry)
|
37
|
-
| [Type Check 插件](https://rsbuild.dev/zh/plugins/list/plugin-type-check)
|
31
|
+
| 插件 | 介绍 | Modern.js 链接 |
|
32
|
+
| -------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
|
33
|
+
| [React 插件](https://rsbuild.dev/zh/plugins/list/plugin-react) | 提供对 React 的支持 | - |
|
34
|
+
| [SVGR 插件](https://rsbuild.dev/zh/plugins/list/plugin-svgr) | 支持将 SVG 图片转换为一个 React 组件使用 | [output.disableSvgr](/configure/app/output/disable-svgr)<br />[output.svgDefaultExport](/configure/app/output/svg-default-export) |
|
35
|
+
| [Styled Components 插件](https://github.com/rspack-contrib/rsbuild-plugin-styled-components) | 提供对 styled-components 的编译时支持 | [tools.styledComponents](/configure/app/tools/styled-components.html) |
|
36
|
+
| [Assets Retry 插件](https://rsbuild.dev/zh/plugins/list/plugin-assets-retry) | 用于在静态资源加载失败时自动发起重试请求 | [output.assetsRetry](/configure/app/output/assets-retry.html) |
|
37
|
+
| [Type Check 插件](https://rsbuild.dev/zh/plugins/list/plugin-type-check) | 用于在单独的进程中运行 TypeScript 类型检查 | [output.disableTsChecker](/configure/app/output/disable-ts-checker.html)<br />[tools.tsChecker](/configure/app/tools/ts-checker.html) |
|
38
38
|
| [Node Polyfill 插件](https://github.com/rspack-contrib/rsbuild-plugin-node-polyfill) | 用于注入 Node 核心模块在浏览器端的 polyfills | [output.disableNodePolyfill](/configure/app/output/disable-node-polyfill.html) |
|
39
|
-
| [Source Build 插件](https://
|
39
|
+
| [Source Build 插件](https://github.com/rspack-contrib/rsbuild-plugin-source-build) | 用于 monorepo 场景,支持引用其他子目录的源代码,并完成构建和热更新 | [experiments.sourceBuild](/configure/app/experiments/source-build.html) |
|
40
40
|
| [Check Syntax 插件](https://github.com/rspack-contrib/rsbuild-plugin-check-syntax) | 用于分析产物的语法兼容性,判断是否存在导致兼容性问题的高级语法 | [security.checkSyntax](/configure/app/security/check-syntax.html) |
|
41
41
|
| [CSS Minimizer 插件](https://github.com/rspack-contrib/rsbuild-plugin-css-minimizer) | 用于自定义 CSS 压缩工具,切换到 [cssnano](https://cssnano.co/) 或其他工具进行 CSS 压缩。 | [tools.minifyCss](/configure/app/tools/minify-css.html) |
|
42
42
|
| [Pug 插件](https://github.com/rspack-contrib/rsbuild-plugin-pug) | 提供对 Pug 模板引擎的支持 | [tools.pug](/configure/app/tools/pug.html) |
|
43
|
-
| [Rem 插件](https://
|
43
|
+
| [Rem 插件](https://github.com/rspack-contrib/rsbuild-plugin-rem) | 用于实现移动端页面的 rem 自适应布局 | [output.convertToRem](/configure/app/output/convert-to-rem.html) |
|
44
44
|
| [YAML 插件](https://github.com/rspack-contrib/rsbuild-plugin-yaml) | 用于引用 YAML 文件,并将其转换为 JavaScript 对象 | [TOML 文件](/guides/basic-features/json-files.html#toml-文件) |
|
45
45
|
| [TOML 插件](https://github.com/rspack-contrib/rsbuild-plugin-toml) | 用于引用 TOML 文件,并将其转换为 JavaScript 对象 | [YAML 文件](/guides/basic-features/json-files.html#yaml-文件) |
|
46
46
|
|
@@ -0,0 +1,22 @@
|
|
1
|
+
[
|
2
|
+
"css",
|
3
|
+
"routes",
|
4
|
+
{
|
5
|
+
"type": "dir",
|
6
|
+
"name": "data",
|
7
|
+
"label": "data-solution",
|
8
|
+
"collapsed": true
|
9
|
+
},
|
10
|
+
"alias",
|
11
|
+
"mock",
|
12
|
+
"proxy",
|
13
|
+
"env-vars",
|
14
|
+
"html",
|
15
|
+
"output-files",
|
16
|
+
"static-assets",
|
17
|
+
"svg-assets",
|
18
|
+
"json-files",
|
19
|
+
"wasm-assets",
|
20
|
+
"css-modules",
|
21
|
+
"deploy"
|
22
|
+
]
|
@@ -95,7 +95,7 @@ $ pnpm run build
|
|
95
95
|
|
96
96
|
> modern build
|
97
97
|
|
98
|
-
Modern.js Framework
|
98
|
+
Modern.js Framework
|
99
99
|
|
100
100
|
info Starting production build...
|
101
101
|
info Type checker is enabled. It may take some time.
|
@@ -141,7 +141,7 @@ dist
|
|
141
141
|
```bash
|
142
142
|
$ pnpm run serve
|
143
143
|
|
144
|
-
Modern.js Framework
|
144
|
+
Modern.js Framework
|
145
145
|
|
146
146
|
info Starting production server...
|
147
147
|
|
@@ -0,0 +1,201 @@
|
|
1
|
+
---
|
2
|
+
sidebar_position: 3
|
3
|
+
---
|
4
|
+
|
5
|
+
# Esbuild 插件
|
6
|
+
|
7
|
+
:::warning
|
8
|
+
**当前文档中的 esbuild 功能已停止迭代**,我们更推荐使用 Rspack + SWC 的方案,因为 Rspack + SWC 具备更好的构建性能、功能丰富度和产物兼容性。
|
9
|
+
|
10
|
+
请参考[「使用 Rspack」](guides/advanced-features/rspack-start)了解更多。
|
11
|
+
|
12
|
+
:::
|
13
|
+
|
14
|
+
import Esbuild from '@modern-js/builder-doc/docs/zh/shared/esbuild.md';
|
15
|
+
|
16
|
+
<Esbuild />
|
17
|
+
|
18
|
+
## 快速开始
|
19
|
+
|
20
|
+
### 在 Modern.js 框架中使用
|
21
|
+
|
22
|
+
Modern.js 框架默认集成了 Builder 的 esbuild 插件,因此,你不需要手动安装和注册插件,只需要使用 [tools.esbuild](/configure/app/tools/esbuild.html) 配置项即可:
|
23
|
+
|
24
|
+
```js
|
25
|
+
export default defineConfig({
|
26
|
+
tools: {
|
27
|
+
esbuild: {
|
28
|
+
loader: {
|
29
|
+
target: 'chrome61',
|
30
|
+
},
|
31
|
+
minimize: {
|
32
|
+
target: 'chrome61',
|
33
|
+
},
|
34
|
+
},
|
35
|
+
},
|
36
|
+
});
|
37
|
+
```
|
38
|
+
|
39
|
+
## 配置
|
40
|
+
|
41
|
+
插件默认会开启代码转译和代码压缩的功能,你也可以通过配置来自定义插件的行为。
|
42
|
+
|
43
|
+
### loader
|
44
|
+
|
45
|
+
- **类型:**
|
46
|
+
|
47
|
+
```ts
|
48
|
+
type LoaderOptions = EsbuildLoaderOptions | false | undefined;
|
49
|
+
```
|
50
|
+
|
51
|
+
- **默认值:**
|
52
|
+
|
53
|
+
```ts
|
54
|
+
const defaultOptions = {
|
55
|
+
target: 'es2015',
|
56
|
+
charset: builderConfig.output.charset,
|
57
|
+
};
|
58
|
+
```
|
59
|
+
|
60
|
+
这个选项用于启用 JavaScript 和 TypeScript 的转译,启用时将会使用 esbuild-loader 替换 babel-loader 和 ts-loader。
|
61
|
+
|
62
|
+
如果你需要修改转译参数,可以查看 [esbuild-loader 文档](https://github.com/privatenumber/esbuild-loader#loader)。
|
63
|
+
|
64
|
+
#### 设置 JSX 格式
|
65
|
+
|
66
|
+
在使用 esbuild 进行代码转译时,esbuild 默认会读取 `tsconfig.json` 中的 `compilerOptions.jsx` 字段,来决定使用哪种 JSX 语法。
|
67
|
+
|
68
|
+
因此,你需要在 `tsconfig.json` 中设置正确的 JSX 语法。
|
69
|
+
|
70
|
+
比如 React 项目,需要将 `compilerOptions.jsx` 设置为 `react-jsx`:
|
71
|
+
|
72
|
+
```json
|
73
|
+
{
|
74
|
+
"compilerOptions": {
|
75
|
+
"jsx": "react-jsx"
|
76
|
+
}
|
77
|
+
}
|
78
|
+
```
|
79
|
+
|
80
|
+
#### 修改目标环境
|
81
|
+
|
82
|
+
通过 `target` 选项来修改代码转译的目标环境。`target` 可以直接设置为 JavaScript 语言版本,比如 `es6`,`es2020`;也可以设置为若干个目标环境,每个目标环境都是一个环境名称后跟一个版本号,比如 `['chrome58', 'edge16' ,'firefox57']`。`target` 字段的详细介绍可以参考 [esbuild - target](https://esbuild.github.io/api/#target)。
|
83
|
+
|
84
|
+
target 支持设置为以下环境:
|
85
|
+
|
86
|
+
- chrome
|
87
|
+
- edge
|
88
|
+
- firefox
|
89
|
+
- ie
|
90
|
+
- ios
|
91
|
+
- node
|
92
|
+
- opera
|
93
|
+
- safari
|
94
|
+
|
95
|
+
```ts
|
96
|
+
builderPluginEsbuild({
|
97
|
+
loader: {
|
98
|
+
target: 'chrome61',
|
99
|
+
},
|
100
|
+
});
|
101
|
+
```
|
102
|
+
|
103
|
+
#### 关闭代码转译
|
104
|
+
|
105
|
+
将 `loader` 设置为 `false` 来关闭 esbuild 代码转译,此时 Builder 会继续使用 Babel 来进行代码转译。
|
106
|
+
|
107
|
+
```ts
|
108
|
+
builderPluginEsbuild({
|
109
|
+
loader: false,
|
110
|
+
});
|
111
|
+
```
|
112
|
+
|
113
|
+
### minimize
|
114
|
+
|
115
|
+
- **类型:**
|
116
|
+
|
117
|
+
```ts
|
118
|
+
type MinimizeOptions = EsbuildMinifyOptions | false | undefined;
|
119
|
+
```
|
120
|
+
|
121
|
+
- **默认值:**
|
122
|
+
|
123
|
+
```ts
|
124
|
+
const defaultOptions = {
|
125
|
+
css: true,
|
126
|
+
target: 'es2015',
|
127
|
+
format: builderTarget === 'web' ? 'iife' : undefined,
|
128
|
+
};
|
129
|
+
```
|
130
|
+
|
131
|
+
这个选项用于启用 JavaScript 和 CSS 的代码压缩。
|
132
|
+
|
133
|
+
如果你需要修改压缩参数,可以查看 [esbuild-loader 文档](https://github.com/privatenumber/esbuild-loader#minifyplugin)。
|
134
|
+
|
135
|
+
#### 修改目标环境
|
136
|
+
|
137
|
+
通过 `target` 选项来修改代码压缩的目标环境。
|
138
|
+
|
139
|
+
```ts
|
140
|
+
builderPluginEsbuild({
|
141
|
+
minimize: {
|
142
|
+
target: 'chrome61',
|
143
|
+
},
|
144
|
+
});
|
145
|
+
```
|
146
|
+
|
147
|
+
#### 关闭代码压缩
|
148
|
+
|
149
|
+
将 `minimize` 设置为 `false` 来关闭 esbuild 代码压缩,此时 Builder 会继续使用 Terser 进行代码压缩。
|
150
|
+
|
151
|
+
```ts
|
152
|
+
builderPluginEsbuild({
|
153
|
+
minimize: false,
|
154
|
+
});
|
155
|
+
```
|
156
|
+
|
157
|
+
## esbuild 局限性
|
158
|
+
|
159
|
+
虽然 esbuild 能给现有的 webpack 项目带来明显的构建性能提升,但这个工具在接入 Builder 时还存在一定的局限性,需要大家在接入的时候格外注意。
|
160
|
+
|
161
|
+
### 兼容性
|
162
|
+
|
163
|
+
使用 esbuild 进行代码转译时(即 `loader` 能力),esbuild 通常最低支持到 ES2015(即 ES6)语法,并且不具备自动注入 Polyfill 的能力。如果生产环境需要降级到 ES5 及以下的语法,建议使用 SWC 编译。
|
164
|
+
|
165
|
+
你可以通过如下的配置指定目标语法版本:
|
166
|
+
|
167
|
+
```ts
|
168
|
+
builderPluginEsbuild({
|
169
|
+
loader: {
|
170
|
+
target: 'es2015',
|
171
|
+
},
|
172
|
+
});
|
173
|
+
```
|
174
|
+
|
175
|
+
使用 esbuild 进行代码压缩时(即 `minimize` 能力),esbuild 可以在生产环境中进行压缩和混淆,通常最低支持到 ES2015 语法。
|
176
|
+
|
177
|
+
如果设置压缩的 `target` 为 `es5`,需要保证所有代码已经被转义为 ES5 代码,否则会导致 esbuild 编译报错:`Transforming 'xxx' to the configured target environment ("es5") is not supported yet`。
|
178
|
+
|
179
|
+
因此,对于生产环境需要兼容 ES5 及以下语法的项目,请谨慎开启 minimize 能力,建议使用 SWC 压缩。
|
180
|
+
|
181
|
+
你可以通过如下的配置指定目标语法版本:
|
182
|
+
|
183
|
+
```ts
|
184
|
+
builderPluginEsbuild({
|
185
|
+
minimize: {
|
186
|
+
target: 'es2015',
|
187
|
+
},
|
188
|
+
});
|
189
|
+
```
|
190
|
+
|
191
|
+
### 不支持 Babel 插件
|
192
|
+
|
193
|
+
使用 esbuild 进行代码转译时,诸如 `babel-plugin-import` 等原有 Babel 插件的语法编译功能在开启 esbuild 后无法使用。并且由于 Builder 底层使用的是 esbuild 的 `Transform API`,因此不支持使用额外 esbuild 插件来进行自定义编译过程。
|
194
|
+
|
195
|
+
如果你有 `babel-plugin-import` 等 Babel 插件相关诉求,可以使用 SWC 插件。
|
196
|
+
|
197
|
+
### 产物体积
|
198
|
+
|
199
|
+
使用 esbuild 压缩虽然带来了构建效率上的提升,但 esbuild 的压缩比例是低于 terser 的,因此**构建产物的体积会增大**,请根据业务情况酌情使用。通常来说,esbuild 比较适合中后台等对体积不敏感的场景。
|
200
|
+
|
201
|
+
对于压缩工具之间的详细对比,可以参考 [minification-benchmarks](https://github.com/privatenumber/minification-benchmarks)。
|