@modern-js/main-doc 0.0.0-nightly-20240912170717 → 0.0.0-nightly-20240913170631
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +2 -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/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 +2 -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 +4 -9
- 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
@@ -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) 反馈。
|
@@ -1,9 +1,19 @@
|
|
1
1
|
---
|
2
2
|
title: assetPrefix
|
3
|
+
configName: dev.assetPrefix
|
3
4
|
---
|
4
5
|
|
5
6
|
# dev.assetPrefix
|
6
7
|
|
7
|
-
|
8
|
+
- **类型:** `boolean | string | 'auto'`
|
9
|
+
- **默认值:** `'/'`
|
8
10
|
|
9
|
-
|
11
|
+
此配置项用于设置 **开发模式** 下的静态资源 URL 前缀。
|
12
|
+
|
13
|
+
import RsbuildConig from '@site-docs/components/rsbuild-config-tooltip';
|
14
|
+
|
15
|
+
<RsbuildConig />
|
16
|
+
|
17
|
+
:::warning
|
18
|
+
请注意,该配置项仅适用于开发模式。在生产模式下,请使用 [output.assetPrefix](/configure/app/output/asset-prefix) 配置项进行设置。
|
19
|
+
:::
|
@@ -4,6 +4,18 @@ title: beforeStartUrl
|
|
4
4
|
|
5
5
|
# dev.beforeStartUrl
|
6
6
|
|
7
|
-
|
7
|
+
- **类型:** `() => Promise<void> | void`
|
8
|
+
- **默认值:** `undefined`
|
8
9
|
|
9
|
-
|
10
|
+
`dev.beforeStartUrl` 用于在打开 `startUrl` 前执行一段回调函数,该配置项需要与 [`dev.startUrl`](/configure/app/dev/start-url) 一同使用。
|
11
|
+
|
12
|
+
```js
|
13
|
+
export default {
|
14
|
+
dev: {
|
15
|
+
startUrl: true,
|
16
|
+
beforeStartUrl: async () => {
|
17
|
+
await doSomeThing();
|
18
|
+
},
|
19
|
+
},
|
20
|
+
};
|
21
|
+
```
|
@@ -1,27 +1,25 @@
|
|
1
1
|
---
|
2
2
|
title: client
|
3
|
+
configName: dev.client
|
3
4
|
---
|
4
5
|
|
5
6
|
# dev.client
|
6
7
|
|
7
|
-
配置 Modern.js 在开发过程中注入的 client 代码,可以用于设置热更新对应的 WebSocket URL。
|
8
|
-
|
9
8
|
- **类型:**
|
10
9
|
|
11
10
|
```ts
|
12
11
|
type Client = {
|
13
|
-
|
12
|
+
// WebSocket 请求的协议名称
|
14
13
|
protocol?: 'ws' | 'wss';
|
15
|
-
|
14
|
+
// WebSocket 请求的路径
|
16
15
|
path?: string;
|
17
|
-
|
18
|
-
port?: string;
|
19
|
-
|
16
|
+
// WebSocket 请求的端口号
|
17
|
+
port?: string | number;
|
18
|
+
// WebSocket 请求的 host
|
20
19
|
host?: string;
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
*/
|
20
|
+
// WebSocket 请求断开后的最大重连次数
|
21
|
+
reconnect?: number;
|
22
|
+
// 当出现编译错误时,是否在浏览器中显示 error overlay
|
25
23
|
overlay?: boolean;
|
26
24
|
};
|
27
25
|
```
|
@@ -31,12 +29,18 @@ type Client = {
|
|
31
29
|
```js
|
32
30
|
const defaultConfig = {
|
33
31
|
path: '/webpack-hmr',
|
34
|
-
|
35
|
-
|
36
|
-
host:
|
37
|
-
|
32
|
+
port: '<port>',
|
33
|
+
// 默认为 "location.hostname"
|
34
|
+
host: '',
|
35
|
+
// 默认为 "location.protocol === 'https:' ? 'wss' : 'ws'""
|
36
|
+
protocol: undefined,
|
37
|
+
reconnect: 100,
|
38
38
|
overlay: false,
|
39
39
|
};
|
40
40
|
```
|
41
41
|
|
42
|
-
|
42
|
+
配置 Modern.js 在开发过程中注入的 client 代码,可以用于设置热更新对应的 WebSocket URL。
|
43
|
+
|
44
|
+
import RsbuildConig from '@site-docs/components/rsbuild-config-tooltip';
|
45
|
+
|
46
|
+
<RsbuildConig />
|
@@ -1,9 +1,15 @@
|
|
1
1
|
---
|
2
2
|
title: hmr
|
3
|
+
configName: dev.hmr
|
3
4
|
---
|
4
5
|
|
5
6
|
# dev.hmr
|
6
7
|
|
7
|
-
|
8
|
+
- **类型:** `boolean`
|
9
|
+
- **默认值:** `true`
|
8
10
|
|
9
|
-
|
11
|
+
是否开启 Hot Module Replacement 热更新能力。
|
12
|
+
|
13
|
+
import RsbuildConig from '@site-docs/components/rsbuild-config-tooltip';
|
14
|
+
|
15
|
+
<RsbuildConig />
|
@@ -4,6 +4,19 @@ title: host
|
|
4
4
|
|
5
5
|
# dev.host
|
6
6
|
|
7
|
-
|
7
|
+
- **类型:** `string`
|
8
|
+
- **默认值:** `0.0.0.0`
|
8
9
|
|
9
|
-
|
10
|
+
指定 dev server 启动时监听的 host。
|
11
|
+
|
12
|
+
默认情况下,dev server 会监听 `0.0.0.0`,这代表监听所有的网络接口,包括 `localhost` 和公网地址。
|
13
|
+
|
14
|
+
如果你希望 dev server 只监听 `localhost`,可以设置为:
|
15
|
+
|
16
|
+
```ts
|
17
|
+
export default {
|
18
|
+
dev: {
|
19
|
+
host: 'localhost',
|
20
|
+
},
|
21
|
+
};
|
22
|
+
```
|
@@ -4,6 +4,76 @@ title: https
|
|
4
4
|
|
5
5
|
# dev.https
|
6
6
|
|
7
|
-
|
7
|
+
- **类型:** `boolean | { key: string; cert: string }`
|
8
|
+
- **默认值:** `false`
|
9
|
+
|
10
|
+
配置该选项后,可以开启 Dev Server 对 HTTPS 的支持,同时会禁用 HTTP 服务器。
|
11
|
+
|
12
|
+
开启前:
|
13
|
+
|
14
|
+
```bash
|
15
|
+
> Local: http://localhost:8080/
|
16
|
+
> Network: http://192.168.0.1:8080/
|
17
|
+
```
|
18
|
+
|
19
|
+
开启后:
|
20
|
+
|
21
|
+
```bash
|
22
|
+
> Local: https://localhost:8080/
|
23
|
+
> Network: https://192.168.0.1:8080/
|
24
|
+
```
|
25
|
+
|
26
|
+
#### 自动生成证书
|
27
|
+
|
28
|
+
你可以直接将 `https` 设置为 `true`,Modern.js 会基于 [devcert](https://github.com/davewasmer/devcert) 来自动生成 Dev Server 所需的 HTTPS 证书。
|
29
|
+
|
30
|
+
使用这种方式时,你需要在当前项目中手动安装 [devcert](https://github.com/davewasmer/devcert) 依赖:
|
31
|
+
|
32
|
+
```bash
|
33
|
+
# npm
|
34
|
+
npm install devcert@1.2.2 -D
|
35
|
+
|
36
|
+
# yarn
|
37
|
+
yarn add devcert@1.2.2 -D
|
38
|
+
|
39
|
+
# pnpm
|
40
|
+
pnpm add devcert@1.2.2 -D
|
41
|
+
```
|
42
|
+
|
43
|
+
然后配置 `dev.https` 为 `true` 即可:
|
44
|
+
|
45
|
+
```ts
|
46
|
+
export default {
|
47
|
+
dev: {
|
48
|
+
https: true,
|
49
|
+
},
|
50
|
+
};
|
51
|
+
```
|
52
|
+
|
53
|
+
该方式有一定局限性,由于 devcert 目前不支持 IP addresses,因此访问 Network 域名时,会遇到「您的连接不是私密连接」的问题。
|
54
|
+
|
55
|
+
此问题的解决方法为:点击 Chrome 浏览器问题页面的「高级」->「继续前往 192.168.0.1(不安全)」。
|
56
|
+
|
57
|
+
:::tip
|
58
|
+
https 代理自动安装证书需要获取 root 权限, 请根据提示输入密码即可。 **密码仅在信任证书时使用,不会泄漏或者用于其他环节**。
|
59
|
+
:::
|
60
|
+
|
61
|
+
#### 手动设置证书
|
62
|
+
|
63
|
+
你也可以在 `dev.https` 选项中手动传入 HTTPS 服务器所需要的证书和对应的私钥,这个参数将直接传递给 Node.js 中 https 模块的 createServer。
|
64
|
+
|
65
|
+
具体可以参考 [https.createServer](https://nodejs.org/api/https.html#https_https_createserver_options_requestlistener)。
|
66
|
+
|
67
|
+
```ts
|
68
|
+
import fs from 'fs';
|
69
|
+
|
70
|
+
export default {
|
71
|
+
dev: {
|
72
|
+
https: {
|
73
|
+
key: fs.readFileSync('certificates/private.pem'),
|
74
|
+
cert: fs.readFileSync('certificates/public.pem'),
|
75
|
+
},
|
76
|
+
},
|
77
|
+
};
|
78
|
+
```
|
8
79
|
|
9
|
-
<Main />
|
@@ -1,5 +1,6 @@
|
|
1
1
|
---
|
2
2
|
title: liveReload
|
3
|
+
configName: dev.liveReload
|
3
4
|
---
|
4
5
|
|
5
6
|
# dev.liveReload
|
@@ -9,19 +10,6 @@ title: liveReload
|
|
9
10
|
|
10
11
|
是否在源文件变更时自动刷新页面。
|
11
12
|
|
12
|
-
|
13
|
+
import RsbuildConig from '@site-docs/components/rsbuild-config-tooltip';
|
13
14
|
|
14
|
-
|
15
|
-
|
16
|
-
## 禁用 liveReload
|
17
|
-
|
18
|
-
如果你需要禁用 liveReload,可以将 `dev.hmr` 和 `dev.liveReload` 同时设置为 `false`,此时页面上不会发起 Web Socket 请求到 dev server,也不会在文件变更时自动刷新页面。
|
19
|
-
|
20
|
-
```js
|
21
|
-
export default {
|
22
|
-
dev: {
|
23
|
-
hmr: false,
|
24
|
-
liveReload: false,
|
25
|
-
},
|
26
|
-
};
|
27
|
-
```
|
15
|
+
<RsbuildConig />
|
@@ -4,6 +4,22 @@ title: port
|
|
4
4
|
|
5
5
|
# dev.port
|
6
6
|
|
7
|
-
|
7
|
+
- **类型:** `number`
|
8
|
+
- **默认值:** `8080`
|
9
|
+
|
10
|
+
设置 Dev Server 监听的端口号。
|
11
|
+
|
12
|
+
默认情况下,Dev Server 会监听 8080 端口,并在端口被占用时自动递增端口号。
|
13
|
+
|
14
|
+
### 示例
|
15
|
+
|
16
|
+
将端口设置为 `3000`:
|
17
|
+
|
18
|
+
```ts
|
19
|
+
export default {
|
20
|
+
dev: {
|
21
|
+
port: 3000,
|
22
|
+
},
|
23
|
+
};
|
24
|
+
```
|
8
25
|
|
9
|
-
<Main />
|
@@ -1,9 +1,24 @@
|
|
1
1
|
---
|
2
2
|
title: progressBar
|
3
|
+
configName: dev.progressBar
|
3
4
|
---
|
4
5
|
|
5
6
|
# dev.progressBar
|
6
7
|
|
7
|
-
|
8
|
+
- **类型:**
|
8
9
|
|
9
|
-
|
10
|
+
```ts
|
11
|
+
type ProgressBar =
|
12
|
+
| boolean
|
13
|
+
| {
|
14
|
+
id?: string;
|
15
|
+
};
|
16
|
+
```
|
17
|
+
|
18
|
+
- **默认值:** true
|
19
|
+
|
20
|
+
是否在编译过程中展示进度条。
|
21
|
+
|
22
|
+
import RsbuildConig from '@site-docs/components/rsbuild-config-tooltip';
|
23
|
+
|
24
|
+
<RsbuildConig />
|
@@ -1,5 +1,6 @@
|
|
1
1
|
---
|
2
2
|
title: setupMiddlewares
|
3
|
+
configName: dev.setupMiddlewares
|
3
4
|
---
|
4
5
|
|
5
6
|
# dev.setupMiddlewares
|
@@ -7,11 +8,32 @@ title: setupMiddlewares
|
|
7
8
|
- **类型:**
|
8
9
|
|
9
10
|
```ts
|
10
|
-
type
|
11
|
+
type SetupMiddlewaresServer = {
|
11
12
|
sockWrite: (
|
12
13
|
type: string,
|
13
14
|
data?: string | boolean | Record<string, any>,
|
14
15
|
) => void;
|
16
|
+
environments: {
|
17
|
+
[name: string]: {
|
18
|
+
/**
|
19
|
+
* 获取当前环境的构建信息
|
20
|
+
*/
|
21
|
+
getStats: () => Promise<Stats>;
|
22
|
+
|
23
|
+
/**
|
24
|
+
* 在服务端加载并执行构建产物
|
25
|
+
*
|
26
|
+
* @param entryName - 入口名称,和 Rsbuild source.entry 的某一个 key 值对应
|
27
|
+
* @returns 入口模块的返回值
|
28
|
+
*/
|
29
|
+
loadBundle: <T = unknown>(entryName: string) => Promise<T>;
|
30
|
+
|
31
|
+
/**
|
32
|
+
* 获取编译后的 HTML 模版内容
|
33
|
+
*/
|
34
|
+
getTransformedHtml: (entryName: string) => Promise<string>;
|
35
|
+
};
|
36
|
+
};
|
15
37
|
};
|
16
38
|
|
17
39
|
type SetupMiddlewares = Array<
|
@@ -20,7 +42,7 @@ type SetupMiddlewares = Array<
|
|
20
42
|
unshift: (...handlers: RequestHandler[]) => void;
|
21
43
|
push: (...handlers: RequestHandler[]) => void;
|
22
44
|
},
|
23
|
-
server:
|
45
|
+
server: SetupMiddlewaresServer,
|
24
46
|
) => void
|
25
47
|
>;
|
26
48
|
```
|
@@ -29,41 +51,6 @@ type SetupMiddlewares = Array<
|
|
29
51
|
|
30
52
|
提供执行自定义函数和应用自定义中间件的能力。
|
31
53
|
|
32
|
-
|
54
|
+
import RsbuildConig from '@site-docs/components/rsbuild-config-tooltip';
|
33
55
|
|
34
|
-
|
35
|
-
export default {
|
36
|
-
dev: {
|
37
|
-
setupMiddlewares: [
|
38
|
-
(middlewares, server) => {
|
39
|
-
middlewares.unshift((req, res, next) => {
|
40
|
-
next();
|
41
|
-
});
|
42
|
-
|
43
|
-
middlewares.push((req, res, next) => {
|
44
|
-
next();
|
45
|
-
});
|
46
|
-
},
|
47
|
-
],
|
48
|
-
},
|
49
|
-
};
|
50
|
-
```
|
51
|
-
|
52
|
-
一些特殊场景需求可能需要使用服务器 API:
|
53
|
-
|
54
|
-
- sockWrite。允许向 HMR 客户端传递一些消息,HMR 客户端将根据接收到的消息类型进行不同的处理。如果你发送一个 "content-changed " 的消息,页面将会重新加载。
|
55
|
-
|
56
|
-
```js
|
57
|
-
export default {
|
58
|
-
dev: {
|
59
|
-
setupMiddlewares: [
|
60
|
-
(middlewares, server) => {
|
61
|
-
// 添加自定义 watcher 并在文件更新时触发页面刷新
|
62
|
-
watcher.on('change', (changed) => {
|
63
|
-
server.sockWrite('content-changed');
|
64
|
-
});
|
65
|
-
},
|
66
|
-
],
|
67
|
-
},
|
68
|
-
};
|
69
|
-
```
|
56
|
+
<RsbuildConig />
|
@@ -4,6 +4,51 @@ title: startUrl
|
|
4
4
|
|
5
5
|
# dev.startUrl
|
6
6
|
|
7
|
-
|
7
|
+
- **类型:** `boolean | string | string[] | undefined`
|
8
|
+
- **默认值:** `undefined`
|
8
9
|
|
9
|
-
|
10
|
+
`dev.startUrl` 用于设置 Dev Server 启动时自动在浏览器中打开的页面 URL。
|
11
|
+
|
12
|
+
默认情况下,Dev Server 启动时不会打开任何页面。
|
13
|
+
|
14
|
+
你可以设置为如下的值:
|
15
|
+
|
16
|
+
```js
|
17
|
+
export default {
|
18
|
+
dev: {
|
19
|
+
// 打开项目的默认页面,等价于 `http://localhost:<port>`
|
20
|
+
startUrl: true,
|
21
|
+
// 打开指定的页面
|
22
|
+
startUrl: 'http://localhost:8080',
|
23
|
+
// 打开多个页面
|
24
|
+
startUrl: ['http://localhost:8080', 'http://localhost:8080/about'],
|
25
|
+
},
|
26
|
+
};
|
27
|
+
```
|
28
|
+
|
29
|
+
### 端口号占位符
|
30
|
+
|
31
|
+
由于端口号可能会发生变动,你可以使用 `<port>` 占位符来指代当前端口号,Modern.js 会自动将占位符替换为实际监听的端口号。
|
32
|
+
|
33
|
+
```js
|
34
|
+
export default {
|
35
|
+
dev: {
|
36
|
+
startUrl: 'http://localhost:<port>/home',
|
37
|
+
},
|
38
|
+
};
|
39
|
+
```
|
40
|
+
|
41
|
+
### 打开指定浏览器
|
42
|
+
|
43
|
+
在 MacOS 上,通过设置环境变量 `BROWSER`,你可以指定 Dev Server 在启动时打开的浏览器,支持如下的值:
|
44
|
+
|
45
|
+
- Google Chrome Canary
|
46
|
+
- Google Chrome Dev
|
47
|
+
- Google Chrome Beta
|
48
|
+
- Google Chrome
|
49
|
+
- Microsoft Edge
|
50
|
+
- Brave Browser
|
51
|
+
- Vivaldi
|
52
|
+
- Chromium
|
53
|
+
|
54
|
+
建议设置在`.env.local`文件中。
|
@@ -1,5 +1,6 @@
|
|
1
1
|
---
|
2
2
|
title: watchFiles
|
3
|
+
configName: dev.watchFiles
|
3
4
|
---
|
4
5
|
|
5
6
|
# dev.watchFiles
|
@@ -9,6 +10,7 @@ title: watchFiles
|
|
9
10
|
```ts
|
10
11
|
type WatchFiles = {
|
11
12
|
paths: string | string[];
|
13
|
+
type?: 'reload-page' | 'reload-server';
|
12
14
|
// chokidar 选项
|
13
15
|
options?: WatchOptions;
|
14
16
|
};
|
@@ -16,44 +18,8 @@ type WatchFiles = {
|
|
16
18
|
|
17
19
|
- **默认值:** `undefined`
|
18
20
|
|
19
|
-
|
21
|
+
监听指定文件和目录的变化。当文件发生变化时,可以触发页面的重新加载,或者触发 dev server 重新启动。
|
20
22
|
|
21
|
-
|
23
|
+
import RsbuildConig from '@site-docs/components/rsbuild-config-tooltip';
|
22
24
|
|
23
|
-
|
24
|
-
WatchFiles 中文件发生变化时,不会触发配置文件的重新加载及重新编译。
|
25
|
-
:::
|
26
|
-
|
27
|
-
### 示例
|
28
|
-
|
29
|
-
你可以配置一个 glob 模式 / 目录 / 文件的列表,用于监视文件变化。
|
30
|
-
|
31
|
-
```js
|
32
|
-
export default {
|
33
|
-
dev: {
|
34
|
-
watchFiles: {
|
35
|
-
// 监视单个文件
|
36
|
-
paths: 'public/demo.txt',
|
37
|
-
// 使用 glob 模式
|
38
|
-
paths: 'src/**/*.txt',
|
39
|
-
// 监视多个文件路径
|
40
|
-
paths: ['src/**/*.txt', 'public/**/*'],
|
41
|
-
},
|
42
|
-
},
|
43
|
-
};
|
44
|
-
```
|
45
|
-
|
46
|
-
你也可以通过传入一个包含 `paths` 和 `options` 属性的对象,来指定 [chokidar](https://github.com/paulmillr/chokidar#api) 选项。
|
47
|
-
|
48
|
-
```js
|
49
|
-
export default {
|
50
|
-
dev: {
|
51
|
-
watchFiles: {
|
52
|
-
paths: 'src/**/*.txt',
|
53
|
-
options: {
|
54
|
-
usePolling: false,
|
55
|
-
},
|
56
|
-
},
|
57
|
-
},
|
58
|
-
};
|
59
|
-
```
|
25
|
+
<RsbuildConig />
|
@@ -1,5 +1,6 @@
|
|
1
1
|
---
|
2
2
|
title: writeToDisk
|
3
|
+
configName: dev.writeToDisk
|
3
4
|
---
|
4
5
|
|
5
6
|
# dev.writeToDisk
|
@@ -9,30 +10,6 @@ title: writeToDisk
|
|
9
10
|
|
10
11
|
用于控制是否将开发环境的构建产物写入到磁盘上。
|
11
12
|
|
12
|
-
|
13
|
+
import RsbuildConig from '@site-docs/components/rsbuild-config-tooltip';
|
13
14
|
|
14
|
-
|
15
|
-
|
16
|
-
只需要将 `dev.writeToDisk` 配置项设置为 `false` 即可:
|
17
|
-
|
18
|
-
```ts
|
19
|
-
export default {
|
20
|
-
dev: {
|
21
|
-
writeToDisk: false,
|
22
|
-
},
|
23
|
-
};
|
24
|
-
```
|
25
|
-
|
26
|
-
## 匹配部分文件
|
27
|
-
|
28
|
-
你也可以将 `dev.writeToDisk` 设置为函数来匹配一部分文件,函数返回 `false` 时不会写入文件,返回值 `true` 时会将文件写入磁盘。
|
29
|
-
|
30
|
-
例如,Modern.js 会默认将文件写入磁盘,并排除热更新临时文件:
|
31
|
-
|
32
|
-
```ts
|
33
|
-
export default {
|
34
|
-
dev: {
|
35
|
-
writeToDisk: (file) => !file.includes('.hot-update.'),
|
36
|
-
},
|
37
|
-
};
|
38
|
-
```
|
15
|
+
<RsbuildConig />
|
@@ -4,6 +4,88 @@ title: lazyCompilation
|
|
4
4
|
|
5
5
|
# experiments.lazyCompilation
|
6
6
|
|
7
|
-
|
7
|
+
- **类型:**
|
8
8
|
|
9
|
-
|
9
|
+
```ts
|
10
|
+
type LazyCompilationOptions =
|
11
|
+
| boolean
|
12
|
+
| {
|
13
|
+
// 是否为异步模块开启延迟编译
|
14
|
+
imports?: boolean;
|
15
|
+
// 是否为入口模块开启延迟编译
|
16
|
+
entries?: boolean;
|
17
|
+
// 指定哪些导入的模块应该被延迟编译
|
18
|
+
test?: RegExp | ((m: Module) => boolean);
|
19
|
+
};
|
20
|
+
```
|
21
|
+
|
22
|
+
- **默认值:** `false`
|
23
|
+
|
24
|
+
用于开启延迟编译(即按需编译)的能力。当开启此配置项时,Modern.js 会进行延迟编译,提升项目的编译启动速度。
|
25
|
+
|
26
|
+
延迟编译只在开发环境下生效。
|
27
|
+
|
28
|
+
### 延迟编译异步模块
|
29
|
+
|
30
|
+
延迟编译 [dynamic import](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/import) 引入的异步模块:
|
31
|
+
|
32
|
+
```ts
|
33
|
+
export default {
|
34
|
+
experiments: {
|
35
|
+
lazyCompilation: {
|
36
|
+
imports: true,
|
37
|
+
entries: false,
|
38
|
+
},
|
39
|
+
},
|
40
|
+
};
|
41
|
+
```
|
42
|
+
|
43
|
+
开启 `imports` 选项后,所有的异步模块只有在被请求时才触发编译。如果你的项目是一个单页应用(SPA),并通过 dynamic import 进行了路由拆分,那么会有明显的编译提速效果。
|
44
|
+
|
45
|
+
### 延迟编译入口模块
|
46
|
+
|
47
|
+
除了延迟编译异步模块,你也可以选择同时延迟编译入口模块和异步模块。
|
48
|
+
|
49
|
+
```ts
|
50
|
+
export default {
|
51
|
+
experiments: {
|
52
|
+
lazyCompilation: {
|
53
|
+
imports: true,
|
54
|
+
entries: true,
|
55
|
+
},
|
56
|
+
},
|
57
|
+
};
|
58
|
+
```
|
59
|
+
|
60
|
+
以上配置也可以简化为:
|
61
|
+
|
62
|
+
```ts
|
63
|
+
export default {
|
64
|
+
experiments: {
|
65
|
+
lazyCompilation: true,
|
66
|
+
},
|
67
|
+
};
|
68
|
+
```
|
69
|
+
|
70
|
+
开启 `entries` 选项后,当启动编译时,不会编译所有的页面,而是仅在路由跳转到对应的页面时,才对该页面进行编译。
|
71
|
+
|
72
|
+
使用延迟编译入口模块时,有以下注意事项:
|
73
|
+
|
74
|
+
- 只适用于多页应用(MPA),对单页应用(SPA)没有优化效果。
|
75
|
+
- 当你访问一个页面时,由于要等待页面编译完成,会有一段时间的白屏。
|
76
|
+
|
77
|
+
### 局限性
|
78
|
+
|
79
|
+
#### 禁用拆包规则
|
80
|
+
|
81
|
+
当你开启延迟编译时,为了保证编译结果正常,Modern.js 会在开发环境下禁用拆包规则。这不会影响生产环境的打包产物,但会导致开发环境和生产环境的打包产物有一定差异。
|
82
|
+
|
83
|
+
#### 使用代理
|
84
|
+
|
85
|
+
Lazy Compilation 依赖 webpack 在本地启动的开发服务器,当你将某个域名代理到 localhost 进行开发时,Lazy Compilation 将无法正常工作。因此,如果你需要使用代理时,请禁用 Lazy Compilation。
|
86
|
+
|
87
|
+
#### 其他潜在的问题
|
88
|
+
|
89
|
+
考虑到 Lazy Compilation 仍然是 webpack 的实验性功能,因此你在使用过程中,可能会遇到一些潜在的问题,比如编译产物的行为变化,或是编译出现异常。
|
90
|
+
|
91
|
+
当你遇到这些问题时,可以参考 [webpack 的 Issues](https://github.com/webpack/webpack/issues) 寻找解决方案,也可以关闭 `lazyCompilation` 配置项。
|