@modern-js/main-doc 2.60.0 → 2.60.1
Sign up to get free protection for your applications and to get access to all the features.
- package/docs/en/apis/app/commands.mdx +0 -16
- 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 +1 -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/_meta.json +0 -6
- package/docs/en/guides/topic-detail/micro-frontend/c01-introduction.mdx +1 -1
- package/docs/en/guides/topic-detail/model/quick-start.mdx +5 -0
- 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/apis/app/commands.mdx +0 -18
- 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 +1 -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/_meta.json +0 -6
- package/docs/zh/guides/topic-detail/micro-frontend/c01-introduction.mdx +1 -1
- package/docs/zh/guides/topic-detail/model/quick-start.mdx +5 -0
- 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 -11
- 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
@@ -1,9 +1,15 @@
|
|
1
1
|
---
|
2
2
|
title: rspack
|
3
|
+
configName: tools.rspack
|
3
4
|
---
|
4
5
|
|
5
6
|
# tools.rspack
|
6
7
|
|
7
|
-
|
8
|
+
- **Type:** `Rspack.Configuration | Function | undefined`
|
9
|
+
- **Default:** `undefined`
|
8
10
|
|
9
|
-
|
11
|
+
`tools.rspack` is used to configure [Rspack](https://rspack.dev/).
|
12
|
+
|
13
|
+
import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
|
14
|
+
|
15
|
+
<RsbuildConig />
|
@@ -4,6 +4,79 @@ title: sass
|
|
4
4
|
|
5
5
|
# tools.sass
|
6
6
|
|
7
|
-
|
7
|
+
- **Type:** `Object | Function`
|
8
|
+
- **Default:**
|
8
9
|
|
9
|
-
|
10
|
+
```js
|
11
|
+
const defaultOptions = {
|
12
|
+
// CSS Source Map enabled by default in development environment
|
13
|
+
sourceMap: isDev,
|
14
|
+
};
|
15
|
+
```
|
16
|
+
|
17
|
+
You can modify the config of [sass-loader](https://github.com/webpack-contrib/sass-loader) via `tools.sass`.
|
18
|
+
|
19
|
+
### Object Type
|
20
|
+
|
21
|
+
When `tools.sass` is `Object` type, it is merged with the default config through Object.assign. It should be noted that `sassOptions` is merged through deepMerge in a deep way.
|
22
|
+
|
23
|
+
For example:
|
24
|
+
|
25
|
+
```js
|
26
|
+
export default {
|
27
|
+
tools: {
|
28
|
+
sass: {
|
29
|
+
sourceMap: true,
|
30
|
+
},
|
31
|
+
},
|
32
|
+
};
|
33
|
+
```
|
34
|
+
|
35
|
+
### Function Type
|
36
|
+
|
37
|
+
When `tools.sass` is a Function, the default config is passed as the first parameter, which can be directly modified or returned as the final result. The second parameter provides some utility functions that can be called directly. For Example:
|
38
|
+
|
39
|
+
```js
|
40
|
+
export default {
|
41
|
+
tools: {
|
42
|
+
sass(config) {
|
43
|
+
// Modify sourceMap config
|
44
|
+
config.additionalData = async (content, loaderContext) => {
|
45
|
+
// ...
|
46
|
+
};
|
47
|
+
},
|
48
|
+
},
|
49
|
+
};
|
50
|
+
```
|
51
|
+
|
52
|
+
### Modifying Sass Version
|
53
|
+
|
54
|
+
In some scenarios, if you need to use a specific version of Sass instead of the built-in Dart Sass v1 in Modern.js, you can install the desired Sass version in your project and set it up using the `implementation` option of the `sass-loader`.
|
55
|
+
|
56
|
+
```js
|
57
|
+
export default {
|
58
|
+
tools: {
|
59
|
+
sass: {
|
60
|
+
implementation: require('sass'),
|
61
|
+
},
|
62
|
+
},
|
63
|
+
};
|
64
|
+
```
|
65
|
+
|
66
|
+
### Utility Function
|
67
|
+
|
68
|
+
#### addExcludes
|
69
|
+
|
70
|
+
- **Type:** `(excludes: RegExp | RegExp[]) => void`
|
71
|
+
|
72
|
+
Used to specify which files `sass-loader` does not compile, You can pass in one or more regular expressions to match the path of sass files, for example:
|
73
|
+
|
74
|
+
```js
|
75
|
+
export default {
|
76
|
+
tools: {
|
77
|
+
sass(config, { addExcludes }) {
|
78
|
+
addExcludes(/node_modules/);
|
79
|
+
},
|
80
|
+
},
|
81
|
+
};
|
82
|
+
```
|
@@ -1,9 +1,15 @@
|
|
1
1
|
---
|
2
2
|
title: styleLoader
|
3
|
+
configName: tools.styleLoader
|
3
4
|
---
|
4
5
|
|
5
6
|
# tools.styleLoader
|
6
7
|
|
7
|
-
|
8
|
+
- **Type:** `Object | Function`
|
9
|
+
- **Default:** `{}`
|
8
10
|
|
9
|
-
|
11
|
+
The config of [style-loader](https://github.com/webpack-contrib/style-loader) can be set through `tools.styleLoader`.
|
12
|
+
|
13
|
+
import RsbuildConig from '@site-docs-en/components/rsbuild-config-tooltip';
|
14
|
+
|
15
|
+
<RsbuildConig />
|
@@ -4,6 +4,52 @@ title: styledComponents
|
|
4
4
|
|
5
5
|
# tools.styledComponents
|
6
6
|
|
7
|
-
|
7
|
+
- **Type:** `Object | Function`
|
8
|
+
- **Default:**
|
8
9
|
|
9
|
-
|
10
|
+
```js
|
11
|
+
{
|
12
|
+
displayName: true,
|
13
|
+
// `isSSR` is true in SSR build
|
14
|
+
ssr: isSSR,
|
15
|
+
// `pure` is enabled in production to reduce bundle size
|
16
|
+
pure: isProd,
|
17
|
+
transpileTemplateLiterals: true,
|
18
|
+
}
|
19
|
+
```
|
20
|
+
|
21
|
+
`tools.styledComponents` config is corresponding to [babel-plugin-styled-components](https://github.com/styled-components/babel-plugin-styled-components), or [@swc/plugin-styled-components](https://github.com/swc-project/plugins/tree/main/packages/styled-components) when using SWC plugin.
|
22
|
+
|
23
|
+
When the value is an Object, use the Object.assign function to merge with the default config. For example:
|
24
|
+
|
25
|
+
```js
|
26
|
+
export default {
|
27
|
+
tools: {
|
28
|
+
styledComponents: {
|
29
|
+
pure: false,
|
30
|
+
},
|
31
|
+
},
|
32
|
+
};
|
33
|
+
```
|
34
|
+
|
35
|
+
When the config is a Function, the first parameter is the default configuration, and the second parameter provides some utility functions that can be called directly:
|
36
|
+
|
37
|
+
```js
|
38
|
+
export default {
|
39
|
+
tools: {
|
40
|
+
styledComponents(config) {
|
41
|
+
config.pure = false;
|
42
|
+
},
|
43
|
+
},
|
44
|
+
};
|
45
|
+
```
|
46
|
+
|
47
|
+
The feature is enabled by default, and you can configure `tools.styledComponents` to `false` to disable this behavior, which can improve build performance:
|
48
|
+
|
49
|
+
```js
|
50
|
+
export default {
|
51
|
+
tools: {
|
52
|
+
styledComponents: false,
|
53
|
+
},
|
54
|
+
};
|
55
|
+
```
|
@@ -9,7 +9,7 @@ title: swc
|
|
9
9
|
|
10
10
|
## Introduction
|
11
11
|
|
12
|
-
import SWC from '@
|
12
|
+
import SWC from '@site-docs-en/components/swc.mdx';
|
13
13
|
|
14
14
|
<SWC />
|
15
15
|
|
@@ -37,9 +37,40 @@ export default defineConfig<'rspack'>({
|
|
37
37
|
|
38
38
|
For more usage, please refer to [Rsbuild - tools.swc](https://rsbuild.dev/config/tools/swc).
|
39
39
|
|
40
|
+
### Register SWC Plugin
|
41
|
+
|
42
|
+
Modern.js supports registering SWC's Wasm plugin through `tools.swc`, such as registering [@swc/plugin-styled-components](https://www.npmjs.com/package/@swc/plugin-styled-components):
|
43
|
+
|
44
|
+
```ts
|
45
|
+
export default {
|
46
|
+
tools: {
|
47
|
+
swc: {
|
48
|
+
jsc: {
|
49
|
+
experimental: {
|
50
|
+
plugins: [['@swc/plugin-styled-components', {}]],
|
51
|
+
},
|
52
|
+
},
|
53
|
+
},
|
54
|
+
},
|
55
|
+
};
|
56
|
+
```
|
57
|
+
|
58
|
+
Please note that the SWC plugin is still an experimental feature, and the SWC Wasm plugin is currently not backward compatible. The version of the SWC plugin is closely tied to the version of swc_core that Rspack depends on.
|
59
|
+
|
60
|
+
This means that you must to choose an SWC plugin that matches the current version of swc_core to ensure that it works properly. If the version of the SWC plugin you are using does not match the version of swc_core that Rspack depends on, Rspack will throw the following error during the build process:
|
61
|
+
|
62
|
+
```
|
63
|
+
1: failed to run Wasm plugin transform. Please ensure the version of `swc_core`
|
64
|
+
used by the plugin is compatible with the host runtime.
|
65
|
+
```
|
66
|
+
|
67
|
+
If you encounter the above issues, a common solution is to upgrade both the Modern.js and SWC plugins to the latest versions.
|
68
|
+
|
69
|
+
For details, please refer to [Rsbuild - SWC Plugin Version](https://rsbuild.dev/guide/basic/configure-swc#swc-plugin-version).
|
70
|
+
|
40
71
|
## Used in Webpack mode
|
41
72
|
|
42
|
-
import EnableSWC from '@
|
73
|
+
import EnableSWC from '@site-docs-en/components/enableSwc.mdx';
|
43
74
|
|
44
75
|
<EnableSWC />
|
45
76
|
|
@@ -4,6 +4,53 @@ title: terser
|
|
4
4
|
|
5
5
|
# tools.terser
|
6
6
|
|
7
|
-
|
7
|
+
- **Type:** `Object | Function | undefined`
|
8
|
+
- **Default:**
|
8
9
|
|
9
|
-
|
10
|
+
```js
|
11
|
+
const defaultTerserOptions = {
|
12
|
+
terserOptions: {
|
13
|
+
mangle: {
|
14
|
+
safari10: true,
|
15
|
+
},
|
16
|
+
},
|
17
|
+
};
|
18
|
+
```
|
19
|
+
|
20
|
+
- **Bundler:** `only support webpack`
|
21
|
+
|
22
|
+
When building for production, Modern.js will minimize the JavaScript code through [terser-webpack-plugin](https://github.com/webpack-contrib/terser-webpack-plugin). The config of [terser-webpack-plugin](https://github.com/webpack-contrib/terser-webpack-plugin) can be modified via `tools.terser`.
|
23
|
+
|
24
|
+
### Object Type
|
25
|
+
|
26
|
+
When `tools.terser` is `Object` type, it will be merged with the default config via `Object.assign`.
|
27
|
+
|
28
|
+
For example, to exclude some files from minification:
|
29
|
+
|
30
|
+
```js
|
31
|
+
export default {
|
32
|
+
tools: {
|
33
|
+
terser: {
|
34
|
+
exclude: /\/excludes/,
|
35
|
+
},
|
36
|
+
},
|
37
|
+
};
|
38
|
+
```
|
39
|
+
|
40
|
+
### Function Type
|
41
|
+
|
42
|
+
When `tools.terser` is `Function` type, the default config is passed in as the first parameter, the config object can be modified directly, or a value can be returned as the final result.
|
43
|
+
|
44
|
+
```js
|
45
|
+
export default {
|
46
|
+
tools: {
|
47
|
+
terser: opts => {
|
48
|
+
opts.exclude = /\/excludes/;
|
49
|
+
},
|
50
|
+
},
|
51
|
+
};
|
52
|
+
```
|
53
|
+
|
54
|
+
:::tip Disable code minification
|
55
|
+
If you need to disable code minification, you can use the [output.disableMinimize](https://modernjs.dev/builder/en/api/config-output.html#outputdisableminimize) configuration.
|
56
|
+
:::
|
@@ -4,6 +4,53 @@ title: tsChecker
|
|
4
4
|
|
5
5
|
# tools.tsChecker
|
6
6
|
|
7
|
-
|
7
|
+
- **Type:** `Object | Function`
|
8
|
+
- **Default:**
|
8
9
|
|
9
|
-
|
10
|
+
```js
|
11
|
+
const defaultOptions = {
|
12
|
+
typescript: {
|
13
|
+
// avoid OOM issue
|
14
|
+
memoryLimit: 8192,
|
15
|
+
// use tsconfig of user project
|
16
|
+
configFile: tsconfigPath,
|
17
|
+
// use typescript of user project
|
18
|
+
typescriptPath: require.resolve('typescript'),
|
19
|
+
},
|
20
|
+
issue: {
|
21
|
+
exclude: [
|
22
|
+
{ file: '**/*.(spec|test).ts' },
|
23
|
+
{ file: '**/node_modules/**/*' },
|
24
|
+
],
|
25
|
+
},
|
26
|
+
logger: {
|
27
|
+
log() {
|
28
|
+
// do nothing
|
29
|
+
// we only want to display error messages
|
30
|
+
},
|
31
|
+
error(message: string) {
|
32
|
+
console.error(message.replace(/ERROR/g, 'Type Error'));
|
33
|
+
},
|
34
|
+
},
|
35
|
+
},
|
36
|
+
```
|
37
|
+
|
38
|
+
By default, the [@rsbuild/plugin-type-check](https://rsbuild.dev/plugins/list/plugin-type-check) is enabled for type checking. You can use `output.disableTsChecker` config to disable it.
|
39
|
+
|
40
|
+
## Example
|
41
|
+
|
42
|
+
When the value of `tsChecker` is of type Object, it will be deeply merged with the default configuration.
|
43
|
+
|
44
|
+
```ts
|
45
|
+
export default {
|
46
|
+
tools: {
|
47
|
+
tsChecker: {
|
48
|
+
issue: {
|
49
|
+
exclude: [({ file = '' }) => /[\\/]some-folder[\\/]/.test(file)],
|
50
|
+
},
|
51
|
+
},
|
52
|
+
},
|
53
|
+
};
|
54
|
+
```
|
55
|
+
|
56
|
+
> Please refer to [@rsbuild/plugin-type-check](https://rsbuild.dev/plugins/list/plugin-type-check) for more details.
|
@@ -4,6 +4,67 @@ title: tsLoader
|
|
4
4
|
|
5
5
|
# tools.tsLoader
|
6
6
|
|
7
|
-
|
7
|
+
- **Type:** `Object | Function | undefined`
|
8
|
+
- **Default:** `undefined`
|
9
|
+
- **Bundler:** `only support webpack`
|
8
10
|
|
9
|
-
|
11
|
+
:::warning Alternatives for ts-loader
|
12
|
+
Using [babel-loader](https://modernjs.dev/builder/en/guide/basic/typescript.html#why-babel-is-the-default-option) or [Rspack](https://modernjs.dev/en/guide/advanced/rspack-start.html) instead of ts-loader can significantly improve compilation speed and provide better extendability.
|
13
|
+
|
14
|
+
ts-loader cannot be used with certain features such as [source.transformImport](https://modernjs.dev/en/configure/app/source/transform-import.html) and [tools.styledComponents](https://modernjs.dev/en/configure/app/tools/styled-components.html) provided by Babel & SWC.
|
15
|
+
:::
|
16
|
+
|
17
|
+
`ts-loader` is not enabled by default in the project. When `tools.tsLoader` is not undefined, builder will use ts-loader instead of babel-loader to compile TypeScript code.
|
18
|
+
|
19
|
+
### Object Type
|
20
|
+
|
21
|
+
When this value is an Object, it is merged with the default configuration via Object.assign.
|
22
|
+
|
23
|
+
The default configuration is as follows:
|
24
|
+
|
25
|
+
```json
|
26
|
+
{
|
27
|
+
"compilerOptions": {
|
28
|
+
"target": "es5",
|
29
|
+
"module": "ESNext"
|
30
|
+
},
|
31
|
+
"transpileOnly": true,
|
32
|
+
"allowTsInNodeModules": true
|
33
|
+
}
|
34
|
+
```
|
35
|
+
|
36
|
+
You can override the default configuration via the `tools.tsLoader` configuration option:
|
37
|
+
|
38
|
+
```ts
|
39
|
+
export default {
|
40
|
+
tools: {
|
41
|
+
tsLoader: {
|
42
|
+
allowTsInNodeModules: false,
|
43
|
+
},
|
44
|
+
},
|
45
|
+
};
|
46
|
+
```
|
47
|
+
|
48
|
+
### Function Type
|
49
|
+
|
50
|
+
When this value is a Function, the default configuration is passed in as the first parameter, the configuration object can be modified directly, or an object can be returned as the final configuration.The second parameter is the util functions to modify the `ts-loader` configuration. For example:
|
51
|
+
|
52
|
+
```ts
|
53
|
+
export default {
|
54
|
+
tools: {
|
55
|
+
tsLoader: opts => {
|
56
|
+
opts.allowTsInNodeModules = false;
|
57
|
+
},
|
58
|
+
},
|
59
|
+
};
|
60
|
+
```
|
61
|
+
|
62
|
+
### Util Functions
|
63
|
+
|
64
|
+
#### addIncludes
|
65
|
+
|
66
|
+
Deprecated, please use [source.include](https://modernjs.dev/en/configure/app/source/include.html) instead, both have the same functionality.
|
67
|
+
|
68
|
+
#### addExcludes
|
69
|
+
|
70
|
+
Deprecated, please use [source.exclude](https://modernjs.dev/en/configure/app/source/exclude.html) instead, both have the same functionality.
|
@@ -4,6 +4,243 @@ title: webpackChain
|
|
4
4
|
|
5
5
|
# tools.webpackChain
|
6
6
|
|
7
|
-
|
7
|
+
- **Type:** `Function | undefined`
|
8
|
+
- **Default:** `undefined`
|
9
|
+
- **Bundler:** `only support webpack`
|
8
10
|
|
9
|
-
|
11
|
+
You can modify the webpack configuration by configuring `tools.webpackChain` which is type of `Function`. The function receives two parameters, the first is the original webpack chain object, and the second is an object containing some utils.
|
12
|
+
|
13
|
+
Compared with `tools.webpack`, **webpack-chain not only supports chained calls, but also can locate built-in Rule or Plugin based on aliases, so as to achieve precise config modification**. We recommend using `tools.webpackChain` instead of `tools.webpack`.
|
14
|
+
|
15
|
+
> `tools.webpackChain` is executed earlier than tools.webpack and thus will be overridden by changes in `tools.webpack`.
|
16
|
+
|
17
|
+
### Utils
|
18
|
+
|
19
|
+
#### env
|
20
|
+
|
21
|
+
- **Type:** `'development' | 'production' | 'test'`
|
22
|
+
|
23
|
+
The `env` parameter can be used to determine whether the current environment is development, production or test. For example:
|
24
|
+
|
25
|
+
```js
|
26
|
+
export default {
|
27
|
+
tools: {
|
28
|
+
webpackChain: (chain, { env }) => {
|
29
|
+
if (env === 'development') {
|
30
|
+
chain.devtool('cheap-module-eval-source-map');
|
31
|
+
}
|
32
|
+
},
|
33
|
+
},
|
34
|
+
};
|
35
|
+
```
|
36
|
+
|
37
|
+
#### isProd
|
38
|
+
|
39
|
+
- **Type:** `boolean`
|
40
|
+
|
41
|
+
The `isProd` parameter can be used to determine whether the current environment is production. For example:
|
42
|
+
|
43
|
+
```js
|
44
|
+
export default {
|
45
|
+
tools: {
|
46
|
+
webpackChain: (chain, { isProd }) => {
|
47
|
+
if (isProd) {
|
48
|
+
chain.devtool('source-map');
|
49
|
+
}
|
50
|
+
},
|
51
|
+
},
|
52
|
+
};
|
53
|
+
```
|
54
|
+
|
55
|
+
#### target
|
56
|
+
|
57
|
+
- **Type:** `'web' | 'node' | 'modern-web' | 'web-worker'`
|
58
|
+
|
59
|
+
The `target` parameter can be used to determine the current environment. For example:
|
60
|
+
|
61
|
+
```js
|
62
|
+
export default {
|
63
|
+
tools: {
|
64
|
+
webpackChain: (chain, { target }) => {
|
65
|
+
if (target === 'node') {
|
66
|
+
// ...
|
67
|
+
}
|
68
|
+
},
|
69
|
+
},
|
70
|
+
};
|
71
|
+
```
|
72
|
+
|
73
|
+
#### isServer
|
74
|
+
|
75
|
+
- **Type:** `boolean`
|
76
|
+
|
77
|
+
Determines whether the target environment is `node`, equivalent to `target === 'node'`.
|
78
|
+
|
79
|
+
```js
|
80
|
+
export default {
|
81
|
+
tools: {
|
82
|
+
webpackChain: (chain, { isServer }) => {
|
83
|
+
if (isServer) {
|
84
|
+
// ...
|
85
|
+
}
|
86
|
+
},
|
87
|
+
},
|
88
|
+
};
|
89
|
+
```
|
90
|
+
|
91
|
+
#### isWebWorker
|
92
|
+
|
93
|
+
- **Type:** `boolean`
|
94
|
+
|
95
|
+
Determines whether the target environment is `web-worker`, equivalent to `target === 'web-worker'`.
|
96
|
+
|
97
|
+
```js
|
98
|
+
export default {
|
99
|
+
tools: {
|
100
|
+
webpackChain: (chain, { isWebWorker }) => {
|
101
|
+
if (isWebWorker) {
|
102
|
+
// ...
|
103
|
+
}
|
104
|
+
},
|
105
|
+
},
|
106
|
+
};
|
107
|
+
```
|
108
|
+
|
109
|
+
#### webpack
|
110
|
+
|
111
|
+
- **Type:** `typeof import('webpack')`
|
112
|
+
|
113
|
+
The webpack instance. For example:
|
114
|
+
|
115
|
+
```js
|
116
|
+
export default {
|
117
|
+
tools: {
|
118
|
+
webpackChain: (chain, { webpack }) => {
|
119
|
+
chain.plugin('my-progress').use(webpack.ProgressPlugin);
|
120
|
+
},
|
121
|
+
},
|
122
|
+
};
|
123
|
+
```
|
124
|
+
|
125
|
+
#### HtmlWebpackPlugin
|
126
|
+
|
127
|
+
- **Type:** `typeof import('html-webpack-plugin')`
|
128
|
+
|
129
|
+
The HtmlWebpackPlugin instance:
|
130
|
+
|
131
|
+
```js
|
132
|
+
export default {
|
133
|
+
tools: {
|
134
|
+
webpackChain: (chain, { HtmlWebpackPlugin }) => {
|
135
|
+
console.log(HtmlWebpackPlugin);
|
136
|
+
},
|
137
|
+
},
|
138
|
+
};
|
139
|
+
```
|
140
|
+
|
141
|
+
#### CHAIN_ID
|
142
|
+
|
143
|
+
Some common Chain IDs are predefined in the Modern.js, and you can use these IDs to locate the built-in Rule or Plugin.
|
144
|
+
|
145
|
+
:::tip
|
146
|
+
Please note that some of the rules or plugins listed below are not available by default. They will only be included in the webpack configuration when you enable specific options or register certain plugins.
|
147
|
+
|
148
|
+
For example, the `RULE.STYLUS` rule exists only when the Stylus plugin is registered.
|
149
|
+
:::
|
150
|
+
|
151
|
+
#### CHAIN_ID.RULE
|
152
|
+
|
153
|
+
| ID | Description |
|
154
|
+
| ------------- | ------------------------------------------------------------------------------------------- |
|
155
|
+
| `RULE.JS` | Rule for `js` |
|
156
|
+
| `RULE.TS` | Rule for `ts` |
|
157
|
+
| `RULE.CSS` | Rule for `css` |
|
158
|
+
| `RULE.LESS` | Rule for `less` |
|
159
|
+
| `RULE.SASS` | Rule for `sass` |
|
160
|
+
| `RULE.STYLUS` | Rule for `stylus`(requires [Stylus plugin](https://rsbuild.dev/plugins/list/plugin-stylus)) |
|
161
|
+
| `RULE.SVG` | Rule for `svg` |
|
162
|
+
| `RULE.PUG` | Rule for `pug` |
|
163
|
+
| `RULE.TOML` | Rule for `toml` |
|
164
|
+
| `RULE.YAML` | Rule for `yaml` |
|
165
|
+
| `RULE.WASM` | Rule for `WASM` |
|
166
|
+
| `RULE.NODE` | Rule for `node` |
|
167
|
+
| `RULE.FONT` | Rule for `font` |
|
168
|
+
| `RULE.IMAGE` | Rule for `image` |
|
169
|
+
| `RULE.MEDIA` | Rule for `media` |
|
170
|
+
|
171
|
+
#### CHAIN_ID.ONE_OF
|
172
|
+
|
173
|
+
`ONE_OF.XXX` can match a certain type of rule in the rule array.
|
174
|
+
|
175
|
+
| ID | Description |
|
176
|
+
| ------------------- | ------------------------------------------------------------------ |
|
177
|
+
| `ONE_OF.SVG` | Rules for SVG, automatic choice between data URI and separate file |
|
178
|
+
| `ONE_OF.SVG_URL` | Rules for SVG, output as a separate file |
|
179
|
+
| `ONE_OF.SVG_INLINE` | Rules for SVG, inlined into bundles as data URIs |
|
180
|
+
| `ONE_OF.SVG_ASSETS` | Rules for SVG, automatic choice between data URI and separate file |
|
181
|
+
|
182
|
+
#### CHAIN_ID.USE
|
183
|
+
|
184
|
+
`USE.XXX` can match a certain loader.
|
185
|
+
|
186
|
+
| ID | Description |
|
187
|
+
| --------------------------------- | ---------------------------------------------- |
|
188
|
+
| `USE.TS` | correspond to `ts-loader` |
|
189
|
+
| `USE.CSS` | correspond to `css-loader` |
|
190
|
+
| `USE.LESS` | correspond to `less-loader` |
|
191
|
+
| `USE.SASS` | correspond to `sass-loader` |
|
192
|
+
| `USE.STYLUS` | correspond to `stylus-loader` |
|
193
|
+
| `USE.PUG` | correspond to `pug-loader` |
|
194
|
+
| `USE.VUE` | correspond to `vue-loader` |
|
195
|
+
| `USE.TOML` | correspond to `toml-loader` |
|
196
|
+
| `USE.YAML` | correspond to `yaml-loader` |
|
197
|
+
| `USE.NODE` | correspond to `node-loader` |
|
198
|
+
| `USE.URL` | correspond to `url-loader` |
|
199
|
+
| `USE.SVGR` | correspond to `@svgr/webpack` |
|
200
|
+
| `USE.BABEL` | correspond to `babel-loader` |
|
201
|
+
| `USE.STYLE` | correspond to `style-loader` |
|
202
|
+
| `USE.POSTCSS` | correspond to `postcss-loader` |
|
203
|
+
| `USE.CSS_MODULES_TS` | correspond to `css-modules-typescript-loader` |
|
204
|
+
| `USE.MINI_CSS_EXTRACT` | correspond to `mini-css-extract-plugin.loader` |
|
205
|
+
| `USE.RESOLVE_URL_LOADER_FOR_SASS` | correspond to `resolve-url-loader` |
|
206
|
+
|
207
|
+
#### CHAIN_ID.PLUGIN
|
208
|
+
|
209
|
+
`PLUGIN.XXX` can match a certain webpack plugin.
|
210
|
+
|
211
|
+
| ID | Description |
|
212
|
+
| ------------------------------ | -------------------------------------------------------------------------------------------------------------- |
|
213
|
+
| `PLUGIN.HMR` | correspond to `HotModuleReplacementPlugin` |
|
214
|
+
| `PLUGIN.COPY` | correspond to `CopyWebpackPlugin` |
|
215
|
+
| `PLUGIN.HTML` | correspond to `HtmlWebpackPlugin`, you need to splice the entry name when using: `${PLUGIN.HTML}-${entryName}` |
|
216
|
+
| `PLUGIN.DEFINE` | correspond to `DefinePlugin` |
|
217
|
+
| `PLUGIN.IGNORE` | correspond to `IgnorePlugin` |
|
218
|
+
| `PLUGIN.BANNER` | correspond to `BannerPlugin` |
|
219
|
+
| `PLUGIN.PROGRESS` | correspond to `Webpackbar` |
|
220
|
+
| `PLUGIN.APP_ICON` | correspond to `AppIconPlugin` |
|
221
|
+
| `PLUGIN.MANIFEST` | correspond to `WebpackManifestPlugin` |
|
222
|
+
| `PLUGIN.TS_CHECKER` | correspond to `ForkTsCheckerWebpackPlugin` |
|
223
|
+
| `PLUGIN.INLINE_HTML` | correspond to `InlineChunkHtmlPlugin` |
|
224
|
+
| `PLUGIN.BUNDLE_ANALYZER` | correspond to `WebpackBundleAnalyzer` |
|
225
|
+
| `PLUGIN.MINI_CSS_EXTRACT` | correspond to `MiniCssExtractPlugin` |
|
226
|
+
| `PLUGIN.VUE_LOADER_PLUGIN` | correspond to `VueLoaderPlugin` |
|
227
|
+
| `PLUGIN.REACT_FAST_REFRESH` | correspond to `ReactFastRefreshPlugin` |
|
228
|
+
| `PLUGIN.NODE_POLYFILL_PROVIDE` | correspond to `ProvidePlugin` for node polyfills |
|
229
|
+
| `PLUGIN.SUBRESOURCE_INTEGRITY` | correspond to `webpack-subresource-integrity` |
|
230
|
+
| `PLUGIN.ASSETS_RETRY` | correspond to webpack static asset retry plugin |
|
231
|
+
| `PLUGIN.AUTO_SET_ROOT_SIZE` | correspond to automatically set root font size plugin |
|
232
|
+
|
233
|
+
#### CHAIN_ID.MINIMIZER
|
234
|
+
|
235
|
+
`MINIMIZER.XXX` can match a certain minimizer.
|
236
|
+
|
237
|
+
| ID | Description |
|
238
|
+
| ------------------- | ----------------------------------------- |
|
239
|
+
| `MINIMIZER.JS` | correspond to `TerserWebpackPlugin` |
|
240
|
+
| `MINIMIZER.CSS` | correspond to `CssMinimizerWebpackPlugin` |
|
241
|
+
| `MINIMIZER.ESBUILD` | correspond to `ESBuildPlugin` |
|
242
|
+
| `MINIMIZER.SWC` | correspond to `SwcWebpackPlugin` |
|
243
|
+
|
244
|
+
### Examples
|
245
|
+
|
246
|
+
For usage examples, please refer to: [WebpackChain usage examples](https://modernjs.dev/builder/en/guide/advanced/custom-webpack-config.html#webpack-chain-basics).
|