@modern-js/main-doc 2.69.5 → 3.0.0-alpha.0
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 +2 -3
- 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 +16 -12
- package/docs/en/components/build-output.mdx +45 -0
- 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 +38 -8
- package/docs/en/components/enable-ssg.mdx +48 -0
- package/docs/en/components/entry-scan-logic.mdx +7 -0
- package/docs/en/components/init-app.mdx +40 -17
- package/docs/en/components/international/install-command.mdx +9 -0
- package/docs/en/components/international/introduce.mdx +2 -0
- package/docs/en/components/module-federation.mdx +4 -4
- package/docs/en/components/new-entry-tooltip.mdx +0 -0
- 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-browserslist.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/dev/lazy-compilation.mdx +45 -0
- package/docs/en/configure/app/dev/server.mdx +103 -0
- package/docs/en/configure/app/dev/setup-middlewares.mdx +4 -22
- package/docs/en/configure/app/html/app-icon.mdx +1 -23
- 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/performance/build-cache.mdx +0 -4
- 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/security/check-syntax.mdx +1 -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/decorators.mdx +4 -2
- package/docs/en/configure/app/source/entries.mdx +0 -2
- 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 +14 -248
- 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 +7 -17
- package/docs/en/guides/_meta.json +1 -2
- package/docs/en/guides/advanced-features/_meta.json +6 -0
- package/docs/en/guides/advanced-features/bff/cross-project.mdx +1 -7
- package/docs/en/guides/advanced-features/bff/extend-server.mdx +18 -3
- package/docs/en/guides/advanced-features/bff/frameworks.mdx +1 -1
- package/docs/en/guides/advanced-features/bff/function.mdx +2 -6
- package/docs/en/guides/advanced-features/bff/sdk.mdx +3 -3
- 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 +437 -0
- package/docs/en/guides/advanced-features/international/locale-detection.mdx +276 -0
- package/docs/en/guides/advanced-features/international/quick-start.mdx +154 -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 +7 -21
- package/docs/en/guides/advanced-features/page-performance/react-compiler.mdx +1 -8
- package/docs/en/guides/advanced-features/rspack-start.mdx +2 -22
- package/docs/en/guides/advanced-features/server-monitor/logger.mdx +0 -4
- package/docs/en/guides/advanced-features/server-monitor/monitors.mdx +62 -34
- 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 +5 -1
- package/docs/en/guides/basic-features/data/data-fetch.mdx +4 -4
- 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 +0 -8
- 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 +394 -0
- package/docs/en/guides/basic-features/render/ssg.mdx +26 -62
- package/docs/en/guides/basic-features/render/ssr-cache.mdx +6 -6
- 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.mdx +2 -2
- package/docs/en/guides/concept/builder.mdx +24 -9
- 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 +8 -73
- package/docs/en/guides/get-started/tech-stack.mdx +7 -25
- 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/plugin/cli-plugins/api.mdx +4 -5
- package/docs/en/plugin/cli-plugins/migration.mdx +33 -48
- package/docs/en/plugin/introduction.mdx +39 -27
- 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 +68 -61
- package/docs/en/plugin/runtime-plugins/api.mdx +62 -59
- package/docs/en/plugin/runtime-plugins/migration.mdx +29 -20
- 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 +2 -3
- 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-upload.mdx +8 -5
- package/docs/zh/components/build-output.mdx +45 -0
- 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 +37 -8
- package/docs/zh/components/enable-ssg.mdx +47 -0
- package/docs/zh/components/entry-scan-logic.mdx +7 -0
- package/docs/zh/components/init-app.mdx +40 -18
- package/docs/zh/components/international/install-command.mdx +8 -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/configure/_meta.json +7 -8
- package/docs/zh/configure/app/bff/cross-project.mdx +24 -0
- package/docs/zh/configure/app/dev/lazy-compilation.mdx +44 -0
- package/docs/zh/configure/app/dev/server.mdx +104 -0
- package/docs/zh/configure/app/dev/setup-middlewares.mdx +4 -23
- package/docs/zh/configure/app/html/app-icon.mdx +1 -23
- 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/performance/build-cache.mdx +0 -4
- 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/security/check-syntax.mdx +1 -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/decorators.mdx +4 -4
- package/docs/zh/configure/app/source/entries.mdx +0 -2
- 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 +8 -18
- 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/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 +1 -1
- package/docs/zh/guides/advanced-features/bff/function.mdx +7 -12
- package/docs/zh/guides/advanced-features/bff/sdk.mdx +4 -4
- 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 +441 -0
- package/docs/zh/guides/advanced-features/international/locale-detection.mdx +304 -0
- package/docs/zh/guides/advanced-features/international/quick-start.mdx +149 -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 +7 -21
- package/docs/zh/guides/advanced-features/page-performance/react-compiler.mdx +1 -8
- package/docs/zh/guides/advanced-features/server-monitor/logger.mdx +0 -4
- package/docs/zh/guides/advanced-features/server-monitor/monitors.mdx +63 -35
- 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 +8 -5
- package/docs/zh/guides/basic-features/data/data-fetch.mdx +6 -5
- 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 +0 -8
- 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 +413 -0
- package/docs/zh/guides/basic-features/render/ssg.mdx +27 -69
- package/docs/zh/guides/basic-features/render/ssr-cache.mdx +5 -5
- 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.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 +24 -9
- 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 -26
- 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 -32
- package/docs/zh/guides/troubleshooting/builder.mdx +3 -84
- 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 +809 -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/cli-plugins/api.mdx +4 -5
- package/docs/zh/plugin/cli-plugins/migration.mdx +30 -45
- package/docs/zh/plugin/introduction.mdx +36 -24
- 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 +45 -42
- package/docs/zh/plugin/runtime-plugins/api.mdx +58 -56
- package/docs/zh/plugin/runtime-plugins/migration.mdx +26 -17
- 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/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/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/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 -249
- package/docs/en/configure/app/tools/webpack.mdx +0 -305
- 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/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/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/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/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/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 -253
- package/docs/zh/configure/app/tools/webpack.mdx +0 -305
- 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/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/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/{zh/components/reduck-migration.mdx → en/components/international/platform-support.mdx} +0 -0
|
@@ -4,19 +4,19 @@ sidebar_position: 1
|
|
|
4
4
|
|
|
5
5
|
# Page Entry
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Through this chapter, you can understand the entry conventions in Modern.js and how to customize entries.
|
|
8
8
|
|
|
9
|
-
## What is Entry
|
|
9
|
+
## What is Entry
|
|
10
10
|
|
|
11
11
|
**Entry refers to the starting module of a page.**
|
|
12
12
|
|
|
13
|
-
In a Modern.js
|
|
13
|
+
In a Modern.js application, each entry corresponds to an independent page and a server-side route. By default, Modern.js automatically determines page entries based on directory conventions, and also supports customizing entries through configuration options.
|
|
14
14
|
|
|
15
|
-
Many configuration options provided by Modern.js are divided by entry, such as page title, HTML template, page meta information, whether to enable SSR/SSG, server-side routing rules, etc. If you want to learn more about the technical details of entries, please refer to the [In-Depth](#in-depth)
|
|
15
|
+
Many configuration options provided by Modern.js are divided by entry, such as page title, HTML template, page meta information, whether to enable SSR/SSG, server-side routing rules, etc. If you want to learn more about the technical details of entries, please refer to the [In-Depth](#in-depth) chapter.
|
|
16
16
|
|
|
17
17
|
## Single Entry and Multiple Entries
|
|
18
18
|
|
|
19
|
-
The
|
|
19
|
+
The application initialized by Modern.js is a single-entry application with the following structure:
|
|
20
20
|
|
|
21
21
|
```
|
|
22
22
|
.
|
|
@@ -30,95 +30,125 @@ The project initialized by Modern.js is a single entry project, with the followi
|
|
|
30
30
|
└── tsconfig.json
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
-
In a Modern.js
|
|
33
|
+
In a Modern.js application, you can easily switch from single entry to multiple entries. To manually create multiple entries, follow these steps:
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
import NewEntryTooltip from '@site-docs-en/components/new-entry-tooltip.mdx';
|
|
36
|
+
|
|
37
|
+
<NewEntryTooltip />
|
|
38
|
+
|
|
39
|
+
1. **Move the original entry code to a directory named after the `name` field in `package.json`**
|
|
40
|
+
|
|
41
|
+
Assuming the `name` in `package.json` is `myapp`, you need to move the `src/routes/` directory to `src/myapp/routes/`:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
# Create new directory
|
|
45
|
+
mkdir -p src/myapp
|
|
46
|
+
# Move original entry code
|
|
47
|
+
mv src/routes src/myapp/routes
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
2. **Create a new entry directory**
|
|
51
|
+
|
|
52
|
+
Create a new entry directory, for example `new-entry`:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
# Create new entry directory
|
|
56
|
+
mkdir -p src/new-entry/routes
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
3. **Create necessary files in the new entry directory**
|
|
60
|
+
|
|
61
|
+
Create basic files in the `routes/` directory of the new entry:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
# Create basic files (adjust content as needed)
|
|
65
|
+
touch src/new-entry/routes/index.css
|
|
66
|
+
touch src/new-entry/routes/layout.tsx
|
|
67
|
+
touch src/new-entry/routes/page.tsx
|
|
39
68
|
```
|
|
40
69
|
|
|
41
|
-
After
|
|
70
|
+
After completing the above steps, the `src/` directory structure will be as follows:
|
|
42
71
|
|
|
43
72
|
```bash
|
|
44
73
|
.
|
|
45
|
-
├── myapp
|
|
74
|
+
├── myapp # Original entry
|
|
46
75
|
│ └── routes
|
|
47
76
|
│ ├── index.css
|
|
48
77
|
│ ├── layout.tsx
|
|
49
78
|
│ └── page.tsx
|
|
50
|
-
└── new-entry
|
|
79
|
+
└── new-entry # New entry
|
|
51
80
|
└── routes
|
|
52
81
|
├── index.css
|
|
53
82
|
├── layout.tsx
|
|
54
83
|
└── page.tsx
|
|
55
84
|
```
|
|
56
85
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
Modern.js will use the entry with the same name as the `name` field in `package.json` as the main entry. The route of the main entry is `/`, and the route of other entries is `/{entryName}`.
|
|
86
|
+
Modern.js will use the entry with the same name as the `name` field in `package.json` as the main entry. The route of the main entry is `/`, and the route of other entries is `/{entryName}`. For example, when the `name` in `package.json` is `myapp`, `src/myapp` will be the main entry of the application.
|
|
60
87
|
|
|
61
|
-
You can
|
|
88
|
+
You can execute `pnpm run dev` to start the development server. At this time, you can see that a new route named `/new-entry` has been added, and the routes of the original pages have not changed.
|
|
62
89
|
|
|
63
90
|
:::note
|
|
64
|
-
The concepts of **single entry/multiple entry** and **SPA/MPA** are not equivalent. The former
|
|
91
|
+
The concepts of **single entry/multiple entry** and **SPA/MPA** are not equivalent. The former is about how to configure and package the application, while the latter is a pattern for organizing front-end applications. Each entry can be SPA or non-SPA.
|
|
65
92
|
:::
|
|
66
93
|
|
|
67
94
|
## Entry Types
|
|
68
95
|
|
|
69
|
-
|
|
96
|
+
Modern.js supports three entry types, each with different use cases and characteristics. Choosing the appropriate entry type can help you better organize your code.
|
|
70
97
|
|
|
71
|
-
|
|
98
|
+
### How to Identify Entries
|
|
72
99
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
By default, Modern.js scans the files under `src/` before starting the project, identifies the entry, and generates the corresponding server-side route.
|
|
76
|
-
|
|
77
|
-
:::tip
|
|
100
|
+
Modern.js automatically scans directories to identify entries that meet the criteria. A directory is recognized as an entry if it meets **one of the following three conditions**:
|
|
78
101
|
|
|
79
|
-
|
|
80
|
-
|
|
102
|
+
1. **Has a `routes/` directory** → Convention routing entry
|
|
103
|
+
2. **Has an `App.[jt]sx?` file** → Self-controlled routing entry
|
|
104
|
+
3. **Has an `entry.[jt]sx?` file** → Custom entry
|
|
81
105
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
The entry directory must meet one of the following three conditions:
|
|
106
|
+
import EntryScanLogic from '@site-docs/components/entry-scan-logic.mdx';
|
|
85
107
|
|
|
86
|
-
|
|
87
|
-
2. Has an `App.[jt]sx?` file.
|
|
88
|
-
5. Has an `entry.[jt]sx?` file.(Requires [source.enableCustomEntry](/configure/app/source/enable-custom-entry) to be enabled)
|
|
108
|
+
<EntryScanLogic />
|
|
89
109
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
:::tip
|
|
93
|
-
In a single entry application, the default entry name is `main`.
|
|
110
|
+
:::tip Custom scanning directory
|
|
111
|
+
You can modify the directory for identifying entries through [source.entriesDir](/configure/app/source/entries-dir).
|
|
94
112
|
|
|
95
113
|
:::
|
|
96
114
|
|
|
97
|
-
|
|
115
|
+
import EntryMode from '@site-docs/components/entry-mode.mdx';
|
|
98
116
|
|
|
99
|
-
|
|
117
|
+
<EntryMode />
|
|
118
|
+
|
|
119
|
+
Next, we will introduce the usage of each entry type in detail.
|
|
100
120
|
|
|
101
|
-
|
|
121
|
+
### Convention Routing
|
|
102
122
|
|
|
103
|
-
If there is a `routes/` directory
|
|
123
|
+
If there is a `routes/` directory in the entry, we call this entry a convention routing entry. Modern.js will scan the files under `routes/` during startup and automatically generate client-side routes (react-router) based on file conventions. For example:
|
|
104
124
|
|
|
105
125
|
```bash
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
126
|
+
src/
|
|
127
|
+
└── routes/
|
|
128
|
+
├── layout.tsx # Layout component (optional)
|
|
129
|
+
├── page.tsx # Homepage component (/ route)
|
|
130
|
+
├── about/
|
|
131
|
+
│ └── page.tsx # About page (/about route)
|
|
132
|
+
└── blog/
|
|
133
|
+
├── page.tsx # Blog list page (/blog route)
|
|
134
|
+
└── [id]/
|
|
135
|
+
└── page.tsx # Blog detail page (/blog/:id route)
|
|
111
136
|
```
|
|
112
137
|
|
|
113
|
-
|
|
138
|
+
Component correspondence
|
|
114
139
|
|
|
115
|
-
|
|
140
|
+
| File | Route | Description |
|
|
141
|
+
| --------------------------- | ------------- | ----------------------------- |
|
|
142
|
+
| `routes/layout.tsx` | Global layout | Outer container for all pages |
|
|
143
|
+
| `routes/page.tsx` | `/` | Homepage |
|
|
144
|
+
| `routes/about/page.tsx` | `/about` | About page |
|
|
145
|
+
| `routes/blog/[id]/page.tsx` | `/blog/:id` | Dynamic route page |
|
|
116
146
|
|
|
117
|
-
|
|
147
|
+
For more details, please refer to [Routing Solution](/guides/basic-features/routes/routes#convention-routing).
|
|
118
148
|
|
|
119
|
-
|
|
149
|
+
### Self-controlled Routing
|
|
120
150
|
|
|
121
|
-
If there is an `App.[jt]sx?` file
|
|
151
|
+
If there is an `App.[jt]sx?` file in the entry, this entry is a self-controlled routing entry. This method gives developers complete routing control.
|
|
122
152
|
|
|
123
153
|
```bash
|
|
124
154
|
.
|
|
@@ -126,11 +156,9 @@ If there is an `App.[jt]sx?` file within the entry, we refer to this entry as a
|
|
|
126
156
|
│ └── App.tsx
|
|
127
157
|
```
|
|
128
158
|
|
|
129
|
-
For entry
|
|
159
|
+
For the entry defined as `src/App.tsx`, Modern.js does not perform additional routing operations. Developers can use the [React Router v7](https://reactrouter.com/en/main) API to set up client-side routes, or not set up client-side routes. For example, the following code sets up client-side routes in the application:
|
|
130
160
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
```tsx
|
|
161
|
+
```tsx title="src/App.tsx"
|
|
134
162
|
import { BrowserRouter, Route, Routes } from '@modern-js/runtime/router';
|
|
135
163
|
|
|
136
164
|
export default () => {
|
|
@@ -146,32 +174,32 @@ export default () => {
|
|
|
146
174
|
```
|
|
147
175
|
|
|
148
176
|
:::note
|
|
149
|
-
We recommend
|
|
177
|
+
We recommend developers use convention routing. Modern.js provides a series of optimizations in resource loading and rendering for convention routing by default and offers built-in SSR capabilities. When using self-controlled routing, these capabilities need to be encapsulated by developers themselves.
|
|
150
178
|
:::
|
|
151
179
|
|
|
180
|
+
### Custom Entry
|
|
152
181
|
|
|
153
|
-
|
|
182
|
+
By default, when using convention routing or self-controlled routing, Modern.js will automatically handle rendering. If you want to customize this behavior, you can implement it through a custom entry file.
|
|
154
183
|
|
|
155
|
-
:::
|
|
156
|
-
|
|
157
|
-
:::
|
|
184
|
+
:::tip
|
|
185
|
+
Custom entries can coexist with convention routing and self-controlled routing entries, customizing the application initialization logic.
|
|
158
186
|
|
|
159
|
-
|
|
187
|
+
:::
|
|
160
188
|
|
|
161
|
-
If there is an `entry.[jt]sx` file
|
|
189
|
+
If there is an `entry.[jt]sx` file in the entry, Modern.js will no longer control the application's rendering process. You can call the `createRoot` and `render` functions in the `entry.[jt]sx` file to complete the application entry logic.
|
|
162
190
|
|
|
163
|
-
```tsx
|
|
191
|
+
```tsx title="src/entry.tsx"
|
|
164
192
|
import { createRoot } from '@modern-js/runtime/react';
|
|
165
193
|
import { render } from '@modern-js/runtime/browser';
|
|
166
194
|
|
|
195
|
+
// Create root component
|
|
167
196
|
const ModernRoot = createRoot();
|
|
168
197
|
|
|
198
|
+
// Render to DOM
|
|
169
199
|
render(<ModernRoot />);
|
|
170
200
|
```
|
|
171
201
|
|
|
172
|
-
In the code above, the component returned by the `createRoot` function is
|
|
173
|
-
|
|
174
|
-
The `render` function is used to handle rendering and mounting of the component. For example, if you want to execute some asynchronous tasks before rendering, you can achieve it like this:
|
|
202
|
+
In the code above, the component returned by the `createRoot` function is the component generated from the `routes/` directory or exported by `App.tsx`. The `render` function is used to handle rendering and mounting components. For example, if you want to execute some asynchronous tasks before rendering, you can implement it like this:
|
|
175
203
|
|
|
176
204
|
```tsx
|
|
177
205
|
import { createRoot } from '@modern-js/runtime/react';
|
|
@@ -188,35 +216,33 @@ beforeRender().then(() => {
|
|
|
188
216
|
});
|
|
189
217
|
```
|
|
190
218
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
:::info
|
|
194
|
-
Using this features requires enabling [source.enableCustomEntry](/configure/app/source/enable-custom-entry).
|
|
195
|
-
:::
|
|
196
|
-
|
|
197
|
-
Build mode refers to the development mode that does not use Modern.js's runtime capabilities and only utilizes Modern.js's build capabilities. When the `@modern-js/runtime` dependency is not installed in the application, Modern.js will treat all entries as build mode entries.
|
|
198
|
-
|
|
199
|
-
In this case, if there is an `entry.[jt]sx` file within the entry, this file will be recognized as the build entry for webpack or Rspack. Modern.js will not automatically generate entry code at this time, and you need to mount the component to the DOM node yourself. For example:
|
|
219
|
+
If you don't want to use any of Modern.js's runtime capabilities, you can also mount the component to the DOM node yourself, for example:
|
|
200
220
|
|
|
201
221
|
```js title=src/entry.tsx
|
|
202
222
|
import React from 'react';
|
|
203
|
-
import
|
|
223
|
+
import { createRoot } from 'react-dom/client';
|
|
204
224
|
import App from './App';
|
|
205
225
|
|
|
206
|
-
|
|
226
|
+
const container = document.getElementById('root');
|
|
227
|
+
|
|
228
|
+
if (container) {
|
|
229
|
+
const root = createRoot(container);
|
|
230
|
+
root.render(<App />);
|
|
231
|
+
}
|
|
207
232
|
```
|
|
208
233
|
|
|
209
|
-
In
|
|
210
|
-
- Convention routing, the routing based on the files under `src/routes`
|
|
211
|
-
- Server-Side Rendering (SSR)
|
|
212
|
-
- The `runtime` configuration in the `modern.config.js` file will no longer take effect
|
|
234
|
+
In this mode, **you will not be able to use Modern.js framework's runtime capabilities**, such as:
|
|
213
235
|
|
|
236
|
+
- Convention routing, i.e., routing based on files under `src/routes`
|
|
237
|
+
- Server-Side Rendering (SSR)
|
|
238
|
+
- Internationalization (i18n)
|
|
239
|
+
- Module Federation
|
|
214
240
|
|
|
215
|
-
##
|
|
241
|
+
## Specifying Entries in Configuration File
|
|
216
242
|
|
|
217
243
|
In some cases, you may need to customize the entry configuration instead of using the entry conventions provided by Modern.js.
|
|
218
244
|
|
|
219
|
-
For example, if you
|
|
245
|
+
For example, if you need to migrate a non-Modern.js application to Modern.js, and it is not structured according to Modern.js's directory structure, there might be some migration costs involved in changing it to the conventional structure. In such cases, you can use custom entries.
|
|
220
246
|
|
|
221
247
|
Modern.js provides the following configuration options that you can set in [modern.config.ts](/configure/app/usage):
|
|
222
248
|
|
|
@@ -225,7 +251,7 @@ Modern.js provides the following configuration options that you can set in [mode
|
|
|
225
251
|
|
|
226
252
|
### Example
|
|
227
253
|
|
|
228
|
-
Here is an example of a custom entry
|
|
254
|
+
Here is an example of a custom entry. You can also refer to the documentation of the corresponding configuration options for more usage.
|
|
229
255
|
|
|
230
256
|
```ts title="modern.config.ts"
|
|
231
257
|
export default defineConfig({
|
|
@@ -245,89 +271,55 @@ export default defineConfig({
|
|
|
245
271
|
});
|
|
246
272
|
```
|
|
247
273
|
|
|
248
|
-
It is worth noting that, by default, Modern.js considers entries specified through the configuration as **framework mode entries** and will automatically generate the actual compilation entry.
|
|
249
|
-
|
|
250
|
-
If your application is migrating from build tools like Webpack or Vite to the Modern.js framework, you typically need to enable the `disableMount` option in the entry configuration. In this case, Modern.js will treat the entry as a **build mode entry**.
|
|
251
|
-
|
|
252
274
|
## In-Depth
|
|
253
275
|
|
|
254
|
-
The concept of page entry is derived from the concept of [Entrypoint](https://webpack.js.org/concepts/entry-points/) in webpack. It is mainly used to configure
|
|
255
|
-
|
|
256
|
-
Here's a summary of the differences between the concepts of entry and route:
|
|
257
|
-
|
|
258
|
-
- **Entry**:Contains multiple modules to be executed during application startup.
|
|
259
|
-
- **Client Router**:In Modern.js, it is usually implemented by `react-router`, determining which React component to load and render based on the browser's current URL using the History API.
|
|
260
|
-
- **Server Router**:The server can mimic the behavior of [devServer](https://webpack.js.org/configuration/dev-server/#devserverhistoryapifallback), replacing all 404 responses with the index.html page to implement client-side routing, or implement any routing logic as needed.
|
|
261
|
-
|
|
262
|
-
Their relationships are as follows:
|
|
263
|
-
|
|
264
|
-
- Each webpack website project can contain multiple entries.
|
|
265
|
-
- Each entry contains several modules (source files).
|
|
266
|
-
- Each entry usually corresponds to an HTML file in the output.
|
|
267
|
-
- Each HTML file can contain multiple client-side routing solutions (for example, using `react-router` and `@tanstack/react-router` in the same page).
|
|
268
|
-
- Each HTML file can be mapped to multiple server-side routes.
|
|
269
|
-
- Each HTML file can contain multiple client-side routing solutions, and when accessing different routes of a single-entry application, the same HTML file is actually used.
|
|
270
|
-
|
|
271
|
-
## Troubleshooting
|
|
272
|
-
|
|
273
|
-
1. **Does each `react-router` defined client route generate a separate HTML file?**
|
|
274
|
-
|
|
275
|
-
No. Each entry usually only generates one HTML file, and if a single entry contains multiple client routing systems, it will share the same HTML file.
|
|
276
|
+
The concept of page entry is derived from the concept of [Entrypoint](https://webpack.js.org/concepts/entry-points/) in webpack. It is mainly used to configure JavaScript or other modules to be executed during application startup. webpack's [best practice](https://webpack.docschina.org/concepts/entry-points/#multi-page-application) for web applications usually corresponds entries to HTML output files, meaning each additional entry will eventually generate a corresponding HTML file in the output. The modules imported by the entry will be compiled and packaged into multiple Chunk outputs. For example, JavaScript modules may ultimately generate several file outputs similar to `dist/static/js/index.ea39u8.js`.
|
|
276
277
|
|
|
277
|
-
|
|
278
|
+
It's important to distinguish the relationships between concepts such as entry and route:
|
|
278
279
|
|
|
279
|
-
|
|
280
|
+
- **Entry**: Contains multiple modules used for startup execution.
|
|
281
|
+
- **Client Router**: In Modern.js, it is usually implemented by `react-router`, using the History API to determine which React component to load and display based on the browser's current URL.
|
|
282
|
+
- **Server Router**: The server can mimic [devServer behavior](https://webpack.docschina.org/configuration/dev-server/#devserverhistoryapifallback), returning the index.html page instead of all 404 responses to implement client-side routing, or it can implement any routing logic as needed.
|
|
280
283
|
|
|
281
|
-
|
|
284
|
+
Their corresponding relationships are as follows:
|
|
282
285
|
|
|
283
|
-
|
|
286
|
+
- Each website project can contain multiple entries
|
|
287
|
+
- Each entry contains several modules (source code files)
|
|
288
|
+
- Each entry usually corresponds to one HTML file output and several other outputs
|
|
289
|
+
- Each HTML file can contain multiple client-side routing solutions (for example, using both `react-router` and `@tanstack/react-router` in the same page)
|
|
290
|
+
- Each HTML file can be mapped to multiple server-side routes
|
|
291
|
+
- Each HTML file can contain multiple client-side routing solutions, and when accessing different routes of a single-entry application, the same HTML file is actually used
|
|
284
292
|
|
|
285
|
-
|
|
293
|
+
## Common Issues
|
|
286
294
|
|
|
287
|
-
|
|
295
|
+
1. **Does each client route defined by `react-router` generate a separate HTML file?**
|
|
288
296
|
|
|
289
|
-
|
|
297
|
+
No. Each entry usually only generates one HTML file. If multiple client routing systems are defined in a single entry, they will share this one HTML file.
|
|
290
298
|
|
|
291
|
-
|
|
299
|
+
2. **Does each `page.tsx` file in the `routes/` directory of convention routing generate an HTML file?**
|
|
292
300
|
|
|
293
|
-
|
|
301
|
+
No. Convention routing is a client-side routing solution implemented based on `react-router`. Its convention is that each `page.tsx` file under the `routes/` directory corresponds to a client-side route of `react-router`. `routes/` itself serves as a page entry, corresponding to one HTML file in the final output.
|
|
294
302
|
|
|
295
|
-
|
|
303
|
+
3. **Do Server-Side Rendering (SSR) projects build multiple HTML outputs?**
|
|
296
304
|
|
|
297
|
-
|
|
305
|
+
When using server-side rendering applications, it is not necessary to generate an HTML output at build time. It can only include server-side JavaScript output for rendering. At this time, `react-router` will run and schedule routes on the server side, rendering and responding with HTML content on each request.
|
|
298
306
|
|
|
299
|
-
|
|
307
|
+
However, Modern.js will still generate a complete client-side output containing HTML files for each entry at build time, which can be used to downgrade to client-side rendering when server-side rendering fails.
|
|
300
308
|
|
|
301
|
-
|
|
309
|
+
Another special case is a project using Static Site Generation (SSG). Even if it is a single-entry SSG application built with convention routing, Modern.js will generate a separate HTML file for each `page.tsx` file outside the Rspack process.
|
|
302
310
|
|
|
303
|
-
|
|
311
|
+
It should be noted that even when server-side rendering is enabled, React usually still needs to execute the hydration phase and run `react-router` routing on the frontend.
|
|
304
312
|
|
|
305
|
-
|
|
313
|
+
4. **Are there exceptions where single-entry applications output multiple HTML files?**
|
|
306
314
|
|
|
307
|
-
|
|
315
|
+
You can configure [html-rspack-plugin](https://rspack.rs/zh/plugins/rspack/html-rspack-plugin#%E7%94%9F%E6%88%90%E5%A4%9A%E4%B8%AA-html-%E6%96%87%E4%BB%B6) to generate multiple HTML outputs for each entry, or have multiple entries share one HTML output.
|
|
308
316
|
|
|
309
|
-
|
|
310
|
-
2. Has a `pages/` directory.
|
|
317
|
+
5. **What is a Multi-Page Application (Multi-Page Application)?**
|
|
311
318
|
|
|
312
|
-
The
|
|
319
|
+
The "page" in a Multi-Page Application refers to a static HTML file.
|
|
313
320
|
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
### Custom Bootstrap
|
|
317
|
-
|
|
318
|
-
When there is an `index.[jt]sx` file in the entry, and the file's default export is a function, Modern.js will pass the default `bootstrap` function as an argument and use the exported function to replace the default `bootstrap`.
|
|
319
|
-
|
|
320
|
-
This allows developers to customize mounting components to DOM or add custom behaviors before mounting. For example:
|
|
321
|
-
|
|
322
|
-
```tsx
|
|
323
|
-
export default (App: React.ComponentType, bootstrap: () => void) => {
|
|
324
|
-
// do something before bootstrap...
|
|
325
|
-
initSomething().then(() => {
|
|
326
|
-
bootstrap();
|
|
327
|
-
});
|
|
328
|
-
};
|
|
329
|
-
```
|
|
321
|
+
Generally, any web application that contains multiple entries and multiple HTML file outputs can be called a multi-page application.
|
|
330
322
|
|
|
331
|
-
|
|
323
|
+
In a narrow sense, a multi-page application may not contain client-side routing and only navigates between static HTML pages through elements like `<a>` tags. However, in practice, multi-page applications often need to configure client-side routing for their entries to meet different needs.
|
|
332
324
|
|
|
333
|
-
|
|
325
|
+
Conversely, a single-entry application that defines multiple routes through `react-router` is called a Single Page Application because it only generates one HTML file output.
|
|
@@ -16,30 +16,12 @@ import Bundler from '@site-docs-en/components/bundler.mdx';
|
|
|
16
16
|
|
|
17
17
|
<Bundler />
|
|
18
18
|
|
|
19
|
-
## Builder
|
|
20
|
-
|
|
21
|
-
import Builder from '@site-docs-en/components/builder.mdx';
|
|
22
|
-
|
|
23
|
-
<Builder />
|
|
24
|
-
|
|
25
19
|
## CSR
|
|
26
20
|
|
|
27
21
|
CSR stands for "Client-Side Rendering". It means that the page is rendered in the browser using JavaScript, and logic such as data fetching, templates, and routing is completed on the client side rather than the server.
|
|
28
22
|
|
|
29
23
|
In CSR, the server sends an empty HTML shell and some JavaScript scripts to the browser, and the browser fetching data from the server's API and renders dynamic content to the page.
|
|
30
24
|
|
|
31
|
-
## Garfish
|
|
32
|
-
|
|
33
|
-
[Garfish](https://garfishjs.org/) is a micro-frontend solution mainly used to solve problems such as cross-team collaboration and diversified technology systems in web applications.
|
|
34
|
-
|
|
35
|
-
Starting from the architecture level, it combines multiple independently delivered frontend applications into a whole. These frontend applications can be developed, tested, and deployed independently, but in the user's perspective, they are still cohesive single products.
|
|
36
|
-
|
|
37
|
-
## Micro-frontend
|
|
38
|
-
|
|
39
|
-
import MicroFrontend from '@site-docs-en/components/micro-frontend.mdx';
|
|
40
|
-
|
|
41
|
-
<MicroFrontend />
|
|
42
|
-
|
|
43
25
|
## Module Federation
|
|
44
26
|
|
|
45
27
|
import ModuleFederation from '@site-docs-en/components/module-federation.mdx';
|
|
@@ -13,7 +13,7 @@ In the process of developing React applications, developers usually need to desi
|
|
|
13
13
|
|
|
14
14
|
It mainly includes the following features:
|
|
15
15
|
|
|
16
|
-
- 🚀 **Rust Bundler**: Provides support for dual bundlers, easily switch to the Rspack for faster build speed.
|
|
16
|
+
- 🚀 **Rust Bundler**: Provides support for dual bundlers, easily switch to the Rsbuild/Rspack for faster build speed.
|
|
17
17
|
- 🪜 **Progressive**: Create projects with the most streamlined templates, gradually enable plugin features through the generator, and customize solutions.
|
|
18
18
|
- 🏠 **Integration**: Development and production environment web server are unique, CSR and SSR are isomorphic development, and API service calls are functions as interfaces.
|
|
19
19
|
- 📦 **Out Of The Box**: Default TS support, built-in build, ESLint, debugging tools, fully functional and testable.
|
|
@@ -44,6 +44,3 @@ In addition, Modern.js provides richer server-side features, including comprehen
|
|
|
44
44
|
|
|
45
45
|
Pelease refer to [Modern.js vs Remix](https://github.com/web-infra-dev/modern.js/discussions/4872).
|
|
46
46
|
|
|
47
|
-
## Next Step
|
|
48
|
-
|
|
49
|
-
If you want to learn how to use the Modern.js framework, you can try to [create your first application](/tutorials/first-app/c01-start), or read the [Quick Start](/guides/get-started/quick-start) guide.
|
|
@@ -7,36 +7,21 @@ sidebar_position: 2
|
|
|
7
7
|
|
|
8
8
|
## Environment
|
|
9
9
|
|
|
10
|
-
import Prerequisites from
|
|
10
|
+
import Prerequisites from '@site-docs-en/components/prerequisites';
|
|
11
11
|
|
|
12
12
|
<Prerequisites />
|
|
13
13
|
|
|
14
14
|
## Installation
|
|
15
15
|
|
|
16
|
-
Modern.js provides the `@modern-js/create` tool to create projects. It does not require global installation and can be run on-demand using `npx`.
|
|
17
|
-
|
|
18
|
-
You can create a project in an existing empty directory:
|
|
19
|
-
|
|
20
|
-
```bash
|
|
21
|
-
mkdir myapp && cd myapp
|
|
22
|
-
npx @modern-js/create@latest
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
You can also create a project directly in a new directory:
|
|
26
|
-
|
|
27
|
-
```bash
|
|
28
|
-
npx @modern-js/create@latest myapp
|
|
29
|
-
```
|
|
30
|
-
|
|
31
16
|
## Initialize
|
|
32
17
|
|
|
33
|
-
import InitApp from
|
|
18
|
+
import InitApp from '@site-docs-en/components/init-app';
|
|
34
19
|
|
|
35
20
|
<InitApp />
|
|
36
21
|
|
|
37
22
|
## Development
|
|
38
23
|
|
|
39
|
-
import DebugApp from
|
|
24
|
+
import DebugApp from '@site-docs-en/components/debug-app';
|
|
40
25
|
|
|
41
26
|
<DebugApp />
|
|
42
27
|
|
|
@@ -46,19 +31,14 @@ In a Modern.js project created using `@modern-js/create`, a `modern.config.ts` f
|
|
|
46
31
|
|
|
47
32
|
You can modify the configuration through this file to override the default behavior of Modern.js. For example, to enable SSR, add the following configuration:
|
|
48
33
|
|
|
49
|
-
```ts
|
|
34
|
+
```ts title="modern.config.ts"
|
|
50
35
|
import { appTools, defineConfig } from '@modern-js/app-tools';
|
|
51
36
|
|
|
52
37
|
export default defineConfig({
|
|
53
|
-
runtime: {
|
|
54
|
-
router: true,
|
|
55
|
-
},
|
|
56
38
|
server: {
|
|
57
39
|
ssr: true,
|
|
58
40
|
},
|
|
59
|
-
plugins: [appTools(
|
|
60
|
-
bundler: 'rspack', // Set to 'webpack' to enable webpack
|
|
61
|
-
}),],
|
|
41
|
+
plugins: [appTools()],
|
|
62
42
|
});
|
|
63
43
|
```
|
|
64
44
|
|
|
@@ -69,7 +49,6 @@ After running `pnpm run dev` again, you can find that the project has completed
|
|
|
69
49
|
In a newly created project, the `@modern-js/app-tools` npm package is installed by default. It is the core package of the Modern.js framework and provides the following capabilities:
|
|
70
50
|
|
|
71
51
|
- It offers commonly used CLI commands such as `modern dev`, `modern build`, and more.
|
|
72
|
-
- It integrates Modern.js Core, providing capabilities for configuration parsing, plugin loading, and more.
|
|
73
52
|
- It integrates Rsbuild, providing build capabilities.
|
|
74
53
|
- It integrates Modern.js Server, providing capabilities for development and production servers.
|
|
75
54
|
|
|
@@ -85,51 +64,9 @@ export default defineConfig({
|
|
|
85
64
|
|
|
86
65
|
## Build the project
|
|
87
66
|
|
|
88
|
-
|
|
67
|
+
import BuildOutput from '@site-docs-en/components/build-output';
|
|
89
68
|
|
|
90
|
-
|
|
91
|
-
$ pnpm run build
|
|
92
|
-
|
|
93
|
-
> modern build
|
|
94
|
-
|
|
95
|
-
Modern.js Framework
|
|
96
|
-
|
|
97
|
-
info Starting production build...
|
|
98
|
-
info Type checker is enabled. It may take some time.
|
|
99
|
-
ready Client compiled in 6.19 s
|
|
100
|
-
info Production file sizes:
|
|
101
|
-
|
|
102
|
-
File Size Gzipped
|
|
103
|
-
dist/routes-manifest.json 0.74 kB 0.28 kB
|
|
104
|
-
dist/static/css/async/page.d7915515.css 1.4 kB 0.69 kB
|
|
105
|
-
dist/static/js/main.5ae469e7.js 3.0 kB 1.3 kB
|
|
106
|
-
dist/html/main/index.html 6.0 kB 2.6 kB
|
|
107
|
-
dist/static/js/async/page.ddc8a4c1.js 19.2 kB 6.7 kB
|
|
108
|
-
dist/static/js/34.171fffdb.js 21.3 kB 7.1 kB
|
|
109
|
-
dist/static/js/lib-router.8995a55e.js 55.3 kB 18.1 kB
|
|
110
|
-
dist/static/js/lib-lodash.53ec3384.js 71.4 kB 24.8 kB
|
|
111
|
-
dist/static/js/lib-react.b5856db9.js 140.0 kB 45.2 kB
|
|
112
|
-
dist/static/js/lib-polyfill.86c452b3.js 213.3 kB 69.9 kB
|
|
113
|
-
|
|
114
|
-
Total size: 531.8 kB
|
|
115
|
-
Gzipped size: 176.7 kB
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
By default, the build artifacts are generated in `dist/`, with the following directory structure:
|
|
119
|
-
|
|
120
|
-
```
|
|
121
|
-
dist
|
|
122
|
-
├── html
|
|
123
|
-
│ └── main
|
|
124
|
-
├── modern.config.json
|
|
125
|
-
├── route.json
|
|
126
|
-
├── routes-manifest.json
|
|
127
|
-
└── static
|
|
128
|
-
├── css
|
|
129
|
-
└── js
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
> If you need to customize the directory of the build artifacts, please refer to [Output files](/guides/basic-features/output-files).
|
|
69
|
+
<BuildOutput />
|
|
133
70
|
|
|
134
71
|
## Verify
|
|
135
72
|
|
|
@@ -138,8 +75,6 @@ Run `pnpm run serve` in the project to verify whether the build artifacts run no
|
|
|
138
75
|
```bash
|
|
139
76
|
$ pnpm run serve
|
|
140
77
|
|
|
141
|
-
> modern serve
|
|
142
|
-
|
|
143
78
|
Modern.js Framework
|
|
144
79
|
|
|
145
80
|
info Starting production server...
|
|
@@ -152,6 +87,6 @@ Open `http://localhost:8080/` in the browser, and the content should be consiste
|
|
|
152
87
|
|
|
153
88
|
## Deployment
|
|
154
89
|
|
|
155
|
-
import Deploy from
|
|
90
|
+
import Deploy from '@site-docs-en/components/deploy';
|
|
156
91
|
|
|
157
92
|
<Deploy />
|