@modern-js/main-doc 2.60.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/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/enableSwc.mdx +17 -0
- package/docs/en/components/esbuild.mdx +3 -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/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/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 +1 -1
- 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 +1 -1
- 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 +33 -2
- 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/advanced-features/_meta.json +0 -1
- 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/concept/builder.mdx +1 -1
- 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/micro-frontend/c01-introduction.mdx +1 -1
- package/docs/en/guides/troubleshooting/builder.mdx +2 -2
- package/docs/en/plugin/cli-plugins/plugin-swc.mdx +4 -4
- package/docs/en/plugin/rsbuild-plugins/plugin-esbuild.mdx +4 -4
- 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/enableSwc.mdx +17 -0
- package/docs/zh/components/esbuild.mdx +3 -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/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/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 +1 -1
- 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 +1 -1
- 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 +33 -2
- 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/advanced-features/_meta.json +0 -1
- package/docs/zh/guides/advanced-features/rspack-start.mdx +2 -2
- package/docs/zh/guides/basic-features/css/css-modules.mdx +1 -1
- package/docs/zh/guides/basic-features/output-files.mdx +2 -2
- package/docs/zh/guides/concept/builder.mdx +1 -1
- 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/micro-frontend/c01-introduction.mdx +1 -1
- package/docs/zh/guides/troubleshooting/builder.mdx +2 -2
- package/docs/zh/plugin/cli-plugins/plugin-swc.mdx +4 -4
- package/docs/zh/plugin/rsbuild-plugins/plugin-esbuild.mdx +6 -6
- package/package.json +6 -12
- package/src/components/RsbuildLink/index.tsx +19 -0
- /package/docs/en/configure/app/output/{splitRouteChunks.mdx → split-route-chunks.mdx} +0 -0
- /package/docs/zh/configure/app/output/{splitRouteChunks.mdx → split-route-chunks.mdx} +0 -0
@@ -4,6 +4,299 @@ title: webpack
|
|
4
4
|
|
5
5
|
# tools.webpack
|
6
6
|
|
7
|
-
|
7
|
+
- **Type:** `Object | Function | undefined`
|
8
|
+
- **Default:** `undefined`
|
9
|
+
- **Bundler:** `only support webpack`
|
8
10
|
|
9
|
-
|
11
|
+
`tools.webpack` is used to configure [webpack](https://webpack.js.org/).
|
12
|
+
|
13
|
+
> `tools.bundlerChain` is also used to modify the webpack configuration, and the function is more powerful. It is recommended to use `tools.bundlerChain` first.
|
14
|
+
|
15
|
+
### Object Type
|
16
|
+
|
17
|
+
`tools.webpack` can be configured as an object to be deep merged with the built-in webpack configuration through [webpack-merge](https://github.com/survivejs/webpack-merge).
|
18
|
+
|
19
|
+
For example, add `resolve.alias` configuration:
|
20
|
+
|
21
|
+
```js
|
22
|
+
export default {
|
23
|
+
tools: {
|
24
|
+
webpack: {
|
25
|
+
resolve: {
|
26
|
+
alias: {
|
27
|
+
'@util': 'src/util',
|
28
|
+
},
|
29
|
+
},
|
30
|
+
},
|
31
|
+
},
|
32
|
+
};
|
33
|
+
```
|
34
|
+
|
35
|
+
### Function Type
|
36
|
+
|
37
|
+
`tools.webpack` can be configured as a function. The first parameter of this function is the built-in webpack configuration object, you can modify this object, and then return it. For example:
|
38
|
+
|
39
|
+
```js
|
40
|
+
export default {
|
41
|
+
tools: {
|
42
|
+
webpack: config => {
|
43
|
+
config.resolve.alias['@util'] = 'src/util';
|
44
|
+
return config;
|
45
|
+
},
|
46
|
+
},
|
47
|
+
};
|
48
|
+
```
|
49
|
+
|
50
|
+
:::tip
|
51
|
+
The object returned by the `tools.webpack` function is used directly as the final webpack configuration and is not merged with the built-in webpack configuration.
|
52
|
+
:::
|
53
|
+
|
54
|
+
### Utils
|
55
|
+
|
56
|
+
The second parameter of this function is an object, which contains some utility functions and properties, as follows:
|
57
|
+
|
58
|
+
#### env
|
59
|
+
|
60
|
+
- **Type:** `'development' | 'production' | 'test'`
|
61
|
+
|
62
|
+
The `env` parameter can be used to determine whether the current environment is development, production or test. For example:
|
63
|
+
|
64
|
+
```js
|
65
|
+
export default {
|
66
|
+
tools: {
|
67
|
+
webpack: (config, { env }) => {
|
68
|
+
if (env === 'development') {
|
69
|
+
config.devtool = 'cheap-module-eval-source-map';
|
70
|
+
}
|
71
|
+
return config;
|
72
|
+
},
|
73
|
+
},
|
74
|
+
};
|
75
|
+
```
|
76
|
+
|
77
|
+
#### isProd
|
78
|
+
|
79
|
+
- **Type:** `boolean`
|
80
|
+
|
81
|
+
The `isProd` parameter can be used to determine whether the current environment is production. For example:
|
82
|
+
|
83
|
+
```js
|
84
|
+
export default {
|
85
|
+
tools: {
|
86
|
+
webpack: (config, { isProd }) => {
|
87
|
+
if (isProd) {
|
88
|
+
config.devtool = 'source-map';
|
89
|
+
}
|
90
|
+
return config;
|
91
|
+
},
|
92
|
+
},
|
93
|
+
};
|
94
|
+
```
|
95
|
+
|
96
|
+
#### target
|
97
|
+
|
98
|
+
- **Type:** `'web' | 'node' | 'modern-web' | 'web-worker'`
|
99
|
+
|
100
|
+
The `target` parameter can be used to determine the current target. For example:
|
101
|
+
|
102
|
+
```js
|
103
|
+
export default {
|
104
|
+
tools: {
|
105
|
+
webpack: (config, { target }) => {
|
106
|
+
if (target === 'node') {
|
107
|
+
// ...
|
108
|
+
}
|
109
|
+
return config;
|
110
|
+
},
|
111
|
+
},
|
112
|
+
};
|
113
|
+
```
|
114
|
+
|
115
|
+
#### isServer
|
116
|
+
|
117
|
+
- **Type:** `boolean`
|
118
|
+
|
119
|
+
Determines whether the target environment is `node`, equivalent to `target === 'node'`.
|
120
|
+
|
121
|
+
```js
|
122
|
+
export default {
|
123
|
+
tools: {
|
124
|
+
webpack: (config, { isServer }) => {
|
125
|
+
if (isServer) {
|
126
|
+
// ...
|
127
|
+
}
|
128
|
+
return config;
|
129
|
+
},
|
130
|
+
},
|
131
|
+
};
|
132
|
+
```
|
133
|
+
|
134
|
+
#### isWebWorker
|
135
|
+
|
136
|
+
- **Type:** `boolean`
|
137
|
+
|
138
|
+
Determines whether the target environment is `web-worker`, equivalent to `target === 'web-worker'`.
|
139
|
+
|
140
|
+
```js
|
141
|
+
export default {
|
142
|
+
tools: {
|
143
|
+
webpack: (config, { isWebWorker }) => {
|
144
|
+
if (isWebWorker) {
|
145
|
+
// ...
|
146
|
+
}
|
147
|
+
return config;
|
148
|
+
},
|
149
|
+
},
|
150
|
+
};
|
151
|
+
```
|
152
|
+
|
153
|
+
#### webpack
|
154
|
+
|
155
|
+
- **Type:** `typeof import('webpack')`
|
156
|
+
|
157
|
+
The webpack instance. For example:
|
158
|
+
|
159
|
+
```js
|
160
|
+
export default {
|
161
|
+
tools: {
|
162
|
+
webpack: (config, { webpack }) => {
|
163
|
+
config.plugins.push(new webpack.ProgressPlugin());
|
164
|
+
return config;
|
165
|
+
},
|
166
|
+
},
|
167
|
+
};
|
168
|
+
```
|
169
|
+
|
170
|
+
#### HtmlWebpackPlugin
|
171
|
+
|
172
|
+
- **Type:** `typeof import('html-webpack-plugin')`
|
173
|
+
|
174
|
+
The HtmlWebpackPlugin instance:
|
175
|
+
|
176
|
+
```js
|
177
|
+
export default {
|
178
|
+
tools: {
|
179
|
+
webpack: (chain, { HtmlWebpackPlugin }) => {
|
180
|
+
console.log(HtmlWebpackPlugin);
|
181
|
+
},
|
182
|
+
},
|
183
|
+
};
|
184
|
+
```
|
185
|
+
|
186
|
+
#### addRules
|
187
|
+
|
188
|
+
- **Type:** `(rules: RuleSetRule | RuleSetRule[]) => void`
|
189
|
+
|
190
|
+
Add additional [webpack rules](https://webpack.js.org/configuration/module/#modulerules).
|
191
|
+
|
192
|
+
For example:
|
193
|
+
|
194
|
+
```ts
|
195
|
+
export default {
|
196
|
+
tools: {
|
197
|
+
webpack: (config, { addRules }) => {
|
198
|
+
// add a single rule
|
199
|
+
addRules({
|
200
|
+
test: /\.foo/,
|
201
|
+
loader: require.resolve('foo-loader'),
|
202
|
+
});
|
203
|
+
|
204
|
+
// Add multiple rules as an array
|
205
|
+
addRules([
|
206
|
+
{
|
207
|
+
test: /\.foo/,
|
208
|
+
loader: require.resolve('foo-loader'),
|
209
|
+
},
|
210
|
+
{
|
211
|
+
test: /\.bar/,
|
212
|
+
loader: require.resolve('bar-loader'),
|
213
|
+
},
|
214
|
+
]);
|
215
|
+
},
|
216
|
+
},
|
217
|
+
};
|
218
|
+
```
|
219
|
+
|
220
|
+
#### prependPlugins
|
221
|
+
|
222
|
+
- **Type:** `(plugins: WebpackPluginInstance | WebpackPluginInstance[]) => void`
|
223
|
+
|
224
|
+
Add additional plugins to the head of the internal webpack plugins array, and the plugin will be executed first.
|
225
|
+
|
226
|
+
```ts
|
227
|
+
export default {
|
228
|
+
tools: {
|
229
|
+
webpack: (config, { prependPlugins, webpack }) => {
|
230
|
+
// add a single plugin
|
231
|
+
prependPlugins(
|
232
|
+
new webpack.BannerPlugin({
|
233
|
+
banner: 'hello world!',
|
234
|
+
}),
|
235
|
+
);
|
236
|
+
|
237
|
+
// Add multiple plugins
|
238
|
+
prependPlugins([new PluginA(), new PluginB()]);
|
239
|
+
},
|
240
|
+
},
|
241
|
+
};
|
242
|
+
```
|
243
|
+
|
244
|
+
#### appendPlugins
|
245
|
+
|
246
|
+
- **Type:** `(plugins: WebpackPluginInstance | WebpackPluginInstance[]) => void`
|
247
|
+
|
248
|
+
Add additional plugins at the end of the internal webpack plugins array, the plugin will be executed last.
|
249
|
+
|
250
|
+
```ts
|
251
|
+
export default {
|
252
|
+
tools: {
|
253
|
+
webpack: (config, { appendPlugins, webpack }) => {
|
254
|
+
// add a single plugin
|
255
|
+
appendPlugins([
|
256
|
+
new webpack.BannerPlugin({
|
257
|
+
banner: 'hello world!',
|
258
|
+
}),
|
259
|
+
]);
|
260
|
+
|
261
|
+
// Add multiple plugins
|
262
|
+
appendPlugins([new PluginA(), new PluginB()]);
|
263
|
+
},
|
264
|
+
},
|
265
|
+
};
|
266
|
+
```
|
267
|
+
|
268
|
+
#### removePlugin
|
269
|
+
|
270
|
+
- **Type:** `(name: string) => void`
|
271
|
+
|
272
|
+
Remove the internal webpack plugin, the parameter is the `constructor.name` of the plugin.
|
273
|
+
|
274
|
+
For example, remove the internal [fork-ts-checker-webpack-plugin](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin):
|
275
|
+
|
276
|
+
```ts
|
277
|
+
export default {
|
278
|
+
tools: {
|
279
|
+
webpack: (config, { removePlugin }) => {
|
280
|
+
removePlugin('ForkTsCheckerWebpackPlugin');
|
281
|
+
},
|
282
|
+
},
|
283
|
+
};
|
284
|
+
```
|
285
|
+
|
286
|
+
#### mergeConfig
|
287
|
+
|
288
|
+
- **Type:** `(...configs: WebpackConfig[]) => WebpackConfig`
|
289
|
+
|
290
|
+
Used to merge multiple webpack configs, same as [webpack-merge](https://github.com/survivejs/webpack-merge).
|
291
|
+
|
292
|
+
```ts
|
293
|
+
export default {
|
294
|
+
tools: {
|
295
|
+
webpack: (config, { mergeConfig }) => {
|
296
|
+
return mergeConfig(config, {
|
297
|
+
devtool: 'eval',
|
298
|
+
});
|
299
|
+
},
|
300
|
+
},
|
301
|
+
};
|
302
|
+
```
|
@@ -4,7 +4,7 @@ sidebar_position: 1
|
|
4
4
|
|
5
5
|
# Using Rspack
|
6
6
|
|
7
|
-
import Rspack from '@
|
7
|
+
import Rspack from '@site-docs-en/components/rspackTip.mdx';
|
8
8
|
|
9
9
|
<Rspack />
|
10
10
|
|
@@ -42,7 +42,7 @@ export default defineConfig({
|
|
42
42
|
If your current version is lower than MAJOR_VERSION.59.0, you can upgrade by executing `npx modern upgrade`.
|
43
43
|
:::
|
44
44
|
|
45
|
-
import RspackPrecautions from '@
|
45
|
+
import RspackPrecautions from '@site-docs-en/components/rspackPrecautions.mdx';
|
46
46
|
|
47
47
|
<RspackPrecautions />
|
48
48
|
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
[CSS Modules](https://github.com/css-modules/css-modules) allows us to write CSS code in a modular way, and these styles can be imported and used in JavaScript files. Using CSS Modules can automatically generate unique class names, isolate styles between different modules, and avoid class name conflicts.
|
4
4
|
|
5
|
-
|
5
|
+
Modern.js supports CSS Modules by default, you don't need to add additional configuration. Our convention is to use the `[name].module.css` filename to enable CSS Modules.
|
6
6
|
|
7
7
|
The following style files are considered CSS Modules:
|
8
8
|
|
@@ -163,7 +163,7 @@ After adding the type declaration, if the type error still exists, you can try t
|
|
163
163
|
|
164
164
|
Although the above method can provide the type of CSS Modules, it cannot accurately prompt which classNames are exported by a certain CSS file.
|
165
165
|
|
166
|
-
|
166
|
+
Modern.js supports generating accurate type declarations for CSS Modules, you only need to enable the [output.enableCssModuleTSDeclaration](/configure/app/output/enable-css-module-tsdeclaration) config, and then execute the build, Modern.js will generate type declaration files for all CSS Modules.
|
167
167
|
|
168
168
|
```ts
|
169
169
|
export default {
|
@@ -42,7 +42,7 @@ In the filename, `[name]` represents the entry name corresponding to this file,
|
|
42
42
|
|
43
43
|
## Modify the Directory
|
44
44
|
|
45
|
-
|
45
|
+
Modern.js provides some configs to modify the directory or filename, you can:
|
46
46
|
|
47
47
|
- Modify the filename through [output.filename](/configure/app/output/filename).
|
48
48
|
- Modify the output path of through [output.distPath](/configure/app/output/dist-path).
|
@@ -4,7 +4,7 @@ sidebar_position: 2
|
|
4
4
|
|
5
5
|
# Build Engine
|
6
6
|
|
7
|
-
Modern.js internally encapsulates
|
7
|
+
Modern.js internally encapsulates [Rsbuild](https://rsbuild.dev/), and supports seamless switching between Webpack and Rspack bundlers.
|
8
8
|
|
9
9
|
::: tip What is Rsbuild?
|
10
10
|
Rsbuild is a build tool based on Rspack. It is an enhanced Rspack CLI, easy-to-use, and ready-to-use out of the box.
|
@@ -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
|
---
|
@@ -11,7 +11,7 @@ Please refer to [「Use Rspack」](guides/advanced-features/rspack-start) for mo
|
|
11
11
|
|
12
12
|
:::
|
13
13
|
|
14
|
-
import SWC from '@
|
14
|
+
import SWC from '@site-docs-en/components/swc.mdx';
|
15
15
|
|
16
16
|
<SWC />
|
17
17
|
|
@@ -51,9 +51,9 @@ For a detailed comparison between minifiers, see [minification-benchmarks](https
|
|
51
51
|
|
52
52
|
### Used in Modern.js framework
|
53
53
|
|
54
|
-
The Modern.js framework integrates the
|
54
|
+
The Modern.js framework integrates the SWC plugin, and you can use it in the following ways:
|
55
55
|
|
56
|
-
import EnableSWC from '@
|
56
|
+
import EnableSWC from '@site-docs-en/components/enableSwc.mdx';
|
57
57
|
|
58
58
|
<EnableSWC />
|
59
59
|
|
@@ -297,7 +297,7 @@ This is ported by Next.js team from [@emotion/babel-plugin](https://www.npmjs.co
|
|
297
297
|
#### extensions.pluginImport
|
298
298
|
|
299
299
|
:::tip
|
300
|
-
|
300
|
+
Modern.js provides the [source.transformImport](/configure/app/source/transform-import) config, so you don't need to configure `extensions.pluginImport` manually.
|
301
301
|
:::
|
302
302
|
|
303
303
|
Ported from [babel-plugin-import](https://github.com/umijs/babel-plugin-import), configurations are the same.
|
@@ -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({
|
@@ -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
|
@@ -0,0 +1,6 @@
|
|
1
|
+
## 注意事项
|
2
|
+
|
3
|
+
在使用 Rspack 前,你需要了解以下事项:
|
4
|
+
|
5
|
+
- Rspack 能够兼容大部分 webpack 插件和几乎所有的 loaders,但仍有少数 webpack 插件暂时无法使用,详见 [Plugin 兼容](https://rspack.dev/zh/guide/compatibility/plugin)。
|
6
|
+
- Rspack 默认基于 [SWC](https://rspack.dev/zh/guide/features/builtin-swc-loader) 进行代码编译和压缩,在个别情况下,你可能会遇到 SWC 在边界场景的 bug,可以通过 [SWC 的 issue](https://github.com/swc-project/swc/issues) 反馈。
|