@modern-js/main-doc 2.69.7 → 3.0.0-alpha.1
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/{_meta.json → _nav.json} +5 -1
- package/docs/en/apis/app/commands.mdx +8 -33
- package/docs/en/apis/app/hooks/src/entry.mdx +1 -5
- package/docs/en/apis/app/hooks/src/entry.server.mdx +4 -5
- package/docs/en/apis/app/hooks/src/routes.mdx +2 -2
- package/docs/en/apis/app/runtime/_meta.json +0 -18
- package/docs/en/apis/app/runtime/bff/use-hono-context.mdx +2 -2
- package/docs/en/apis/app/runtime/router/router.mdx +1 -1
- package/docs/en/apis/app/runtime/utility/css-in-js.mdx +3 -2
- package/docs/en/community/blog/v2-release-note.mdx +0 -2
- package/docs/en/community/contributing-guide.mdx +10 -12
- package/docs/en/components/bff-upload.mdx +19 -17
- package/docs/en/components/build-output.mdx +45 -0
- package/docs/en/components/bundler.mdx +1 -1
- package/docs/en/components/debug-app.mdx +1 -1
- package/docs/en/components/enable-bff-caution.mdx +2 -2
- package/docs/en/components/enable-bff.mdx +42 -8
- package/docs/en/components/enable-ssg.mdx +49 -0
- package/docs/en/components/entry-scan-logic.mdx +7 -0
- package/docs/en/components/esbuild.mdx +2 -2
- package/docs/en/components/extend-bff-function.mdx +2 -4
- package/docs/en/components/hono.mdx +119 -0
- package/docs/en/components/init-app.mdx +40 -17
- package/docs/en/components/international/custom-instance-code.mdx +16 -0
- package/docs/en/components/international/init-options-desc.mdx +1 -0
- package/docs/en/components/international/install-command.mdx +23 -0
- package/docs/en/components/international/instance-code.mdx +26 -0
- package/docs/en/components/international/introduce.mdx +2 -0
- package/docs/en/components/module-federation.mdx +4 -4
- package/docs/en/components/nodeVersion.mdx +2 -6
- package/docs/en/components/prerequisites.mdx +1 -1
- package/docs/en/components/ua-polyfill.mdx +16 -12
- package/docs/en/components/upgrade-config-deploy.mdx +0 -0
- package/docs/en/configure/_meta.json +7 -8
- package/docs/en/configure/app/bff/cross-project.mdx +24 -0
- package/docs/en/configure/app/builder-plugins.mdx +1 -2
- package/docs/en/configure/app/dev/lazy-compilation.mdx +45 -0
- package/docs/en/configure/app/dev/server.mdx +211 -0
- package/docs/en/configure/app/dev/setup-middlewares.mdx +4 -22
- package/docs/en/configure/app/experiments/source-build.mdx +0 -1
- package/docs/en/configure/app/html/app-icon.mdx +1 -23
- package/docs/en/configure/app/output/assets-retry.mdx +1 -1
- package/docs/en/configure/app/output/disable-inline-runtime-chunk.mdx +2 -2
- package/docs/en/configure/app/output/filename.mdx +2 -4
- package/docs/en/configure/app/output/inline-scripts.mdx +1 -1
- package/docs/en/configure/app/output/override-browserslist.mdx +6 -4
- package/docs/en/configure/app/output/source-map.mdx +6 -3
- package/docs/en/configure/app/output/ssg.mdx +12 -43
- package/docs/en/configure/app/output/ssgByEntries.mdx +93 -0
- package/docs/en/configure/app/output/temp-dir.mdx +3 -3
- package/docs/en/configure/app/performance/build-cache.mdx +1 -5
- package/docs/en/configure/app/performance/profile.mdx +1 -1
- package/docs/en/configure/app/plugins.mdx +1 -3
- package/docs/en/configure/app/resolve/alias-strategy.mdx +14 -0
- package/docs/en/configure/app/resolve/alias.mdx +13 -0
- package/docs/en/configure/app/resolve/condition-names.mdx +18 -0
- package/docs/en/configure/app/resolve/dedupe.mdx +13 -0
- package/docs/en/configure/app/resolve/extensions.mdx +18 -0
- package/docs/en/configure/app/runtime/0-intro.mdx +2 -51
- package/docs/en/configure/app/runtime/router.mdx +0 -4
- package/docs/en/configure/app/security/check-syntax.mdx +1 -1
- package/docs/en/configure/app/security/sri.mdx +0 -1
- package/docs/en/configure/app/server/port.mdx +1 -21
- package/docs/en/configure/app/server/rsc.mdx +30 -0
- package/docs/en/configure/app/server/ssr.mdx +20 -9
- package/docs/en/configure/app/source/alias.mdx +1 -1
- package/docs/en/configure/app/source/decorators.mdx +4 -2
- package/docs/en/configure/app/source/enable-async-entry.mdx +1 -1
- package/docs/en/configure/app/source/entries.mdx +0 -2
- package/docs/en/configure/app/source/include.mdx +2 -14
- package/docs/en/configure/app/source/main-entry-name.mdx +4 -4
- package/docs/en/configure/app/source/transform-import.mdx +1 -59
- package/docs/en/configure/app/tools/bundler-chain.mdx +5 -5
- package/docs/en/configure/app/tools/css-extract.mdx +1 -1
- package/docs/en/configure/app/tools/dev-server.mdx +22 -256
- package/docs/en/configure/app/tools/html-plugin.mdx +3 -3
- package/docs/en/configure/app/tools/lightningcss-loader.mdx +0 -1
- package/docs/en/configure/app/tools/swc.mdx +1 -43
- package/docs/en/configure/app/usage.mdx +5 -27
- package/docs/en/guides/_meta.json +5 -1
- package/docs/en/guides/advanced-features/_meta.json +6 -0
- package/docs/en/guides/advanced-features/bff/_meta.json +9 -1
- package/docs/en/guides/advanced-features/bff/cross-project.mdx +2 -8
- package/docs/en/guides/advanced-features/bff/extend-server.mdx +18 -3
- package/docs/en/guides/advanced-features/bff/frameworks.mdx +2 -15
- package/docs/en/guides/advanced-features/bff/function.mdx +6 -10
- package/docs/en/guides/advanced-features/bff/operators.mdx +628 -0
- package/docs/en/guides/advanced-features/bff/sdk.mdx +20 -12
- package/docs/en/guides/advanced-features/bff/upload.mdx +3 -1
- package/docs/en/guides/advanced-features/build-performance.mdx +23 -26
- package/docs/en/guides/advanced-features/compatibility.mdx +53 -9
- package/docs/en/guides/advanced-features/international/_meta.json +11 -0
- package/docs/en/guides/advanced-features/international/advanced.mdx +193 -0
- package/docs/en/guides/advanced-features/international/api.mdx +400 -0
- package/docs/en/guides/advanced-features/international/basic.mdx +417 -0
- package/docs/en/guides/advanced-features/international/best-practices.mdx +135 -0
- package/docs/en/guides/advanced-features/international/configuration.mdx +428 -0
- package/docs/en/guides/advanced-features/international/locale-detection.mdx +276 -0
- package/docs/en/guides/advanced-features/international/quick-start.mdx +126 -0
- package/docs/en/guides/advanced-features/international/resource-loading.mdx +417 -0
- package/docs/en/guides/advanced-features/international/routing.mdx +212 -0
- package/docs/en/guides/advanced-features/international.mdx +37 -0
- package/docs/en/guides/advanced-features/low-level.mdx +21 -16
- package/docs/en/guides/advanced-features/page-performance/code-split.mdx +4 -4
- package/docs/en/guides/advanced-features/page-performance/inline-assets.mdx +4 -4
- package/docs/en/guides/advanced-features/page-performance/optimize-bundle.mdx +8 -22
- package/docs/en/guides/advanced-features/page-performance/react-compiler.mdx +19 -12
- package/docs/en/guides/advanced-features/rspack-start.mdx +3 -23
- package/docs/en/guides/advanced-features/server-monitor/logger.mdx +0 -4
- package/docs/en/guides/advanced-features/server-monitor/monitors.mdx +121 -36
- package/docs/en/guides/advanced-features/web-server.mdx +82 -299
- package/docs/en/guides/basic-features/_meta.json +6 -1
- package/docs/en/guides/basic-features/css/css-in-js.mdx +46 -11
- package/docs/en/guides/basic-features/css/css-modules.mdx +5 -17
- package/docs/en/guides/basic-features/css/css.mdx +3 -3
- package/docs/en/guides/basic-features/css/tailwindcss.mdx +5 -89
- package/docs/en/guides/basic-features/data/data-cache.mdx +65 -77
- package/docs/en/guides/basic-features/data/data-fetch.mdx +19 -18
- package/docs/en/guides/basic-features/data/data-write.mdx +2 -2
- package/docs/en/guides/basic-features/debug/mock.mdx +4 -1
- package/docs/en/guides/basic-features/debug/proxy.mdx +6 -17
- package/docs/en/guides/basic-features/debug/rsdoctor.mdx +5 -5
- package/docs/en/guides/basic-features/deploy.mdx +25 -18
- package/docs/en/guides/basic-features/env-vars.mdx +1 -1
- package/docs/en/guides/basic-features/html.mdx +1 -1
- package/docs/en/guides/basic-features/output-files.mdx +3 -3
- package/docs/en/guides/basic-features/render/_meta.json +1 -1
- package/docs/en/guides/basic-features/render/before-render.mdx +16 -23
- package/docs/en/guides/basic-features/render/overview.mdx +51 -0
- package/docs/en/guides/basic-features/render/rsc.mdx +399 -0
- package/docs/en/guides/basic-features/render/ssg.mdx +26 -67
- package/docs/en/guides/basic-features/render/ssr-cache.mdx +6 -10
- package/docs/en/guides/basic-features/render/ssr.mdx +31 -31
- package/docs/en/guides/basic-features/render/streaming-ssr.mdx +29 -9
- package/docs/en/guides/basic-features/routes/_meta.json +1 -0
- package/docs/en/guides/basic-features/routes/config-routes.mdx +427 -0
- package/docs/en/guides/basic-features/{routes.mdx → routes/routes.mdx} +7 -110
- package/docs/en/guides/basic-features/static-assets/json-files.mdx +21 -3
- package/docs/en/guides/basic-features/static-assets/svg-assets.mdx +0 -4
- package/docs/en/guides/basic-features/static-assets.mdx +2 -2
- package/docs/en/guides/concept/builder.mdx +27 -12
- package/docs/en/guides/concept/entries.mdx +139 -147
- package/docs/en/guides/get-started/glossary.mdx +0 -18
- package/docs/en/guides/get-started/introduction.mdx +1 -4
- package/docs/en/guides/get-started/quick-start.mdx +4 -71
- package/docs/en/guides/get-started/tech-stack.mdx +7 -27
- package/docs/en/guides/get-started/upgrade.mdx +30 -23
- package/docs/en/guides/topic-detail/_meta.json +0 -12
- package/docs/en/guides/topic-detail/module-federation/_meta.json +1 -1
- package/docs/en/guides/topic-detail/module-federation/application.mdx +16 -15
- package/docs/en/guides/topic-detail/module-federation/i18n.mdx +670 -0
- package/docs/en/guides/topic-detail/module-federation/introduce.mdx +5 -4
- package/docs/en/guides/topic-detail/module-federation/ssr.mdx +50 -2
- package/docs/en/guides/topic-detail/module-federation/usage.mdx +10 -30
- package/docs/en/guides/troubleshooting/builder.mdx +3 -82
- package/docs/en/guides/troubleshooting/cli.mdx +6 -30
- package/docs/en/guides/troubleshooting/dependencies.mdx +22 -22
- package/docs/en/guides/upgrade/_meta.json +1 -0
- package/docs/en/guides/upgrade/config.mdx +936 -0
- package/docs/en/guides/upgrade/entry.mdx +463 -0
- package/docs/en/guides/upgrade/other.mdx +83 -0
- package/docs/en/guides/upgrade/overview.mdx +33 -0
- package/docs/en/guides/upgrade/tailwindcss.mdx +130 -0
- package/docs/en/guides/upgrade/web-server.mdx +91 -0
- package/docs/en/plugin/_meta.json +5 -0
- package/docs/en/plugin/cli-plugins/_meta.json +1 -1
- package/docs/en/plugin/cli-plugins/api.mdx +17 -68
- package/docs/en/plugin/cli-plugins/life-cycle.mdx +0 -4
- package/docs/en/plugin/introduction.mdx +44 -44
- package/docs/en/plugin/official/_meta.json +0 -5
- package/docs/en/plugin/official/cli-plugins/_meta.json +1 -1
- package/docs/en/plugin/official/cli-plugins/plugin-styled-components.mdx +5 -0
- package/docs/en/plugin/official/cli-plugins.mdx +0 -2
- package/docs/en/plugin/plugin-system.mdx +69 -62
- package/docs/en/plugin/runtime-plugins/_meta.json +1 -1
- package/docs/en/plugin/runtime-plugins/api.mdx +62 -59
- package/docs/en/plugin/server-plugins/_meta.json +1 -0
- package/docs/en/plugin/server-plugins/api.mdx +210 -1
- package/docs/en/plugin/server-plugins/life-cycle.mdx +41 -1
- package/docs/en/tutorials/_meta.json +0 -10
- package/docs/en/tutorials/examples/csr-auth.mdx +1 -1
- package/docs/en/tutorials/foundations/introduction.mdx +9 -25
- package/docs/zh/{_meta.json → _nav.json} +10 -6
- package/docs/zh/apis/app/commands.mdx +8 -33
- package/docs/zh/apis/app/hooks/src/entry.mdx +1 -5
- package/docs/zh/apis/app/hooks/src/entry.server.mdx +4 -5
- package/docs/zh/apis/app/hooks/src/routes.mdx +2 -2
- package/docs/zh/apis/app/runtime/_meta.json +0 -18
- package/docs/zh/apis/app/runtime/bff/use-hono-context.mdx +2 -2
- package/docs/zh/apis/app/runtime/utility/css-in-js.mdx +3 -2
- package/docs/zh/community/blog/v2-release-note.mdx +0 -2
- package/docs/zh/community/contributing-guide.mdx +10 -12
- package/docs/zh/components/auto-upgrade.mdx +0 -0
- package/docs/zh/components/bff-operator-code.mdx +5 -0
- package/docs/zh/components/bff-upload.mdx +8 -7
- package/docs/zh/components/build-output.mdx +45 -0
- package/docs/zh/components/bundler.mdx +1 -1
- package/docs/zh/components/debug-app.mdx +1 -1
- package/docs/zh/components/enable-bff-caution.mdx +1 -1
- package/docs/zh/components/enable-bff.mdx +41 -8
- package/docs/zh/components/enable-ssg.mdx +49 -0
- package/docs/zh/components/entry-scan-logic.mdx +7 -0
- package/docs/zh/components/esbuild.mdx +2 -2
- package/docs/zh/components/extend-bff-function.mdx +2 -4
- package/docs/zh/components/hono.mdx +119 -0
- package/docs/zh/components/init-app.mdx +40 -18
- package/docs/zh/components/international/custom-instance-code.mdx +16 -0
- package/docs/zh/components/international/init-options-desc.mdx +1 -0
- package/docs/zh/components/international/install-command.mdx +23 -0
- package/docs/zh/components/international/instance-code.mdx +26 -0
- package/docs/zh/components/international/introduce.mdx +2 -0
- package/docs/zh/components/international/platform-support.mdx +0 -0
- package/docs/zh/components/module-federation.mdx +4 -4
- package/docs/zh/components/new-entry-tooltip.mdx +0 -0
- package/docs/zh/components/nodeVersion.mdx +3 -7
- package/docs/zh/components/prerequisites.mdx +1 -1
- package/docs/zh/components/self-route-example.mdx +3 -3
- package/docs/zh/components/ua-polyfill.mdx +11 -6
- package/docs/zh/components/upgrade-browserslist.mdx +0 -0
- package/docs/zh/components/upgrade-config-deploy.mdx +0 -0
- package/docs/zh/configure/_meta.json +7 -8
- package/docs/zh/configure/app/bff/cross-project.mdx +24 -0
- package/docs/zh/configure/app/builder-plugins.mdx +1 -2
- package/docs/zh/configure/app/dev/lazy-compilation.mdx +44 -0
- package/docs/zh/configure/app/dev/server.mdx +211 -0
- package/docs/zh/configure/app/dev/setup-middlewares.mdx +4 -23
- package/docs/zh/configure/app/experiments/source-build.mdx +0 -1
- package/docs/zh/configure/app/html/app-icon.mdx +1 -23
- package/docs/zh/configure/app/output/assets-retry.mdx +1 -1
- package/docs/zh/configure/app/output/disable-inline-runtime-chunk.mdx +2 -2
- package/docs/zh/configure/app/output/filename.mdx +2 -4
- package/docs/zh/configure/app/output/inline-scripts.mdx +1 -1
- package/docs/zh/configure/app/output/override-browserslist.mdx +3 -3
- package/docs/zh/configure/app/output/source-map.mdx +10 -3
- package/docs/zh/configure/app/output/ssg.mdx +13 -45
- package/docs/zh/configure/app/output/ssgByEntries.mdx +94 -0
- package/docs/zh/configure/app/output/temp-dir.mdx +3 -3
- package/docs/zh/configure/app/performance/build-cache.mdx +1 -5
- package/docs/zh/configure/app/performance/profile.mdx +1 -1
- package/docs/zh/configure/app/plugins.mdx +1 -2
- package/docs/zh/configure/app/resolve/alias-strategy.mdx +14 -0
- package/docs/zh/configure/app/resolve/alias.mdx +13 -0
- package/docs/zh/configure/app/resolve/condition-names.mdx +18 -0
- package/docs/zh/configure/app/resolve/dedupe.mdx +14 -0
- package/docs/zh/configure/app/resolve/extensions.mdx +18 -0
- package/docs/zh/configure/app/runtime/0-intro.mdx +2 -53
- package/docs/zh/configure/app/runtime/router.mdx +0 -4
- package/docs/zh/configure/app/security/check-syntax.mdx +1 -1
- package/docs/zh/configure/app/security/sri.mdx +0 -1
- package/docs/zh/configure/app/server/port.mdx +2 -21
- package/docs/zh/configure/app/server/rsc.mdx +30 -0
- package/docs/zh/configure/app/server/ssr.mdx +21 -11
- package/docs/zh/configure/app/source/alias.mdx +1 -1
- package/docs/zh/configure/app/source/decorators.mdx +4 -4
- package/docs/zh/configure/app/source/enable-async-entry.mdx +1 -1
- package/docs/zh/configure/app/source/entries.mdx +0 -2
- package/docs/zh/configure/app/source/include.mdx +2 -16
- package/docs/zh/configure/app/source/main-entry-name.mdx +4 -4
- package/docs/zh/configure/app/source/transform-import.mdx +1 -59
- package/docs/zh/configure/app/tools/bundler-chain.mdx +6 -6
- package/docs/zh/configure/app/tools/css-extract.mdx +1 -1
- package/docs/zh/configure/app/tools/dev-server.mdx +14 -248
- package/docs/zh/configure/app/tools/html-plugin.mdx +3 -2
- package/docs/zh/configure/app/tools/lightningcss-loader.mdx +0 -1
- package/docs/zh/configure/app/tools/swc.mdx +1 -43
- package/docs/zh/configure/app/usage.mdx +6 -28
- package/docs/zh/guides/_meta.json +5 -1
- package/docs/zh/guides/advanced-features/_meta.json +6 -1
- package/docs/zh/guides/advanced-features/bff/_meta.json +9 -1
- package/docs/zh/guides/advanced-features/bff/cross-project.mdx +8 -16
- package/docs/zh/guides/advanced-features/bff/extend-server.mdx +25 -8
- package/docs/zh/guides/advanced-features/bff/frameworks.mdx +2 -16
- package/docs/zh/guides/advanced-features/bff/function.mdx +7 -12
- package/docs/zh/guides/advanced-features/bff/operators.mdx +628 -0
- package/docs/zh/guides/advanced-features/bff/sdk.mdx +23 -16
- package/docs/zh/guides/advanced-features/bff/upload.mdx +3 -1
- package/docs/zh/guides/advanced-features/build-performance.mdx +23 -30
- package/docs/zh/guides/advanced-features/compatibility.mdx +44 -0
- package/docs/zh/guides/advanced-features/international/_meta.json +11 -0
- package/docs/zh/guides/advanced-features/international/advanced.mdx +193 -0
- package/docs/zh/guides/advanced-features/international/api.mdx +400 -0
- package/docs/zh/guides/advanced-features/international/basic.mdx +416 -0
- package/docs/zh/guides/advanced-features/international/best-practices.mdx +135 -0
- package/docs/zh/guides/advanced-features/international/configuration.mdx +432 -0
- package/docs/zh/guides/advanced-features/international/locale-detection.mdx +304 -0
- package/docs/zh/guides/advanced-features/international/quick-start.mdx +126 -0
- package/docs/zh/guides/advanced-features/international/resource-loading.mdx +417 -0
- package/docs/zh/guides/advanced-features/international/routing.mdx +212 -0
- package/docs/zh/guides/advanced-features/international.mdx +36 -0
- package/docs/zh/guides/advanced-features/low-level.mdx +21 -16
- package/docs/zh/guides/advanced-features/page-performance/code-split.mdx +3 -3
- package/docs/zh/guides/advanced-features/page-performance/inline-assets.mdx +4 -4
- package/docs/zh/guides/advanced-features/page-performance/optimize-bundle.mdx +8 -22
- package/docs/zh/guides/advanced-features/page-performance/react-compiler.mdx +19 -12
- package/docs/zh/guides/advanced-features/server-monitor/logger.mdx +0 -4
- package/docs/zh/guides/advanced-features/server-monitor/monitors.mdx +120 -37
- package/docs/zh/guides/advanced-features/web-server.mdx +79 -300
- package/docs/zh/guides/basic-features/_meta.json +6 -1
- package/docs/zh/guides/basic-features/css/css-in-js.mdx +40 -5
- package/docs/zh/guides/basic-features/css/css-modules.mdx +6 -17
- package/docs/zh/guides/basic-features/css/css.mdx +2 -2
- package/docs/zh/guides/basic-features/css/tailwindcss.mdx +6 -90
- package/docs/zh/guides/basic-features/data/data-cache.mdx +55 -59
- package/docs/zh/guides/basic-features/data/data-fetch.mdx +14 -16
- package/docs/zh/guides/basic-features/data/data-write.mdx +4 -4
- package/docs/zh/guides/basic-features/debug/mock.mdx +4 -1
- package/docs/zh/guides/basic-features/debug/proxy.mdx +4 -15
- package/docs/zh/guides/basic-features/debug/rsdoctor.mdx +6 -6
- package/docs/zh/guides/basic-features/deploy.mdx +24 -20
- package/docs/zh/guides/basic-features/env-vars.mdx +1 -1
- package/docs/zh/guides/basic-features/html.mdx +2 -2
- package/docs/zh/guides/basic-features/output-files.mdx +3 -3
- package/docs/zh/guides/basic-features/render/_meta.json +1 -1
- package/docs/zh/guides/basic-features/render/before-render.mdx +17 -24
- package/docs/zh/guides/basic-features/render/overview.mdx +52 -0
- package/docs/zh/guides/basic-features/render/rsc.mdx +399 -0
- package/docs/zh/guides/basic-features/render/ssg.mdx +27 -69
- package/docs/zh/guides/basic-features/render/ssr-cache.mdx +5 -9
- package/docs/zh/guides/basic-features/render/ssr.mdx +34 -31
- package/docs/zh/guides/basic-features/render/streaming-ssr.mdx +34 -14
- package/docs/zh/guides/basic-features/routes/_meta.json +1 -0
- package/docs/zh/guides/basic-features/routes/config-routes.mdx +426 -0
- package/docs/zh/guides/basic-features/{routes.mdx → routes/routes.mdx} +8 -114
- package/docs/zh/guides/basic-features/static-assets/json-files.mdx +21 -3
- package/docs/zh/guides/basic-features/static-assets/svg-assets.mdx +0 -4
- package/docs/zh/guides/basic-features/static-assets.mdx +2 -2
- package/docs/zh/guides/basic-features/testing/cypress.mdx +5 -5
- package/docs/zh/guides/basic-features/testing/jest.mdx +12 -12
- package/docs/zh/guides/concept/builder.mdx +26 -11
- package/docs/zh/guides/concept/entries.mdx +95 -92
- package/docs/zh/guides/get-started/glossary.mdx +0 -18
- package/docs/zh/guides/get-started/introduction.mdx +1 -5
- package/docs/zh/guides/get-started/quick-start.mdx +5 -72
- package/docs/zh/guides/get-started/tech-stack.mdx +8 -28
- package/docs/zh/guides/get-started/upgrade.mdx +30 -23
- package/docs/zh/guides/topic-detail/_meta.json +0 -12
- package/docs/zh/guides/topic-detail/module-federation/_meta.json +1 -1
- package/docs/zh/guides/topic-detail/module-federation/application.mdx +18 -16
- package/docs/zh/guides/topic-detail/module-federation/i18n.mdx +623 -0
- package/docs/zh/guides/topic-detail/module-federation/introduce.mdx +4 -4
- package/docs/zh/guides/topic-detail/module-federation/ssr.mdx +51 -5
- package/docs/zh/guides/topic-detail/module-federation/usage.mdx +11 -31
- package/docs/zh/guides/troubleshooting/builder.mdx +4 -85
- package/docs/zh/guides/troubleshooting/cli.mdx +6 -30
- package/docs/zh/guides/troubleshooting/dependencies.mdx +23 -23
- package/docs/zh/guides/upgrade/_meta.json +1 -0
- package/docs/zh/guides/upgrade/config.mdx +940 -0
- package/docs/zh/guides/upgrade/entry.mdx +463 -0
- package/docs/zh/guides/upgrade/other.md +90 -0
- package/docs/zh/guides/upgrade/overview.mdx +36 -0
- package/docs/zh/guides/upgrade/tailwindcss.mdx +130 -0
- package/docs/zh/guides/upgrade/web-server.md +93 -0
- package/docs/zh/plugin/_meta.json +5 -0
- package/docs/zh/plugin/cli-plugins/_meta.json +1 -1
- package/docs/zh/plugin/cli-plugins/api.mdx +19 -70
- package/docs/zh/plugin/cli-plugins/life-cycle.mdx +0 -4
- package/docs/zh/plugin/introduction.mdx +40 -40
- package/docs/zh/plugin/official/_meta.json +0 -5
- package/docs/zh/plugin/official/cli-plugins/_meta.json +1 -1
- package/docs/zh/plugin/official/cli-plugins/plugin-styled-components.mdx +5 -0
- package/docs/zh/plugin/official/cli-plugins.mdx +0 -2
- package/docs/zh/plugin/plugin-system.mdx +43 -51
- package/docs/zh/plugin/runtime-plugins/_meta.json +1 -1
- package/docs/zh/plugin/runtime-plugins/api.mdx +58 -56
- package/docs/zh/plugin/server-plugins/_meta.json +1 -0
- package/docs/zh/plugin/server-plugins/api.mdx +210 -1
- package/docs/zh/plugin/server-plugins/life-cycle.mdx +41 -1
- package/docs/zh/tutorials/_meta.json +0 -10
- package/docs/zh/tutorials/examples/csr-auth.mdx +1 -1
- package/docs/zh/tutorials/foundations/introduction.mdx +8 -25
- package/i18n.json +0 -16
- package/package.json +12 -12
- package/rspress.config.ts +5 -8
- package/src/components/ContentCard/index.module.scss +11 -7
- package/src/components/ContentCard/index.tsx +1 -1
- package/src/components/FeatureLayout/index.module.css +1 -1
- package/src/components/Footer/index.tsx +2 -14
- package/src/components/Footer/styles.module.scss +5 -5
- package/src/components/FrameworkCode/index.tsx +605 -0
- package/src/components/ListCard/index.tsx +1 -1
- package/src/components/RandomMemberList/index.tsx +1 -1
- package/src/components/RsbuildLink/index.tsx +1 -1
- package/src/components/Sandpack/index.tsx +1 -1
- package/src/custom.scss +15 -0
- package/src/i18n/enUS.ts +2 -4
- package/src/i18n/index.ts +1 -1
- package/src/i18n/zhCN.ts +2 -4
- package/src/index.ts +2 -1
- package/src/pages/index.module.scss +59 -41
- package/src/pages/index.tsx +9 -24
- package/docs/en/apis/app/hooks/server/index_.mdx +0 -10
- package/docs/en/apis/app/hooks/src/index_.mdx +0 -38
- package/docs/en/apis/app/hooks/src/stories.mdx +0 -16
- package/docs/en/apis/app/runtime/app/define-config.mdx +0 -67
- package/docs/en/apis/app/runtime/core/bootstrap.mdx +0 -74
- package/docs/en/apis/app/runtime/core/create-app.mdx +0 -49
- package/docs/en/apis/app/runtime/core/use-loader.mdx +0 -89
- package/docs/en/apis/app/runtime/core/use-module-apps.mdx +0 -140
- package/docs/en/apis/app/runtime/core/use-runtime-context.mdx +0 -116
- package/docs/en/apis/app/runtime/model/Provider.mdx +0 -36
- package/docs/en/apis/app/runtime/model/auto-actions.mdx +0 -122
- package/docs/en/apis/app/runtime/model/connect.mdx +0 -146
- package/docs/en/apis/app/runtime/model/create-app.mdx +0 -75
- package/docs/en/apis/app/runtime/model/create-store.mdx +0 -61
- package/docs/en/apis/app/runtime/model/handle-effect.mdx +0 -107
- package/docs/en/apis/app/runtime/model/model_.mdx +0 -198
- package/docs/en/apis/app/runtime/model/use-local-model.mdx +0 -29
- package/docs/en/apis/app/runtime/model/use-model.mdx +0 -89
- package/docs/en/apis/app/runtime/model/use-static-model.mdx +0 -51
- package/docs/en/apis/app/runtime/model/use-store.mdx +0 -26
- package/docs/en/apis/app/runtime/ssr/pre-render.mdx +0 -96
- package/docs/en/apis/app/runtime/web-server/hook.mdx +0 -134
- package/docs/en/apis/app/runtime/web-server/middleware.mdx +0 -113
- package/docs/en/apis/app/runtime/web-server/unstable_middleware.mdx +0 -167
- package/docs/en/components/bff-proxy-path-rewrite.mdx +0 -16
- package/docs/en/components/bff-proxy-principle.mdx +0 -1
- package/docs/en/components/builder.mdx +0 -3
- package/docs/en/components/create-bff-api-app.mdx +0 -25
- package/docs/en/components/custom-router-micro-frontend.mdx +0 -40
- package/docs/en/components/enable-micro-frontend.mdx +0 -30
- package/docs/en/components/enableSwc.mdx +0 -17
- package/docs/en/components/global-proxy-config.mdx +0 -85
- package/docs/en/components/global-proxy.mdx +0 -29
- package/docs/en/components/package-manager.mdx +0 -11
- package/docs/en/components/reduck-notify.mdx +0 -27
- package/docs/en/components/reduck-tip.mdx +0 -8
- package/docs/en/configure/app/auto-load-plugin.mdx +0 -66
- package/docs/en/configure/app/deploy/microFrontend.mdx +0 -53
- package/docs/en/configure/app/dev/port.mdx +0 -25
- package/docs/en/configure/app/dev/proxy.mdx +0 -9
- package/docs/en/configure/app/experiments/lazy-compilation.mdx +0 -106
- package/docs/en/configure/app/html/disable-html-folder.mdx +0 -46
- package/docs/en/configure/app/html/favicon-by-entries.mdx +0 -36
- package/docs/en/configure/app/html/inject-by-entries.mdx +0 -36
- package/docs/en/configure/app/html/meta-by-entries.mdx +0 -48
- package/docs/en/configure/app/html/tags-by-entries.mdx +0 -44
- package/docs/en/configure/app/html/template-by-entries.mdx +0 -33
- package/docs/en/configure/app/html/template-parameters-by-entries.mdx +0 -35
- package/docs/en/configure/app/html/title-by-entries.mdx +0 -37
- package/docs/en/configure/app/output/css-module-local-ident-name.mdx +0 -21
- package/docs/en/configure/app/output/disable-css-extract.mdx +0 -16
- package/docs/en/configure/app/output/disable-filename-hash.mdx +0 -16
- package/docs/en/configure/app/output/disable-minimize.mdx +0 -14
- package/docs/en/configure/app/output/disable-node-polyfill.mdx +0 -22
- package/docs/en/configure/app/output/disable-source-map.mdx +0 -31
- package/docs/en/configure/app/output/enable-asset-fallback.mdx +0 -36
- package/docs/en/configure/app/output/enable-inline-scripts.mdx +0 -22
- package/docs/en/configure/app/output/enable-inline-styles.mdx +0 -22
- package/docs/en/configure/app/output/enable-latest-decorators.mdx +0 -14
- package/docs/en/configure/app/performance/bundle-analyze.mdx +0 -24
- package/docs/en/configure/app/performance/transform-lodash.mdx +0 -52
- package/docs/en/configure/app/runtime/master-app.mdx +0 -36
- package/docs/en/configure/app/runtime/state.mdx +0 -52
- package/docs/en/configure/app/source/disable-entry-dirs.mdx +0 -38
- package/docs/en/configure/app/source/enable-custom-entry.mdx +0 -68
- package/docs/en/configure/app/source/module-scopes.mdx +0 -72
- package/docs/en/configure/app/source/resolve-extension-prefix.mdx +0 -55
- package/docs/en/configure/app/source/resolve-main-fields.mdx +0 -46
- package/docs/en/configure/app/tools/babel.mdx +0 -225
- package/docs/en/configure/app/tools/esbuild.mdx +0 -44
- package/docs/en/configure/app/tools/pug.mdx +0 -54
- package/docs/en/configure/app/tools/styled-components.mdx +0 -55
- package/docs/en/configure/app/tools/tailwindcss.mdx +0 -98
- package/docs/en/configure/app/tools/terser.mdx +0 -58
- package/docs/en/configure/app/tools/ts-loader.mdx +0 -76
- package/docs/en/configure/app/tools/webpack-chain.mdx +0 -253
- package/docs/en/configure/app/tools/webpack.mdx +0 -309
- package/docs/en/guides/deprecated.md +0 -17
- package/docs/en/guides/topic-detail/micro-frontend/c01-introduction.mdx +0 -27
- package/docs/en/guides/topic-detail/micro-frontend/c02-development.mdx +0 -290
- package/docs/en/guides/topic-detail/micro-frontend/c03-main-app.mdx +0 -298
- package/docs/en/guides/topic-detail/micro-frontend/c04-communicate.mdx +0 -58
- package/docs/en/guides/topic-detail/micro-frontend/c05-mixed-stack.mdx +0 -26
- package/docs/en/guides/topic-detail/model/_meta.json +0 -14
- package/docs/en/guides/topic-detail/model/auto-actions.mdx +0 -85
- package/docs/en/guides/topic-detail/model/computed-state.mdx +0 -148
- package/docs/en/guides/topic-detail/model/define-model.mdx +0 -62
- package/docs/en/guides/topic-detail/model/faq.mdx +0 -35
- package/docs/en/guides/topic-detail/model/manage-effects.mdx +0 -247
- package/docs/en/guides/topic-detail/model/model-communicate.mdx +0 -217
- package/docs/en/guides/topic-detail/model/performance.mdx +0 -167
- package/docs/en/guides/topic-detail/model/quick-start.mdx +0 -117
- package/docs/en/guides/topic-detail/model/redux-integration.mdx +0 -20
- package/docs/en/guides/topic-detail/model/typescript-best-practice.mdx +0 -68
- package/docs/en/guides/topic-detail/model/use-model.mdx +0 -243
- package/docs/en/guides/topic-detail/model/use-out-of-modernjs.mdx +0 -46
- package/docs/en/plugin/cli-plugins/migration.mdx +0 -98
- package/docs/en/plugin/official/cli-plugins/plugin-swc.mdx +0 -363
- package/docs/en/plugin/official/cli-plugins/plugin-tailwind.mdx +0 -5
- package/docs/en/plugin/official/rsbuild-plugins/_meta.json +0 -1
- package/docs/en/plugin/official/rsbuild-plugins/plugin-esbuild.mdx +0 -205
- package/docs/en/plugin/official/rsbuild-plugins.mdx +0 -3
- package/docs/en/plugin/runtime-plugins/migration.mdx +0 -101
- package/docs/en/tutorials/first-app/c01-start.mdx +0 -99
- package/docs/en/tutorials/first-app/c02-component.mdx +0 -60
- package/docs/en/tutorials/first-app/c03-css.mdx +0 -324
- package/docs/en/tutorials/first-app/c04-routes.mdx +0 -172
- package/docs/en/tutorials/first-app/c05-loader.mdx +0 -87
- package/docs/en/tutorials/first-app/c06-model.mdx +0 -278
- package/docs/en/tutorials/first-app/c07-container.mdx +0 -281
- package/docs/en/tutorials/first-app/c08-entries.mdx +0 -135
- package/docs/zh/apis/app/hooks/server/index_.mdx +0 -10
- package/docs/zh/apis/app/hooks/src/index_.mdx +0 -39
- package/docs/zh/apis/app/hooks/src/stories.mdx +0 -16
- package/docs/zh/apis/app/runtime/app/define-config.mdx +0 -67
- package/docs/zh/apis/app/runtime/core/bootstrap.mdx +0 -74
- package/docs/zh/apis/app/runtime/core/create-app.mdx +0 -35
- package/docs/zh/apis/app/runtime/core/use-loader.mdx +0 -89
- package/docs/zh/apis/app/runtime/core/use-module-apps.mdx +0 -179
- package/docs/zh/apis/app/runtime/core/use-runtime-context.mdx +0 -116
- package/docs/zh/apis/app/runtime/model/Provider.mdx +0 -36
- package/docs/zh/apis/app/runtime/model/auto-actions.mdx +0 -122
- package/docs/zh/apis/app/runtime/model/connect.mdx +0 -143
- package/docs/zh/apis/app/runtime/model/create-app.mdx +0 -75
- package/docs/zh/apis/app/runtime/model/create-store.mdx +0 -61
- package/docs/zh/apis/app/runtime/model/handle-effect.mdx +0 -108
- package/docs/zh/apis/app/runtime/model/model_.mdx +0 -201
- package/docs/zh/apis/app/runtime/model/use-local-model.mdx +0 -29
- package/docs/zh/apis/app/runtime/model/use-model.mdx +0 -89
- package/docs/zh/apis/app/runtime/model/use-static-model.mdx +0 -49
- package/docs/zh/apis/app/runtime/model/use-store.mdx +0 -26
- package/docs/zh/apis/app/runtime/ssr/pre-render.mdx +0 -96
- package/docs/zh/apis/app/runtime/web-server/hook.mdx +0 -136
- package/docs/zh/apis/app/runtime/web-server/middleware.mdx +0 -114
- package/docs/zh/apis/app/runtime/web-server/unstable_middleware.mdx +0 -165
- package/docs/zh/components/bff-proxy-path-rewrite.mdx +0 -16
- package/docs/zh/components/bff-proxy-principle.mdx +0 -1
- package/docs/zh/components/builder.mdx +0 -3
- package/docs/zh/components/create-bff-api-app.mdx +0 -25
- package/docs/zh/components/custom-router-micro-frontend.mdx +0 -40
- package/docs/zh/components/default-mwa-generate.mdx +0 -4
- package/docs/zh/components/enable-micro-frontend.mdx +0 -30
- package/docs/zh/components/enableSwc.mdx +0 -17
- package/docs/zh/components/global-proxy-config.mdx +0 -85
- package/docs/zh/components/global-proxy.mdx +0 -29
- package/docs/zh/components/package-manager.mdx +0 -11
- package/docs/zh/components/reduck-notify.mdx +0 -27
- package/docs/zh/components/reduck-tip.mdx +0 -8
- package/docs/zh/configure/app/auto-load-plugin.mdx +0 -66
- package/docs/zh/configure/app/deploy/microFrontend.mdx +0 -55
- package/docs/zh/configure/app/dev/port.mdx +0 -25
- package/docs/zh/configure/app/dev/proxy.mdx +0 -9
- package/docs/zh/configure/app/experiments/lazy-compilation.mdx +0 -105
- package/docs/zh/configure/app/html/disable-html-folder.mdx +0 -45
- package/docs/zh/configure/app/html/favicon-by-entries.mdx +0 -37
- package/docs/zh/configure/app/html/inject-by-entries.mdx +0 -37
- package/docs/zh/configure/app/html/meta-by-entries.mdx +0 -48
- package/docs/zh/configure/app/html/tags-by-entries.mdx +0 -44
- package/docs/zh/configure/app/html/template-by-entries.mdx +0 -33
- package/docs/zh/configure/app/html/template-parameters-by-entries.mdx +0 -36
- package/docs/zh/configure/app/html/title-by-entries.mdx +0 -37
- package/docs/zh/configure/app/output/css-module-local-ident-name.mdx +0 -21
- package/docs/zh/configure/app/output/disable-css-extract.mdx +0 -16
- package/docs/zh/configure/app/output/disable-filename-hash.mdx +0 -16
- package/docs/zh/configure/app/output/disable-minimize.mdx +0 -14
- package/docs/zh/configure/app/output/disable-node-polyfill.mdx +0 -22
- package/docs/zh/configure/app/output/disable-source-map.mdx +0 -31
- package/docs/zh/configure/app/output/enable-asset-fallback.mdx +0 -36
- package/docs/zh/configure/app/output/enable-inline-scripts.mdx +0 -22
- package/docs/zh/configure/app/output/enable-inline-styles.mdx +0 -22
- package/docs/zh/configure/app/output/enable-latest-decorators.mdx +0 -14
- package/docs/zh/configure/app/performance/bundle-analyze.mdx +0 -24
- package/docs/zh/configure/app/performance/transform-lodash.mdx +0 -52
- package/docs/zh/configure/app/runtime/master-app.mdx +0 -38
- package/docs/zh/configure/app/runtime/state.mdx +0 -52
- package/docs/zh/configure/app/source/disable-entry-dirs.mdx +0 -38
- package/docs/zh/configure/app/source/enable-custom-entry.mdx +0 -67
- package/docs/zh/configure/app/source/module-scopes.mdx +0 -72
- package/docs/zh/configure/app/source/resolve-extension-prefix.mdx +0 -57
- package/docs/zh/configure/app/source/resolve-main-fields.mdx +0 -46
- package/docs/zh/configure/app/tools/babel.mdx +0 -224
- package/docs/zh/configure/app/tools/esbuild.mdx +0 -44
- package/docs/zh/configure/app/tools/pug.mdx +0 -54
- package/docs/zh/configure/app/tools/styled-components.mdx +0 -54
- package/docs/zh/configure/app/tools/tailwindcss.mdx +0 -98
- package/docs/zh/configure/app/tools/terser.mdx +0 -58
- package/docs/zh/configure/app/tools/ts-loader.mdx +0 -76
- package/docs/zh/configure/app/tools/webpack-chain.mdx +0 -257
- package/docs/zh/configure/app/tools/webpack.mdx +0 -309
- package/docs/zh/guides/advanced-features/rspack-start.mdx +0 -154
- package/docs/zh/guides/deprecated.md +0 -19
- package/docs/zh/guides/topic-detail/micro-frontend/c01-introduction.mdx +0 -26
- package/docs/zh/guides/topic-detail/micro-frontend/c02-development.mdx +0 -332
- package/docs/zh/guides/topic-detail/micro-frontend/c03-main-app.mdx +0 -296
- package/docs/zh/guides/topic-detail/micro-frontend/c04-communicate.mdx +0 -58
- package/docs/zh/guides/topic-detail/micro-frontend/c05-mixed-stack.mdx +0 -27
- package/docs/zh/guides/topic-detail/model/_meta.json +0 -14
- package/docs/zh/guides/topic-detail/model/auto-actions.mdx +0 -88
- package/docs/zh/guides/topic-detail/model/computed-state.mdx +0 -147
- package/docs/zh/guides/topic-detail/model/define-model.mdx +0 -63
- package/docs/zh/guides/topic-detail/model/faq.mdx +0 -36
- package/docs/zh/guides/topic-detail/model/manage-effects.mdx +0 -256
- package/docs/zh/guides/topic-detail/model/model-communicate.mdx +0 -217
- package/docs/zh/guides/topic-detail/model/performance.mdx +0 -167
- package/docs/zh/guides/topic-detail/model/quick-start.mdx +0 -117
- package/docs/zh/guides/topic-detail/model/redux-integration.mdx +0 -20
- package/docs/zh/guides/topic-detail/model/typescript-best-practice.mdx +0 -67
- package/docs/zh/guides/topic-detail/model/use-model.mdx +0 -248
- package/docs/zh/guides/topic-detail/model/use-out-of-modernjs.mdx +0 -46
- package/docs/zh/plugin/cli-plugins/migration.mdx +0 -98
- package/docs/zh/plugin/official/cli-plugins/plugin-swc.mdx +0 -351
- package/docs/zh/plugin/official/cli-plugins/plugin-tailwind.mdx +0 -5
- package/docs/zh/plugin/official/rsbuild-plugins/_meta.json +0 -1
- package/docs/zh/plugin/official/rsbuild-plugins/plugin-esbuild.mdx +0 -201
- package/docs/zh/plugin/official/rsbuild-plugins.mdx +0 -3
- package/docs/zh/plugin/runtime-plugins/migration.mdx +0 -101
- package/docs/zh/tutorials/first-app/c01-start.mdx +0 -99
- package/docs/zh/tutorials/first-app/c02-component.mdx +0 -60
- package/docs/zh/tutorials/first-app/c03-css.mdx +0 -323
- package/docs/zh/tutorials/first-app/c04-routes.mdx +0 -172
- package/docs/zh/tutorials/first-app/c05-loader.mdx +0 -89
- package/docs/zh/tutorials/first-app/c06-model.mdx +0 -274
- package/docs/zh/tutorials/first-app/c07-container.mdx +0 -281
- package/docs/zh/tutorials/first-app/c08-entries.mdx +0 -135
- /package/docs/en/components/{reduck-migration.mdx → auto-upgrade.mdx} +0 -0
- /package/docs/en/components/{router-legacy-tip.mdx → international/platform-support.mdx} +0 -0
- /package/docs/{zh/components/reduck-migration.mdx → en/components/new-entry-tooltip.mdx} +0 -0
- /package/docs/{zh/components/router-legacy-tip.mdx → en/components/upgrade-browserslist.mdx} +0 -0
|
@@ -1,3 +1,212 @@
|
|
|
1
1
|
# Plugin API
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Modern.js's Server plugins allow you to extend and customize functionality during the server-side request processing phase, such as adding middleware, modifying request responses, etc.
|
|
4
|
+
|
|
5
|
+
:::info
|
|
6
|
+
|
|
7
|
+
Server plugins need to be configured via the `plugins` field in `server/modern.server.ts`.
|
|
8
|
+
|
|
9
|
+
:::
|
|
10
|
+
|
|
11
|
+
## Plugin Basic Structure
|
|
12
|
+
|
|
13
|
+
A typical Server plugin structure is as follows:
|
|
14
|
+
|
|
15
|
+
```typescript
|
|
16
|
+
import type { ServerPlugin } from '@modern-js/server-runtime';
|
|
17
|
+
|
|
18
|
+
const myServerPlugin = (): ServerPlugin => ({
|
|
19
|
+
name: '@my-org/my-server-plugin', // Plugin name, ensure uniqueness
|
|
20
|
+
setup: api => {
|
|
21
|
+
// Use the API here to register hooks, add middleware, etc.
|
|
22
|
+
api.onPrepare(() => {
|
|
23
|
+
const { middlewares } = api.getServerContext();
|
|
24
|
+
middlewares?.push({
|
|
25
|
+
name: 'my-middleware',
|
|
26
|
+
handler: async (c, next) => {
|
|
27
|
+
console.log('Processing request...');
|
|
28
|
+
await next();
|
|
29
|
+
},
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
export default myServerPlugin;
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
- `name`: A unique identifier for the plugin.
|
|
39
|
+
- The `setup` function receives an `api` object, which provides all available Server plugin APIs.
|
|
40
|
+
|
|
41
|
+
## Information Retrieval
|
|
42
|
+
|
|
43
|
+
#### `api.getServerContext`
|
|
44
|
+
|
|
45
|
+
Gets the context information of the Modern.js server.
|
|
46
|
+
|
|
47
|
+
- **Returns:** A `ServerContext` object containing the following fields:
|
|
48
|
+
|
|
49
|
+
| Field Name | Type | Description |
|
|
50
|
+
| ------------------- | ----------------- | ------------------------------------- |
|
|
51
|
+
| `middlewares` | `MiddlewareObj[]` | Middleware list |
|
|
52
|
+
| `renderMiddlewares` | `MiddlewareObj[]` | Render middleware list |
|
|
53
|
+
| `routes` | `ServerRoute[]` | Server routing information |
|
|
54
|
+
| `appDirectory` | `string` | Absolute path to the project root |
|
|
55
|
+
| `apiDirectory` | `string` | Absolute path to the API module dir |
|
|
56
|
+
| `lambdaDirectory` | `string` | Absolute path to the Lambda module dir|
|
|
57
|
+
| `sharedDirectory` | `string` | Absolute path to the shared module dir|
|
|
58
|
+
| `distDirectory` | `string` | Absolute path to the output directory|
|
|
59
|
+
| `plugins` | `ServerPlugin[]` | List of currently registered plugins |
|
|
60
|
+
|
|
61
|
+
- **Example:**
|
|
62
|
+
|
|
63
|
+
```typescript
|
|
64
|
+
api.onPrepare(() => {
|
|
65
|
+
const serverContext = api.getServerContext();
|
|
66
|
+
console.log(`App directory: ${serverContext.appDirectory}`);
|
|
67
|
+
console.log(`${serverContext.plugins.length} plugins registered`);
|
|
68
|
+
});
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
:::info
|
|
72
|
+
The context information returned by `getServerContext` is read-only. Use `updateServerContext` if you need to modify it.
|
|
73
|
+
:::
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
#### `api.getServerConfig`
|
|
78
|
+
|
|
79
|
+
Gets the server configuration defined by the user in the `server/modern.server.ts` file.
|
|
80
|
+
|
|
81
|
+
- **Returns:** The user-defined server configuration object.
|
|
82
|
+
- **Example:**
|
|
83
|
+
|
|
84
|
+
```typescript
|
|
85
|
+
api.onPrepare(() => {
|
|
86
|
+
const serverConfig = api.getServerConfig();
|
|
87
|
+
if (serverConfig.middlewares) {
|
|
88
|
+
console.log('User has customized middleware configuration');
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
#### `api.getHooks`
|
|
96
|
+
|
|
97
|
+
Gets all registered hook functions.
|
|
98
|
+
|
|
99
|
+
- **Returns:** An object containing all hook functions.
|
|
100
|
+
- **Example:**
|
|
101
|
+
|
|
102
|
+
```typescript
|
|
103
|
+
const hooks = api.getHooks();
|
|
104
|
+
// Manually trigger the onPrepare hook
|
|
105
|
+
await hooks.onPrepare.call();
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
:::warning
|
|
109
|
+
In custom plugins, you can only manually call the hooks registered by the corresponding plugin and cannot call official hooks to avoid affecting the normal execution order of the application.
|
|
110
|
+
:::
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
## Context Modification
|
|
116
|
+
|
|
117
|
+
#### `api.updateServerContext`
|
|
118
|
+
|
|
119
|
+
Updates the server context information.
|
|
120
|
+
|
|
121
|
+
- **Type:** `api.updateServerContext(updateContext: DeepPartial<ServerContext>)`
|
|
122
|
+
- **Parameters:**
|
|
123
|
+
- `updateContext`: The context object to update (partial update).
|
|
124
|
+
- **Execution Phase:** Can be used at any stage.
|
|
125
|
+
- **Example:**
|
|
126
|
+
|
|
127
|
+
```typescript
|
|
128
|
+
api.onPrepare(() => {
|
|
129
|
+
const context = api.getServerContext();
|
|
130
|
+
api.updateServerContext({
|
|
131
|
+
middlewares: [
|
|
132
|
+
...context.middlewares,
|
|
133
|
+
{
|
|
134
|
+
name: 'new-middleware',
|
|
135
|
+
handler: async (c, next) => {
|
|
136
|
+
await next();
|
|
137
|
+
},
|
|
138
|
+
},
|
|
139
|
+
],
|
|
140
|
+
});
|
|
141
|
+
});
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
## Lifecycle Hooks
|
|
148
|
+
|
|
149
|
+
#### `api.onPrepare`
|
|
150
|
+
|
|
151
|
+
Adds additional logic during the server preparation phase.
|
|
152
|
+
|
|
153
|
+
- **Type:** `api.onPrepare(prepareFn: () => void | Promise<void>)`
|
|
154
|
+
- **Parameters:**
|
|
155
|
+
- `prepareFn`: A preparation function, without parameters, can be asynchronous.
|
|
156
|
+
- **Execution Phase:** After the server completes configuration validation and before applying middleware.
|
|
157
|
+
- **Example:**
|
|
158
|
+
|
|
159
|
+
```typescript
|
|
160
|
+
api.onPrepare(async () => {
|
|
161
|
+
const { middlewares } = api.getServerContext();
|
|
162
|
+
|
|
163
|
+
// Add custom middleware
|
|
164
|
+
middlewares.push({
|
|
165
|
+
name: 'request-logger',
|
|
166
|
+
handler: async (c, next) => {
|
|
167
|
+
const start = Date.now();
|
|
168
|
+
await next();
|
|
169
|
+
const duration = Date.now() - start;
|
|
170
|
+
console.log(`Request duration: ${duration}ms`);
|
|
171
|
+
},
|
|
172
|
+
});
|
|
173
|
+
});
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
:::info
|
|
177
|
+
In the `onPrepare` hook, you can modify the context object returned by `getServerContext()` (such as `middlewares`, `renderMiddlewares`), and these modifications will take effect when the server starts.
|
|
178
|
+
:::
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
#### `api.onReset`
|
|
183
|
+
|
|
184
|
+
Adds additional logic when the server resets.
|
|
185
|
+
|
|
186
|
+
- **Type:** `api.onReset(resetFn: (params: { event: ResetEvent }) => void | Promise<void>)`
|
|
187
|
+
- **Parameters:**
|
|
188
|
+
- `resetFn`: A reset handler function that receives reset event parameters.
|
|
189
|
+
- `event.type`: Event type, possible values:
|
|
190
|
+
- `'repack'`: Repack event
|
|
191
|
+
- `'file-change'`: File change event
|
|
192
|
+
- `event.payload`: When `type` is `'file-change'`, contains an array of file change information.
|
|
193
|
+
- **Execution Phase:** When files change or repack is needed.
|
|
194
|
+
- **Example:**
|
|
195
|
+
|
|
196
|
+
```typescript
|
|
197
|
+
api.onReset(async ({ event }) => {
|
|
198
|
+
if (event.type === 'file-change') {
|
|
199
|
+
console.log('File changes detected:', event.payload);
|
|
200
|
+
// Perform cleanup or re-initialization operations
|
|
201
|
+
} else if (event.type === 'repack') {
|
|
202
|
+
}
|
|
203
|
+
});
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
## Other Notes
|
|
210
|
+
|
|
211
|
+
- Refer to [Server Plugin Lifecycle](./life-cycle.mdx) to understand the execution order of plugin hooks.
|
|
212
|
+
- The execution order of middleware can be controlled through the `order` field (`'pre'`, `'default'`, `'post'`), or through the `before` field to specify execution before other middleware.
|
|
@@ -1,3 +1,43 @@
|
|
|
1
1
|
# Life Cycle
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
import Mermaid from '@site/src/components/Mermaid';
|
|
4
|
+
|
|
5
|
+
<Mermaid>
|
|
6
|
+
{`
|
|
7
|
+
flowchart TD
|
|
8
|
+
init{{"Server Initialization"}}
|
|
9
|
+
load_config(Load User Config File)
|
|
10
|
+
server_plugin(Load Server Plugins<br><sub>Plugins registered in config file<br>Server plugins registered by CLI plugins<br>Plugins used by plugins</sub>)
|
|
11
|
+
registry_hooks(Register Hooks Functions<br><sub>Execute plugin setup function, register Hooks defined in plugins, logic in plugin setup will also execute here</sub>)
|
|
12
|
+
|
|
13
|
+
modifyConfig(modifyConfig<br><sub>Modify server configuration</sub>)
|
|
14
|
+
onPrepare(onPrepare<br><sub>Execute after server completes configuration validation, before applying middleware</sub>)
|
|
15
|
+
apply_middlewares(Apply Middleware<br><sub>Apply middleware according to order and before rules</sub>)
|
|
16
|
+
|
|
17
|
+
init --> load_config
|
|
18
|
+
load_config --> server_plugin
|
|
19
|
+
server_plugin --> registry_hooks
|
|
20
|
+
registry_hooks --> modifyConfig
|
|
21
|
+
modifyConfig --> onPrepare
|
|
22
|
+
onPrepare --> apply_middlewares
|
|
23
|
+
|
|
24
|
+
style init fill:#FDE68A,font-size:10px;
|
|
25
|
+
style load_config stroke-dasharray:5 5,fill:#86EFAC,font-size:10px;
|
|
26
|
+
style server_plugin stroke-dasharray:5 5,fill:#86EFAC,font-size:10px;
|
|
27
|
+
style registry_hooks stroke-dasharray:5 5,fill:#9CA3AF,font-size:10px;
|
|
28
|
+
style modifyConfig font-size:10px;
|
|
29
|
+
style onPrepare font-size:10px;
|
|
30
|
+
style apply_middlewares font-size:10px;
|
|
31
|
+
`}
|
|
32
|
+
</Mermaid>
|
|
33
|
+
|
|
34
|
+
:::info
|
|
35
|
+
|
|
36
|
+
**Runtime Hooks**
|
|
37
|
+
|
|
38
|
+
The `onReset` hook is triggered at runtime when files change or code recompilation (rspack) is needed. It is not part of the initialization flow, so it is not shown in the diagram above.
|
|
39
|
+
|
|
40
|
+
- **Trigger Timing**: File changes (`event.type: 'file-change'`) or code recompilation (rspack) completion (`event.type: 'repack'`)
|
|
41
|
+
- **Use Cases**: Clearing cache, re-initializing resources, etc.
|
|
42
|
+
|
|
43
|
+
:::
|
|
@@ -4,7 +4,7 @@ title: Route Authorization
|
|
|
4
4
|
|
|
5
5
|
# Route Authorization
|
|
6
6
|
|
|
7
|
-
Modern.js defaults to the convention-based routing based on React Router
|
|
7
|
+
Modern.js defaults to the convention-based routing based on React Router v7. For more details, please refer to [Routing](/guides/basic-features/routes/routes#routing).
|
|
8
8
|
|
|
9
9
|
In a web application, if there are multiple routes, we may need to authorize access to some of them before accessing them. For example, in the following scenario:
|
|
10
10
|
|
|
@@ -3,36 +3,20 @@ title: Introduction
|
|
|
3
3
|
sidebar_position: 1
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
#
|
|
6
|
+
# Modern.js Example Library
|
|
7
7
|
|
|
8
|
-
Welcome to Modern.js
|
|
8
|
+
Welcome to Modern.js Example Library! Here you'll find practical code examples to help you get started with Modern.js quickly.
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
If you're new to Modern.js, we recommend reading the [Modern.js Introduction](/guides/get-started/introduction) first.
|
|
11
11
|
|
|
12
|
-
##
|
|
13
|
-
|
|
14
|
-
If you don't know Modern.js yet, please can read [Modern.js Introduction](/guides/get-started/introduction) first.
|
|
15
|
-
|
|
16
|
-
## Tutorial
|
|
17
|
-
|
|
18
|
-
We have prepared a tutorial on creating a "contact list app" that you can follow step by step to create an app and learn about the following practices in Modern.js:
|
|
19
|
-
|
|
20
|
-
- Creating a project
|
|
21
|
-
- Using the antd component library
|
|
22
|
-
- Integrating Tailwind CSS
|
|
23
|
-
- Client-side routing
|
|
24
|
-
- Data fetching
|
|
25
|
-
- State Management
|
|
26
|
-
- Container components
|
|
27
|
-
- New entry
|
|
28
|
-
- ...
|
|
29
|
-
|
|
30
|
-
## Case Studies
|
|
31
|
-
|
|
32
|
-
We offer some commonly used case studies for your reference during the development process. Here you can find some usage patterns of the feature combinations provided by Modern.js. We will continue to improve the case studies here.
|
|
12
|
+
## 📚 Example List
|
|
33
13
|
|
|
34
14
|
import ExampleList from '@site-docs-en/components/turtorials-example-list';
|
|
35
15
|
|
|
36
16
|
<ExampleList />
|
|
37
17
|
|
|
38
|
-
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## 💡 Contribute Examples
|
|
21
|
+
|
|
22
|
+
If you have good examples to share, feel free to submit a PR on [GitHub](https://github.com/web-infra-dev/modern.js)!
|
|
@@ -1,32 +1,36 @@
|
|
|
1
1
|
[
|
|
2
2
|
{
|
|
3
|
-
"text": "
|
|
3
|
+
"text": "指南",
|
|
4
4
|
"link": "/guides/get-started/introduction",
|
|
5
5
|
"activeMatch": "/guides/"
|
|
6
6
|
},
|
|
7
7
|
{
|
|
8
|
-
"text": "
|
|
8
|
+
"text": "配置",
|
|
9
9
|
"link": "/configure/app/usage",
|
|
10
10
|
"activeMatch": "/configure/"
|
|
11
11
|
},
|
|
12
12
|
{
|
|
13
|
-
"text": "
|
|
13
|
+
"text": "插件",
|
|
14
14
|
"link": "/plugin/introduction",
|
|
15
15
|
"activeMatch": "/plugin/"
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
|
-
"text": "
|
|
18
|
+
"text": "API",
|
|
19
19
|
"link": "/apis/app/commands",
|
|
20
20
|
"activeMatch": "/apis/"
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
|
-
"text": "
|
|
23
|
+
"text": "示例",
|
|
24
24
|
"link": "/tutorials/foundations/introduction",
|
|
25
25
|
"activeMatch": "/tutorials/"
|
|
26
26
|
},
|
|
27
27
|
{
|
|
28
|
-
"text": "
|
|
28
|
+
"text": "社区",
|
|
29
29
|
"link": "/community/showcase",
|
|
30
30
|
"activeMatch": "/community/"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"text": "Modern.js 2.x 文档",
|
|
34
|
+
"link": "https://modernjs.dev/zh/guides/get-started/introduction.html"
|
|
31
35
|
}
|
|
32
36
|
]
|
|
@@ -19,7 +19,6 @@ Options:
|
|
|
19
19
|
-e --entry <entry> 指定入口,只编译特定的页面
|
|
20
20
|
-c --config <config> 指定配置文件路径,可以为相对路径或绝对路径
|
|
21
21
|
-h, --help 显示命令帮助
|
|
22
|
-
--analyze 分析构建产物体积,查看各个模块打包后的大小
|
|
23
22
|
--web-only 仅启动 Web 服务
|
|
24
23
|
--api-only 仅启动 API 接口服务
|
|
25
24
|
```
|
|
@@ -79,36 +78,13 @@ Options:
|
|
|
79
78
|
-c --config <config> 指定配置文件路径,可以为相对路径或绝对路径
|
|
80
79
|
-h, --help 显示命令帮助
|
|
81
80
|
-w --watch 开启 watch 模式, 监听文件变更并重新构建
|
|
82
|
-
--analyze 分析构建产物体积,查看各个模块打包后的大小
|
|
83
81
|
```
|
|
84
82
|
|
|
85
|
-
### 分析构建产物体积
|
|
86
|
-
|
|
87
|
-
执行 `npx modern build --analyze` 命令,可以在打包生产环境代码的同时,产出一个分析构建产物体积的 HTML 文件:
|
|
88
|
-
|
|
89
|
-
```
|
|
90
|
-
Bundle Analyzer saved report to /example/dist/report.html
|
|
91
|
-
|
|
92
|
-
info Production file sizes:
|
|
93
|
-
|
|
94
|
-
File Size Gzipped
|
|
95
|
-
dist/static/js/lib-react.09721b5c.js 152.6 kB 49.0 kB
|
|
96
|
-
dist/html/main/index.html 5.8 kB 2.5 kB
|
|
97
|
-
dist/static/js/main.3568a38e.js 3.5 kB 1.4 kB
|
|
98
|
-
dist/static/css/main.03221f72.css 1.4 kB 741 B
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
手动在浏览器中打开上述 HTML 文件,可以看到打包产物的瓦片图,并进行包体积分析和优化:
|
|
102
|
-
|
|
103
|
-
<img src="https://lf3-static.bytednsdoc.com/obj/eden-cn/aphqeh7uhohpquloj/modern-js/mwa-build-analyze-8784f762c1ab0cb20935829d5f912c4c.png" />
|
|
104
|
-
|
|
105
|
-
> 该功能基于 [webpack-bundle-analyzer](https://github.com/webpack-contrib/webpack-bundle-analyzer) 实现。
|
|
106
|
-
|
|
107
83
|
## modern new
|
|
108
84
|
|
|
109
85
|
`modern new` 命令用于在已有项目中添加项目元素。
|
|
110
86
|
|
|
111
|
-
比如添加应用入口、启用一些可选功能如
|
|
87
|
+
比如添加应用入口、启用一些可选功能如 BFF、微前端开发模式等。
|
|
112
88
|
|
|
113
89
|
```bash
|
|
114
90
|
Usage: modern new [options]
|
|
@@ -142,8 +118,7 @@ $ npx modern new
|
|
|
142
118
|
$ npx modern new
|
|
143
119
|
? 请选择你想要的操作 启用可选功能
|
|
144
120
|
? 请选择功能名称 (Use arrow keys)
|
|
145
|
-
❯
|
|
146
|
-
启用「BFF」功能
|
|
121
|
+
❯ 启用「BFF」功能
|
|
147
122
|
启用「微前端」模式
|
|
148
123
|
```
|
|
149
124
|
|
|
@@ -175,7 +150,7 @@ Options:
|
|
|
175
150
|
|
|
176
151
|
## modern inspect
|
|
177
152
|
|
|
178
|
-
`modern inspect` 命令用于查看项目的 Modern.js 配置、[Rsbuild 配置](https://rsbuild.rs/zh/config/index) 以及
|
|
153
|
+
`modern inspect` 命令用于查看项目的 Modern.js 配置、[Rsbuild 配置](https://rsbuild.rs/zh/config/index) 以及 Rspack 配置。
|
|
179
154
|
|
|
180
155
|
```bash
|
|
181
156
|
Usage: modern inspect [options]
|
|
@@ -192,7 +167,7 @@ Options:
|
|
|
192
167
|
|
|
193
168
|
- `modern.js.config.mjs`: 表示当前使用的 Modern.js 配置。
|
|
194
169
|
- `rsbuild.config.mjs`: 表示在构建时使用的 Rsbuild 配置。
|
|
195
|
-
- `
|
|
170
|
+
- `rspack.config.web.mjs`: 表示在构建时使用的 Rspack 配置。
|
|
196
171
|
|
|
197
172
|
```bash
|
|
198
173
|
➜ npx modern inspect
|
|
@@ -200,7 +175,7 @@ Options:
|
|
|
200
175
|
Inspect config succeed, open following files to view the content:
|
|
201
176
|
|
|
202
177
|
- Rsbuild Config: /root/my-project/dist/rsbuild.config.mjs
|
|
203
|
-
-
|
|
178
|
+
- Rspack Config (web): /root/my-project/dist/rspack.config.web.mjs
|
|
204
179
|
- Modern.js Config: /root/my-project/dist/modern.js.config.mjs
|
|
205
180
|
```
|
|
206
181
|
|
|
@@ -222,7 +197,7 @@ modern inspect --verbose
|
|
|
222
197
|
|
|
223
198
|
### SSR 构建配置
|
|
224
199
|
|
|
225
|
-
如果项目开启了 SSR 能力,则在 `dist` 目录会另外生成一份 `
|
|
200
|
+
如果项目开启了 SSR 能力,则在 `dist` 目录会另外生成一份 `rspack.config.node.mjs` 文件,对应 SSR 构建时的 Rspack 配置。
|
|
226
201
|
|
|
227
202
|
```bash
|
|
228
203
|
➜ npx modern inspect
|
|
@@ -230,8 +205,8 @@ modern inspect --verbose
|
|
|
230
205
|
Inspect config succeed, open following files to view the content:
|
|
231
206
|
|
|
232
207
|
- Rsbuild Config: /root/my-project/dist/rsbuild.config.mjs
|
|
233
|
-
-
|
|
234
|
-
-
|
|
208
|
+
- Rspack Config (web): /root/my-project/dist/rspack.config.web.mjs
|
|
209
|
+
- Rspack Config (node): /root/my-project/dist/rspack.config.node.mjs
|
|
235
210
|
- Modern.js Config: /root/my-project/dist/modern.js.config.mjs
|
|
236
211
|
```
|
|
237
212
|
|
|
@@ -5,10 +5,6 @@ sidebar_position: 4
|
|
|
5
5
|
|
|
6
6
|
# entry.[tj]sx
|
|
7
7
|
|
|
8
|
-
:::info
|
|
9
|
-
使用该文件需要开启 [source.enableCustomEntry](/configure/app/source/enable-custom-entry)。
|
|
10
|
-
:::
|
|
11
|
-
|
|
12
8
|
通常情况下[`routes/`](/apis/app/hooks/src/routes.html) 和 [`App.[tj]sx`](/apis/app/hooks/src/app) 钩子文件已经能满足我们的需求,当我们需要在组件渲染之前添加自定义行为或者完全接管 webpack 打包入口时,可以在 `src` 或者入口目录下放置 `entry.[tj]s`。下面分两种情况进行讨论。
|
|
13
9
|
|
|
14
10
|
## 在组件渲染前添加自定义行为
|
|
@@ -22,7 +18,7 @@ import { render } from '@modern-js/runtime/browser';
|
|
|
22
18
|
const ModernRoot = createRoot();
|
|
23
19
|
|
|
24
20
|
async function beforeRender() {
|
|
25
|
-
|
|
21
|
+
// todo
|
|
26
22
|
}
|
|
27
23
|
|
|
28
24
|
beforeRender().then(() => {
|
|
@@ -5,10 +5,6 @@ sidebar_position: 5
|
|
|
5
5
|
|
|
6
6
|
# entry.server.[tj]sx
|
|
7
7
|
|
|
8
|
-
:::info
|
|
9
|
-
使用该文件需要开启 [source.enableCustomEntry](/configure/app/source/enable-custom-entry)。
|
|
10
|
-
:::
|
|
11
|
-
|
|
12
8
|
当项目开启 `server.ssr` 时,Modern.js 生成一个默认的 Server-Side 入口。示例代码如下:
|
|
13
9
|
|
|
14
10
|
```tsx title="entry.server.tsx"
|
|
@@ -35,7 +31,10 @@ export default createRequestHandler(handleRequest);
|
|
|
35
31
|
如果用户需自定义 Server-Side Rendering 入口,可以在 `src/entry.server.ts`、`src/{entryName}/entry.server.ts` 中自定义 server 入口。
|
|
36
32
|
|
|
37
33
|
```tsx title="src/entry.server.tsx"
|
|
38
|
-
import {
|
|
34
|
+
import {
|
|
35
|
+
renderString,
|
|
36
|
+
createRequestHandler,
|
|
37
|
+
} from '@modern-js/runtime/ssr/server';
|
|
39
38
|
import type { HandleRequest } from '@modern-js/runtime/ssr/server';
|
|
40
39
|
|
|
41
40
|
const handleRequest: HandleRequest = async (request, ServerRoot, options) => {
|
|
@@ -4,7 +4,7 @@ sidebar_position: 2
|
|
|
4
4
|
---
|
|
5
5
|
# routes/
|
|
6
6
|
|
|
7
|
-
应用使用[约定式路由](guides/basic-features/routes
|
|
7
|
+
应用使用[约定式路由](/guides/basic-features/routes/routes#约定式路由)时的入口标识。
|
|
8
8
|
|
|
9
9
|
约定式路由以 `routes/` 为约定的入口, 会分析 `src/routes` 目录下的文件得到客户端路由配置。
|
|
10
10
|
|
|
@@ -85,6 +85,6 @@ export default () => {
|
|
|
85
85
|
```
|
|
86
86
|
|
|
87
87
|
:::note
|
|
88
|
-
`<Outlet>` 是 React Router
|
|
88
|
+
`<Outlet>` 是 React Router v7 中新的 API,详情可以查看 [Outlet](https://reactrouter.com/en/main/components/outlet#outlet).
|
|
89
89
|
|
|
90
90
|
:::
|
|
@@ -5,24 +5,12 @@
|
|
|
5
5
|
"label": "Core",
|
|
6
6
|
"collapsed": true
|
|
7
7
|
},
|
|
8
|
-
{
|
|
9
|
-
"type": "dir",
|
|
10
|
-
"name": "app",
|
|
11
|
-
"label": "App",
|
|
12
|
-
"collapsed": true
|
|
13
|
-
},
|
|
14
8
|
{
|
|
15
9
|
"type": "dir",
|
|
16
10
|
"name": "router",
|
|
17
11
|
"label": "Router",
|
|
18
12
|
"collapsed": true
|
|
19
13
|
},
|
|
20
|
-
{
|
|
21
|
-
"type": "dir",
|
|
22
|
-
"name": "model",
|
|
23
|
-
"label": "Model",
|
|
24
|
-
"collapsed": true
|
|
25
|
-
},
|
|
26
14
|
{
|
|
27
15
|
"type": "dir",
|
|
28
16
|
"name": "ssr",
|
|
@@ -35,12 +23,6 @@
|
|
|
35
23
|
"label": "BFF",
|
|
36
24
|
"collapsed": true
|
|
37
25
|
},
|
|
38
|
-
{
|
|
39
|
-
"type": "dir",
|
|
40
|
-
"name": "web-server",
|
|
41
|
-
"label": "Web Server",
|
|
42
|
-
"collapsed": true
|
|
43
|
-
},
|
|
44
26
|
{
|
|
45
27
|
"type": "dir",
|
|
46
28
|
"name": "utility",
|
|
@@ -9,7 +9,7 @@ title: useHonoContext
|
|
|
9
9
|
## 使用姿势
|
|
10
10
|
|
|
11
11
|
```ts
|
|
12
|
-
import { useHonoContext } from '@modern-js/plugin-bff/
|
|
12
|
+
import { useHonoContext } from '@modern-js/plugin-bff/server';
|
|
13
13
|
```
|
|
14
14
|
|
|
15
15
|
## 函数签名
|
|
@@ -21,7 +21,7 @@ import { useHonoContext } from '@modern-js/plugin-bff/hono';
|
|
|
21
21
|
开发者可以通过 `context` 获取更多的请求信息,例如设置响应头:
|
|
22
22
|
|
|
23
23
|
```ts
|
|
24
|
-
import { useHonoContext } from '@modern-js/plugin-bff/
|
|
24
|
+
import { useHonoContext } from '@modern-js/plugin-bff/server';
|
|
25
25
|
|
|
26
26
|
export async function get() {
|
|
27
27
|
const c = useHonoContext();
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: CSS-In-JS API
|
|
3
3
|
---
|
|
4
|
+
|
|
4
5
|
# CSS-In-JS API
|
|
5
6
|
|
|
6
7
|
使用 Style Component 来编写组件 CSS。
|
|
@@ -8,7 +9,7 @@ title: CSS-In-JS API
|
|
|
8
9
|
## 使用姿势
|
|
9
10
|
|
|
10
11
|
```ts
|
|
11
|
-
import styled from '@modern-js/
|
|
12
|
+
import styled from '@modern-js/plugin-styled-components/styled';
|
|
12
13
|
```
|
|
13
14
|
|
|
14
15
|
## 函数签名
|
|
@@ -18,7 +19,7 @@ import styled from '@modern-js/runtime/styled';
|
|
|
18
19
|
## 示例
|
|
19
20
|
|
|
20
21
|
```tsx
|
|
21
|
-
import styled from '@modern-js/
|
|
22
|
+
import styled from '@modern-js/plugin-styled-components/styled';
|
|
22
23
|
|
|
23
24
|
const Button = styled.button`
|
|
24
25
|
background: palevioletred;
|
|
@@ -232,8 +232,6 @@ Modern.js 中的部分代码实现参考了社区中的开源项目,我们对
|
|
|
232
232
|
|
|
233
233
|
- `@modern-js/bundle-require`: 修改自 [bundle-require](https://github.com/egoist/bundle-require)。
|
|
234
234
|
- `@modern-js/plugin`: hook API 的实现参考了 [farrow-pipeline](https://github.com/farrow-js/farrow/tree/master/packages/farrow-pipeline)。
|
|
235
|
-
- `@modern-js/builder`: moduleScope 和 fileSize 插件参考了 [create-react-app](https://github.com/facebook/create-react-app),TsConfigPathsPlugin 参考了 [tsconfig-paths-webpack-plugin](https://github.com/dividab/tsconfig-paths-webpack-plugin),generateMetaTags 函数参考了 [html-webpack-plugin](https://github.com/jantimon/html-webpack-plugin)。
|
|
236
|
-
- `@modern-js/plugin-testing`: jest runner 参考了 [jest-cli](https://github.com/facebook/jest/blob/fdc74af37235354e077edeeee8aa2d1a4a863032/packages/jest-cli/src/cli/index.ts#L21)。
|
|
237
235
|
- `@modern-js/plugin-data-loader`: 部分实现参考了 [remix](https://github.com/remix-run/remix)。
|
|
238
236
|
|
|
239
237
|
## 最后
|