@modern-js/main-doc 2.0.0-beta.0 → 2.0.0-beta.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/.turbo/turbo-build.log +4 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/commands/_category_.json +8 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/commands/build.md +44 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/commands/dev.md +31 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/commands/index.md +12 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/commands/inspect.md +39 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/commands/lint.md +22 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/commands/new.md +59 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/commands/start.md +32 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/commands/test.md +36 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/commands/upgrade.md +21 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/_category_.json +8 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/api/_category_.json +4 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/api/framework/_category_.json +4 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/api/framework/lambda.md +54 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/api/functions/_category_.json +4 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/api/functions/api.md +78 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/api/functions/app.md +12 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/api/functions/common.md +10 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/api/test.md +10 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/config/_category_.json +4 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/config/html.md +8 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/config/icon.md +15 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/config/mock.md +6 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/config/public.md +28 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/config/storybook.md +12 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/config/upload.md +42 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/index.md +7 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/modern-config.md +8 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/server/_category_.json +4 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/server/index_.md +14 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/server/test.md +10 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/shared.md +6 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/src/_category_.json +4 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/src/app.md +45 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/src/index_.md +34 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/src/pages.md +180 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/src/stories.md +12 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/src/test.md +12 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/overview.md +12 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/_category_.json +9 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/app/_category_.json +4 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/app/define-config.md +60 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/bff/_category_.json +4 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/bff/hook.md +43 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/bff/use-context.md +36 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/core/_category_.json +5 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/core/bootstrap.md +55 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/core/create-app.md +47 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/core/use-loader.md +83 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/core/use-module-apps.md +101 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/core/use-runtime-context.md +59 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/default-alias.md +25 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/env.md +72 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/index.md +12 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/Provider.md +35 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/_category_.json +4 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/auto-actions.md +120 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/connect.md +140 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/create-app.md +73 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/create-store.md +62 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/handle-effect.md +105 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/model_.md +197 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/use-local-model.md +27 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/use-model.md +89 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/use-static-model.md +49 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/use-store.md +48 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/plugin/_category_.json +4 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/plugin/abstract.md +26 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/plugin/hook-api.md +896 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/plugin/hook.md +170 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/plugin/plugin-api.md +117 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/router/_category_.json +4 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/router/router.md +492 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/ssr/_category_.json +4 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/ssr/no-ssr.md +44 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/ssr/pre-render.md +91 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/testing/_category_.json +4 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/testing/act.md +34 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/testing/cleanup.md +38 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/testing/render.md +72 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/testing/renderApp.md +33 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/utility/_category_.json +4 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/utility/css-in-js.md +42 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/utility/head.md +39 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/utility/loadable.md +85 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/web-server/_category_.json +4 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/web-server/hook.md +131 -0
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/web-server/middleware.md +106 -0
- package/en/docusaurus-plugin-content-docs/current/configure/app/bff/fetcher.md +28 -0
- package/en/docusaurus-plugin-content-docs/current/configure/app/bff/prefix.md +33 -0
- package/en/docusaurus-plugin-content-docs/current/configure/app/bff/proxy.md +75 -0
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/dev/asset-prefix.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/dev/hmr.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/dev/https.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/dev/port.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/dev/progress-bar.md +0 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/dev/proxy.md +80 -0
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/dev/start-url.md +0 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/dev/with-master-app.md +32 -0
- package/en/docusaurus-plugin-content-docs/current/configure/app/experiments/lazy-compilation.md +12 -0
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/html/app-icon.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/html/crossorigin.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/html/disable-html-folder.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/html/favicon-by-entries.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/html/favicon.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/html/inject-by-entries.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/html/inject.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/html/meta-by-entries.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/html/meta.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/html/mount-id.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/html/template-by-entries.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/html/template-parameters-by-entries.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/html/template-parameters.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/html/template.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/html/title-by-entries.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/html/title.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/asset-prefix.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/assets-retry.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/charset.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/clean-dist-path.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/convert-to-rem.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/copy.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/css-module-local-ident-name.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/data-uri-limit.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/disable-css-module-extension.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/disable-filename-hash.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/disable-inline-runtime-chunk.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/disable-minimize.md +0 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-node-polyfill.md +20 -0
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/disable-source-map.md +0 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-ts-checker.md +12 -0
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/dist-path.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/enable-asset-fallback.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/enable-asset-manifest.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/enable-css-module-tsdeclaration.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/enable-inline-scripts.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/enable-inline-styles.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/enable-latest-decorators.md +0 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-modern-mode.md +34 -0
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/externals.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/filename.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/legal-comments.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/override-browserslist.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/polyfill.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/output/svg-default-export.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/performance/build-cache.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/performance/bundle-analyze.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/performance/chunk-split.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/performance/print-file-size.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/performance/profile.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/performance/remove-console.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/performance/remove-moment-locale.md +0 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/plugins.md +74 -0
- package/en/docusaurus-plugin-content-docs/current/configure/app/runtime/intro.md +91 -0
- package/en/docusaurus-plugin-content-docs/current/configure/app/runtime/master-app.md +60 -0
- package/en/docusaurus-plugin-content-docs/current/configure/app/runtime/router.md +19 -0
- package/en/docusaurus-plugin-content-docs/current/configure/app/runtime/state.md +41 -0
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/security/sri.md +0 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/server/base-url.md +33 -0
- package/en/docusaurus-plugin-content-docs/current/configure/app/server/port.md +18 -0
- package/en/docusaurus-plugin-content-docs/current/configure/app/server/public-routes.md +26 -0
- package/en/docusaurus-plugin-content-docs/current/configure/app/server/routes.md +91 -0
- package/en/docusaurus-plugin-content-docs/current/configure/app/server/ssr-by-entries.md +28 -0
- package/en/docusaurus-plugin-content-docs/current/configure/app/server/ssr.md +20 -0
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/source/alias.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/source/compile-js-data-uri.md +0 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/source/config-dir.md +23 -0
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/source/define.md +0 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/source/design-system.md +1150 -0
- package/en/docusaurus-plugin-content-docs/current/configure/app/source/disable-default-entries.md +28 -0
- package/en/docusaurus-plugin-content-docs/current/configure/app/source/enable-async-entry.md +50 -0
- package/en/docusaurus-plugin-content-docs/current/configure/app/source/entries-dir.md +38 -0
- package/en/docusaurus-plugin-content-docs/current/configure/app/source/entries.md +62 -0
- package/en/docusaurus-plugin-content-docs/current/configure/app/source/exclude.md +12 -0
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/source/global-vars.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/source/include.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/source/module-scopes.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/source/pre-entry.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/source/resolve-extension-prefix.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/source/resolve-main-fields.md +0 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/testing/transformer.md +18 -0
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/tools/autoprefixer.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/tools/babel.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/tools/css-extract.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/tools/css-loader.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/tools/dev-server.md +0 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/esbuild.md +61 -0
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/tools/html-plugin.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/tools/inspector.md +0 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/jest.md +39 -0
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/tools/less.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/tools/minify-css.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/tools/postcss.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/tools/pug.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/tools/sass.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/tools/style-loader.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/tools/styled-components.md +0 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/tailwindcss.md +47 -0
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/tools/terser.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/tools/ts-checker.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/tools/ts-loader.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/tools/webpack-chain.md +0 -1
- package/en/{configure → docusaurus-plugin-content-docs/current/configure}/app/tools/webpack.md +0 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/usage.md +92 -0
- package/en/{tutorials → docusaurus-plugin-content-docs/current/tutorials}/foundations/_category_.json +0 -0
- package/en/{tutorials → docusaurus-plugin-content-docs/current/tutorials}/foundations/basic.md +0 -0
- package/en/{tutorials → docusaurus-plugin-content-docs/current/tutorials}/foundations/introduction.md +0 -0
- package/en/docusaurus-plugin-content-docs/current.json +262 -0
- package/package.json +7 -5
- package/scripts/config.ts +98 -0
- package/scripts/summary.en.json +1 -0
- package/scripts/summary.zh.json +1 -0
- package/scripts/sync.ts +26 -5
- package/zh/apis/app/commands/build.md +2 -2
- package/zh/apis/app/commands/dev.md +1 -1
- package/zh/apis/app/commands/index.md +1 -1
- package/zh/apis/app/commands/lint.md +2 -2
- package/zh/apis/app/commands/new.md +1 -1
- package/zh/apis/app/commands/start.md +1 -1
- package/zh/apis/app/commands/test.md +1 -1
- package/zh/apis/app/commands/upgrade.md +0 -2
- package/zh/apis/app/hooks/api/framework/_category_.json +1 -1
- package/zh/apis/app/hooks/api/framework/lambda.md +8 -33
- package/zh/apis/app/hooks/api/functions/_category_.json +1 -1
- package/zh/apis/app/hooks/api/functions/api.md +29 -2
- package/zh/apis/app/hooks/api/functions/app.md +5 -3
- package/zh/apis/app/hooks/api/functions/common.md +3 -5
- package/zh/apis/app/hooks/api/test.md +2 -4
- package/zh/apis/app/hooks/config/html.md +1 -3
- package/zh/apis/app/hooks/config/icon.md +2 -2
- package/zh/apis/app/hooks/config/mock.md +2 -8
- package/zh/apis/app/hooks/config/public.md +2 -4
- package/zh/apis/app/hooks/config/storybook.md +2 -4
- package/zh/apis/app/hooks/config/upload.md +1 -7
- package/zh/apis/app/hooks/modern-config.md +1 -3
- package/zh/apis/app/hooks/server/index_.md +12 -0
- package/zh/apis/app/hooks/server/test.md +3 -3
- package/zh/apis/app/hooks/shared.md +1 -2
- package/zh/apis/app/hooks/src/app.md +8 -4
- package/zh/apis/app/hooks/src/{index.md → index_.md} +2 -2
- package/zh/apis/app/hooks/src/pages.md +3 -4
- package/zh/apis/app/hooks/src/stories.md +2 -2
- package/zh/apis/app/hooks/src/test.md +1 -1
- package/zh/apis/app/overview.md +1 -1
- package/zh/apis/app/runtime/app/_category_.json +2 -2
- package/zh/apis/app/runtime/app/define-config.md +14 -10
- package/zh/apis/app/runtime/bff/_category_.json +4 -0
- package/zh/apis/app/runtime/bff/hook.md +43 -0
- package/zh/apis/app/runtime/bff/use-context.md +36 -0
- package/zh/apis/app/runtime/core/_category_.json +4 -0
- package/zh/apis/app/runtime/core/bootstrap.md +55 -0
- package/zh/apis/app/runtime/core/create-app.md +47 -0
- package/zh/apis/app/runtime/core/use-loader.md +83 -0
- package/zh/apis/app/runtime/core/use-module-apps.md +101 -0
- package/zh/apis/app/runtime/core/use-runtime-context.md +59 -0
- package/zh/apis/app/runtime/default-alias.md +4 -7
- package/zh/apis/app/runtime/env.md +22 -20
- package/zh/apis/app/runtime/model/Provider.md +6 -8
- package/zh/apis/app/runtime/model/_category_.json +1 -1
- package/zh/apis/app/runtime/model/auto-actions.md +1 -2
- package/zh/apis/app/runtime/model/connect.md +8 -5
- package/zh/apis/app/runtime/model/create-app.md +3 -4
- package/zh/apis/app/runtime/model/create-store.md +5 -3
- package/zh/apis/app/runtime/model/handle-effect.md +5 -5
- package/zh/apis/app/runtime/model/model_.md +3 -3
- package/zh/apis/app/runtime/model/use-local-model.md +2 -2
- package/zh/apis/app/runtime/model/use-model.md +6 -7
- package/zh/apis/app/runtime/model/use-static-model.md +2 -2
- package/zh/apis/app/runtime/model/use-store.md +3 -3
- package/zh/apis/app/runtime/router/_category_.json +4 -0
- package/zh/apis/app/runtime/{container → router}/router.md +0 -0
- package/zh/apis/app/runtime/ssr/_category_.json +4 -0
- package/zh/apis/app/runtime/ssr/no-ssr.md +41 -0
- package/zh/apis/app/runtime/ssr/pre-render.md +91 -0
- package/zh/apis/app/runtime/testing/_category_.json +1 -1
- package/zh/apis/app/runtime/testing/act.md +8 -8
- package/zh/apis/app/runtime/testing/cleanup.md +10 -9
- package/zh/apis/app/runtime/testing/render.md +43 -23
- package/zh/apis/app/runtime/testing/renderApp.md +8 -8
- package/zh/apis/app/runtime/utility/_category_.json +1 -1
- package/zh/apis/app/runtime/utility/css-in-js.md +17 -35
- package/zh/apis/app/runtime/{app → utility}/head.md +6 -10
- package/zh/apis/app/runtime/utility/{loadable/loadable_.md → loadable.md} +29 -56
- package/zh/apis/app/runtime/web-server/_category_.json +1 -1
- package/zh/apis/app/runtime/web-server/hook.md +100 -90
- package/zh/apis/app/runtime/web-server/middleware.md +106 -0
- package/zh/apis/monorepo/commands/bump.md +1 -1
- package/zh/apis/monorepo/commands/change.md +1 -1
- package/zh/apis/monorepo/commands/clear.md +1 -1
- package/zh/apis/monorepo/commands/deploy.md +1 -1
- package/zh/apis/monorepo/commands/gen-release-note.md +1 -1
- package/zh/apis/monorepo/commands/lint.md +1 -1
- package/zh/apis/monorepo/commands/new.md +1 -1
- package/zh/apis/monorepo/commands/pre.md +1 -1
- package/zh/apis/monorepo/commands/release.md +1 -1
- package/zh/configure/app/bff/fetcher.md +1 -2
- package/zh/configure/app/bff/prefix.md +2 -3
- package/zh/configure/app/bff/proxy.md +8 -13
- package/zh/configure/app/dev/asset-prefix.md +0 -1
- package/zh/configure/app/dev/hmr.md +0 -1
- package/zh/configure/app/dev/https.md +0 -1
- package/zh/configure/app/dev/port.md +0 -1
- package/zh/configure/app/dev/progress-bar.md +0 -1
- package/zh/configure/app/dev/proxy.md +2 -3
- package/zh/configure/app/dev/start-url.md +0 -1
- package/zh/configure/app/dev/with-master-app.md +0 -1
- package/zh/configure/app/experiments/lazy-compilation.md +12 -0
- package/zh/configure/app/html/app-icon.md +0 -1
- package/zh/configure/app/html/crossorigin.md +0 -1
- package/zh/configure/app/html/disable-html-folder.md +0 -1
- package/zh/configure/app/html/favicon-by-entries.md +0 -1
- package/zh/configure/app/html/favicon.md +0 -1
- package/zh/configure/app/html/inject-by-entries.md +0 -1
- package/zh/configure/app/html/inject.md +0 -1
- package/zh/configure/app/html/meta-by-entries.md +0 -1
- package/zh/configure/app/html/meta.md +0 -1
- package/zh/configure/app/html/mount-id.md +0 -1
- package/zh/configure/app/html/template-by-entries.md +0 -1
- package/zh/configure/app/html/template-parameters-by-entries.md +0 -1
- package/zh/configure/app/html/template-parameters.md +0 -1
- package/zh/configure/app/html/template.md +0 -1
- package/zh/configure/app/html/title-by-entries.md +0 -1
- package/zh/configure/app/html/title.md +0 -1
- package/zh/configure/app/output/asset-prefix.md +0 -1
- package/zh/configure/app/output/assets-retry.md +0 -1
- package/zh/configure/app/output/charset.md +0 -1
- package/zh/configure/app/output/clean-dist-path.md +0 -1
- package/zh/configure/app/output/convert-to-rem.md +0 -1
- package/zh/configure/app/output/copy.md +0 -1
- package/zh/configure/app/output/css-module-local-ident-name.md +0 -1
- package/zh/configure/app/output/data-uri-limit.md +0 -1
- package/zh/configure/app/output/disable-css-module-extension.md +0 -1
- package/zh/configure/app/output/disable-filename-hash.md +0 -1
- package/zh/configure/app/output/disable-inline-runtime-chunk.md +0 -1
- package/zh/configure/app/output/disable-minimize.md +0 -1
- package/zh/configure/app/output/disable-node-polyfill.md +2 -4
- package/zh/configure/app/output/disable-source-map.md +0 -1
- package/zh/configure/app/output/disable-ts-checker.md +12 -0
- package/zh/configure/app/output/dist-path.md +0 -1
- package/zh/configure/app/output/enable-asset-fallback.md +0 -1
- package/zh/configure/app/output/enable-asset-manifest.md +0 -1
- package/zh/configure/app/output/enable-css-module-tsdeclaration.md +0 -1
- package/zh/configure/app/output/enable-inline-scripts.md +0 -1
- package/zh/configure/app/output/enable-inline-styles.md +0 -1
- package/zh/configure/app/output/enable-latest-decorators.md +0 -1
- package/zh/configure/app/output/enable-modern-mode.md +13 -5
- package/zh/configure/app/output/externals.md +0 -1
- package/zh/configure/app/output/filename.md +0 -1
- package/zh/configure/app/output/legal-comments.md +0 -1
- package/zh/configure/app/output/override-browserslist.md +0 -1
- package/zh/configure/app/output/polyfill.md +0 -1
- package/zh/configure/app/output/svg-default-export.md +0 -1
- package/zh/configure/app/performance/build-cache.md +0 -1
- package/zh/configure/app/performance/bundle-analyze.md +0 -1
- package/zh/configure/app/performance/chunk-split.md +0 -1
- package/zh/configure/app/performance/print-file-size.md +0 -1
- package/zh/configure/app/performance/profile.md +0 -1
- package/zh/configure/app/performance/remove-console.md +0 -1
- package/zh/configure/app/performance/remove-moment-locale.md +0 -1
- package/zh/configure/app/runtime/intro.md +92 -0
- package/zh/configure/app/runtime/master-app.md +8 -21
- package/zh/configure/app/runtime/router.md +4 -38
- package/zh/configure/app/runtime/state.md +10 -13
- package/zh/configure/app/security/sri.md +0 -1
- package/zh/configure/app/server/base-url.md +1 -2
- package/zh/configure/app/server/port.md +1 -2
- package/zh/configure/app/server/public-routes.md +1 -2
- package/zh/configure/app/server/routes.md +4 -5
- package/zh/configure/app/server/ssr-by-entries.md +2 -3
- package/zh/configure/app/server/ssr.md +1 -2
- package/zh/configure/app/source/alias.md +0 -1
- package/zh/configure/app/source/compile-js-data-uri.md +0 -1
- package/zh/configure/app/source/config-dir.md +12 -4
- package/zh/configure/app/source/define.md +0 -1
- package/zh/configure/app/source/design-system.md +14 -24
- package/zh/configure/app/source/disable-default-entries.md +8 -3
- package/zh/configure/app/source/enable-async-entry.md +3 -3
- package/zh/configure/app/source/entries-dir.md +1 -1
- package/zh/configure/app/source/entries.md +16 -9
- package/zh/configure/app/source/exclude.md +12 -0
- package/zh/configure/app/source/global-vars.md +0 -1
- package/zh/configure/app/source/include.md +0 -1
- package/zh/configure/app/source/module-scopes.md +0 -1
- package/zh/configure/app/source/pre-entry.md +0 -1
- package/zh/configure/app/source/resolve-extension-prefix.md +0 -1
- package/zh/configure/app/source/resolve-main-fields.md +0 -1
- package/zh/configure/app/testing/transformer.md +2 -4
- package/zh/configure/app/tools/autoprefixer.md +0 -1
- package/zh/configure/app/tools/babel.md +0 -1
- package/zh/configure/app/tools/css-extract.md +0 -1
- package/zh/configure/app/tools/css-loader.md +0 -1
- package/zh/configure/app/tools/dev-server.md +0 -1
- package/zh/configure/app/tools/esbuild.md +5 -5
- package/zh/configure/app/tools/html-plugin.md +0 -1
- package/zh/configure/app/tools/inspector.md +0 -1
- package/zh/configure/app/tools/jest.md +2 -4
- package/zh/configure/app/tools/less.md +0 -1
- package/zh/configure/app/tools/minify-css.md +0 -1
- package/zh/configure/app/tools/postcss.md +0 -1
- package/zh/configure/app/tools/pug.md +0 -1
- package/zh/configure/app/tools/sass.md +0 -1
- package/zh/configure/app/tools/style-loader.md +0 -1
- package/zh/configure/app/tools/styled-components.md +0 -1
- package/zh/configure/app/tools/terser.md +0 -1
- package/zh/configure/app/tools/ts-checker.md +0 -1
- package/zh/configure/app/tools/ts-loader.md +0 -1
- package/zh/configure/app/tools/webpack-chain.md +0 -1
- package/zh/configure/app/tools/webpack.md +0 -1
- package/zh/configure/app/usage.md +15 -4
- package/zh/guides/advanced-features/bff/bff-server.md +1 -1
- package/zh/guides/advanced-features/bff/frameworks.md +0 -221
- package/zh/guides/advanced-features/code-split.md +1 -1
- package/zh/guides/advanced-features/low-level.md +2 -2
- package/zh/guides/advanced-features/ssg.md +2 -2
- package/zh/guides/advanced-features/ssr.md +4 -4
- package/zh/guides/basic-features/alias.md +1 -1
- package/zh/guides/basic-features/css/postcss.md +1 -1
- package/zh/guides/basic-features/css/tailwindcss.md +2 -2
- package/zh/guides/basic-features/env-vars.md +2 -3
- package/zh/guides/basic-features/proxy.md +2 -2
- package/zh/guides/topic-detail/compile-speed.md +5 -5
- package/zh/guides/topic-detail/generator/_category_.json +4 -0
- package/zh/guides/topic-detail/generator/codesmith/_category_.json +4 -0
- package/zh/guides/topic-detail/generator/codesmith/introduce.md +5 -0
- package/zh/guides/topic-detail/generator/config/_category_.json +4 -0
- package/zh/{configure/generator/introduce.md → guides/topic-detail/generator/config/common.md} +35 -42
- package/zh/{configure/generator → guides/topic-detail/generator/config}/module.md +7 -11
- package/zh/{configure/generator → guides/topic-detail/generator/config}/monorepo.md +4 -4
- package/zh/{configure/generator → guides/topic-detail/generator/config}/mwa.md +11 -45
- package/zh/guides/topic-detail/generator/plugin/_category_.json +4 -0
- package/zh/guides/topic-detail/{generator-plugin → generator/plugin}/abstract.md +0 -0
- package/zh/guides/topic-detail/generator/plugin/api/_category_.json +4 -0
- package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/file/_category_.json +0 -0
- package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/file/addFile.md +1 -1
- package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/file/addHelper.md +0 -0
- package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/file/addManyFile.md +1 -1
- package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/file/addPartial.md +0 -0
- package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/file/introduce.md +0 -0
- package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/file/rmDir.md +0 -0
- package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/file/rmFile.md +0 -0
- package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/file/updateJSONFile.md +0 -0
- package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/file/updateModernConfig.md +0 -0
- package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/file/updateTextRawFile.md +0 -0
- package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/git/_category_.json +0 -0
- package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/git/gitAddAndCommit.md +0 -0
- package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/git/initGitRepo.md +0 -0
- package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/git/isInGitRepo.md +0 -0
- package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/hook/_category_.json +0 -0
- package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/hook/afterForged.md +1 -1
- package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/hook/onForged.md +1 -1
- package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/info/_category_.json +0 -0
- package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/info/isFileExit.md +0 -0
- package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/info/locale.md +0 -0
- package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/info/readDir.md +0 -0
- package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/input/_category_.json +0 -0
- package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/input/addInputAfter.md +14 -6
- package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/input/addInputBefore.md +14 -6
- package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/input/setInput.md +2 -2
- package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/input/setInputValue.md +0 -0
- package/zh/guides/topic-detail/generator/plugin/api/input/type.md +65 -0
- package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/introduce.md +0 -0
- package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/new/_category_.json +0 -0
- package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/new/createElement.md +1 -1
- package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/new/createSubProject.md +1 -1
- package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/new/enableFunc.md +1 -3
- package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/new/introduce.md +3 -3
- package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/npm/_category_.json +0 -0
- package/zh/{apis/generator/plugin → guides/topic-detail/generator/plugin/api}/npm/install.md +0 -0
- package/zh/guides/topic-detail/{generator-plugin → generator/plugin}/develop.md +4 -4
- package/zh/guides/topic-detail/{generator-plugin → generator/plugin}/use.md +0 -0
- package/zh/guides/topic-detail/generator/project.md +117 -0
- package/zh/guides/topic-detail/micro-frontend/debugging.md +5 -5
- package/zh/guides/topic-detail/micro-frontend/route-mode.md +2 -2
- package/zh/guides/troubleshooting/compile.md +3 -3
- package/zh/tutorials/first-app/c01-getting-started/1.4-enable-ssr.md +2 -2
- package/zh/tutorials/first-app/c04-es6-plus-and-ts/4.3-compatibility.md +4 -4
- package/zh/tutorials/first-app/c06-css-and-component/6.4-design-system.md +3 -3
- package/zh/tutorials/first-app/c07-app-entry/7.3-manage-entries-by-hand.md +2 -2
- package/zh/tutorials/first-app/c08-client-side-routing/8.1-code-based-routing.md +1 -1
- package/scripts/gen-config.ts +0 -60
- package/zh/apis/app/hooks/api/framework/app.md +0 -100
- package/zh/apis/app/hooks/server/index.md +0 -14
- package/zh/apis/app/hooks/src/error.md +0 -10
- package/zh/apis/app/hooks/src/eslint.md +0 -9
- package/zh/apis/app/runtime/app/bootstrap.md +0 -83
- package/zh/apis/app/runtime/app/create-app.md +0 -47
- package/zh/apis/app/runtime/app/no-ssr.md +0 -41
- package/zh/apis/app/runtime/app/pre-render.md +0 -77
- package/zh/apis/app/runtime/app/use-module-app.md +0 -60
- package/zh/apis/app/runtime/app/use-module-apps.md +0 -64
- package/zh/apis/app/runtime/app/use-runtime-context.md +0 -39
- package/zh/apis/app/runtime/bff-server/_category_.json +0 -4
- package/zh/apis/app/runtime/bff-server/after-lambda-registed.md +0 -35
- package/zh/apis/app/runtime/bff-server/hook.md +0 -120
- package/zh/apis/app/runtime/bff-server/use-context.md +0 -70
- package/zh/apis/app/runtime/container/_category_.json +0 -4
- package/zh/apis/app/runtime/container/use-loader.md +0 -64
- package/zh/apis/app/runtime/utility/loadable/_category_.json +0 -4
- package/zh/apis/app/runtime/utility/loadable/lazy.md +0 -29
- package/zh/apis/app/runtime/utility/loadable/loadable-component.md +0 -61
- package/zh/apis/app/runtime/utility/loadable/loadable-library.md +0 -67
- package/zh/apis/generator/plugin/_category_.json +0 -4
- package/zh/apis/generator/plugin/input/addOptionAfter.md +0 -45
- package/zh/apis/generator/plugin/input/addOptionBefore.md +0 -45
- package/zh/apis/generator/plugin/input/type.md +0 -101
- package/zh/guides/topic-detail/generator-plugin/_category_.json +0 -4
@@ -1,41 +0,0 @@
|
|
1
|
-
---
|
2
|
-
title: NoSSR
|
3
|
-
sidebar_position: 4
|
4
|
-
---
|
5
|
-
|
6
|
-
:::info 补充信息
|
7
|
-
被 NoSSR 包裹的内容在服务端不会进行渲染,在客户端 hydrate 阶段也不会渲染,等到整个 App mount 后便会立即渲染。
|
8
|
-
```ts
|
9
|
-
import { NoSSR } from '@modern-js/runtime/ssr';
|
10
|
-
```
|
11
|
-
:::
|
12
|
-
|
13
|
-
## API
|
14
|
-
|
15
|
-
```tsx
|
16
|
-
<NoSSR></NoSSR>
|
17
|
-
```
|
18
|
-
|
19
|
-
## 示例
|
20
|
-
|
21
|
-
下列代码中,`Time` 组件用于展示当前的时间,由于服务端渲染和客户端 hydrate 时获取到的时间是不一致的,react 就会抛出异常。针对这种情况可以使用 `NoSSR` 进行优化:
|
22
|
-
|
23
|
-
```tsx
|
24
|
-
import { NoSSR } from '@modern-js/runtime/ssr';
|
25
|
-
|
26
|
-
function Time() {
|
27
|
-
return <NoSSR>
|
28
|
-
<div>Time: { Date.now() }</div>
|
29
|
-
</NoSSR>
|
30
|
-
}
|
31
|
-
```
|
32
|
-
|
33
|
-
## 使用场景
|
34
|
-
|
35
|
-
在 CSR 中,常常需要根据当前浏览器 UA,或是当前页面 URL 的某个参数的不同,来渲染不同的内容。
|
36
|
-
|
37
|
-
如果此时应用直接切换到 SSR,很有可能出现不符合预期的结果。
|
38
|
-
|
39
|
-
Modern.js 在 SSR 上下文中提供了完整的浏览器端信息,合理利用上下文信息来决定组件在服务端的渲染结果,避免出现 Jarring Render。
|
40
|
-
|
41
|
-
如果应用里有太多的判断,希望以后再使用上下文;或者不希望某些内容在服务端被渲染,可以使用 NoSSR 组件将这一部分剔除在服务端渲染外。
|
@@ -1,77 +0,0 @@
|
|
1
|
-
---
|
2
|
-
title: PreRender
|
3
|
-
sidebar_position: 5
|
4
|
-
---
|
5
|
-
|
6
|
-
:::info 补充信息
|
7
|
-
无展示内容的高阶组件,通过类似 Helmet 的方式实现 SPA 路由级的缓存,无需额外配置。
|
8
|
-
```ts
|
9
|
-
import { PreRender } from '@modern-js/runtime/ssr';
|
10
|
-
```
|
11
|
-
:::
|
12
|
-
|
13
|
-
## API
|
14
|
-
|
15
|
-
`PreRender` 组件提供了一套常用的配置参数,用于控制缓存的规则、过期时间、缓存算法等。
|
16
|
-
|
17
|
-
```tsx
|
18
|
-
<PreRender></PreRender>
|
19
|
-
```
|
20
|
-
|
21
|
-
### 参数
|
22
|
-
|
23
|
-
- interval:`number`,设置缓存保持新鲜的时间,单位秒。在该时间内,将直接使用缓存,并且不做异步渲染。
|
24
|
-
- [staleLimit]:`number`,设置缓存完全过期的时间,单位秒。在该时间内,缓存可以被返回,否则必须使用重新渲染的结果。
|
25
|
-
- [level]:`number`,设置缓存标识的计算规则等级,通常配合 `includes` 与 `matches` 使用。默认值为 `0`。
|
26
|
-
|
27
|
-
```bash
|
28
|
-
0:路由路径
|
29
|
-
1:路由路径 + 查询字符串
|
30
|
-
2:路由路径 + 请求头
|
31
|
-
3:路由路径 + 查询字符串 + 请求头
|
32
|
-
```
|
33
|
-
|
34
|
-
- [includes]:`{ header?: string[], query?: string[] }`,设置需要被纳入缓存标识的内容,在 level 非 0 时使用。默认值为 `null`。
|
35
|
-
- [matches]:`{ header?: Record<string, any>, query?: Record<string, any> }`,设置 query 或 header 的值在缓存标识计算中的重写规则,通常用在缓存分类时,支持正则表达式。默认值为 `null`。
|
36
|
-
|
37
|
-
## 示例
|
38
|
-
|
39
|
-
```tsx
|
40
|
-
import { PreRender } from '@modern-js/runtime/ssr';
|
41
|
-
|
42
|
-
export default function App() {
|
43
|
-
return (
|
44
|
-
<>
|
45
|
-
<PreRender interval={10} />
|
46
|
-
<div>Hello Modern</div>
|
47
|
-
</>
|
48
|
-
)
|
49
|
-
}
|
50
|
-
```
|
51
|
-
|
52
|
-
下面例子展示了如何将 query、header 中指定的参数纳入缓存计算中:
|
53
|
-
|
54
|
-
```tsx
|
55
|
-
/* 使用 query 中的 channel 和 header 中的 language 计算缓存标识 */
|
56
|
-
<PreRender interval={10} level={2} includes={{
|
57
|
-
query: ["channel"],
|
58
|
-
header: ["language"]
|
59
|
-
}} />
|
60
|
-
```
|
61
|
-
|
62
|
-
下面例子展示了如何不让测试频道影响线上缓存:
|
63
|
-
|
64
|
-
```tsx
|
65
|
-
/* 将 query 中 channel 值为 test_ 开头的重写为 testChannel,否则重写为 otherChannel */
|
66
|
-
<PreRender interval={10} level={2} includes={{
|
67
|
-
query: ["channel"],
|
68
|
-
header: ["language"]
|
69
|
-
}} matches={{
|
70
|
-
query: {
|
71
|
-
channel: {
|
72
|
-
"testChannel", "^test_",
|
73
|
-
"otherChannel", ".*"
|
74
|
-
}
|
75
|
-
}
|
76
|
-
}} />
|
77
|
-
```
|
@@ -1,60 +0,0 @@
|
|
1
|
-
---
|
2
|
-
title: useModuleApp
|
3
|
-
sidebar_position: 6
|
4
|
-
---
|
5
|
-
|
6
|
-
:::info 补充信息
|
7
|
-
返回一个自动切换微前端路由的组件,默认激活的路由是配置里的 `activeWhen`。
|
8
|
-
```ts
|
9
|
-
import { useModuleApp } from '@modern-js/runtime';
|
10
|
-
```
|
11
|
-
:::
|
12
|
-
|
13
|
-
:::caution 注意
|
14
|
-
该 API 在微前端主应用中使用,需要先开启微前端。
|
15
|
-
:::
|
16
|
-
|
17
|
-
## API
|
18
|
-
|
19
|
-
`useModuleApp() => React.FC<any>`
|
20
|
-
|
21
|
-
返回子应用的 React 组件。
|
22
|
-
|
23
|
-
## 示例
|
24
|
-
|
25
|
-
需要先配置微前端子应用信息。
|
26
|
-
|
27
|
-
```js title=modern.config.js
|
28
|
-
defineConfig({
|
29
|
-
runtime: {
|
30
|
-
masterApp: {
|
31
|
-
manifest: {
|
32
|
-
modules: [
|
33
|
-
{
|
34
|
-
name: 'Home',
|
35
|
-
entry: 'http://www.home.com',
|
36
|
-
activeWhen: '/home'
|
37
|
-
},
|
38
|
-
{
|
39
|
-
name: 'Contact',
|
40
|
-
entry: 'http://www.contact.com',
|
41
|
-
activeWhen: '/contact'
|
42
|
-
},
|
43
|
-
]
|
44
|
-
}
|
45
|
-
}
|
46
|
-
}
|
47
|
-
})
|
48
|
-
```
|
49
|
-
|
50
|
-
```ts title=App.tsx
|
51
|
-
import { useModuleApp } from '@modern-js/runtime';
|
52
|
-
|
53
|
-
function App() {
|
54
|
-
const MApp = useModuleApp();
|
55
|
-
|
56
|
-
return <MApp />;
|
57
|
-
}
|
58
|
-
```
|
59
|
-
|
60
|
-
通过 `useModuleApp()` 获取到 `MApp` 组件,渲染 MApp 组件,将会根据配置中的 `activeWhen` 作为激活路由加载对应的子应用。
|
@@ -1,64 +0,0 @@
|
|
1
|
-
---
|
2
|
-
title: useModuleApps
|
3
|
-
sidebar_position: 7
|
4
|
-
---
|
5
|
-
|
6
|
-
:::info 补充信息
|
7
|
-
返回所有微前端子应用的 React 组件,用于可自由控制路由。
|
8
|
-
```ts
|
9
|
-
import { useModuleApps } from '@modern-js/plugin-garfish';
|
10
|
-
```
|
11
|
-
:::
|
12
|
-
|
13
|
-
:::caution 注意
|
14
|
-
该 API 在微前端主应用中使用,需要先开启微前端。
|
15
|
-
:::
|
16
|
-
|
17
|
-
## API
|
18
|
-
|
19
|
-
`useModuleApps() => Record<string, React.FC<any>>`
|
20
|
-
|
21
|
-
分别返回包裹每个子应用后的 React 组件。
|
22
|
-
|
23
|
-
## 示例
|
24
|
-
|
25
|
-
需要先配置微前端子应用信息。
|
26
|
-
|
27
|
-
```js title=modern.config.js
|
28
|
-
defineConfig({
|
29
|
-
runtime: {
|
30
|
-
masterApp: {
|
31
|
-
manifest: {
|
32
|
-
modules: [
|
33
|
-
{
|
34
|
-
name: 'Home',
|
35
|
-
entry: 'http://www.home.com'
|
36
|
-
},
|
37
|
-
{
|
38
|
-
name: 'Contact',
|
39
|
-
entry: 'http://www.contact.com'
|
40
|
-
},
|
41
|
-
]
|
42
|
-
}
|
43
|
-
}
|
44
|
-
}
|
45
|
-
})
|
46
|
-
```
|
47
|
-
|
48
|
-
```tsx title=App.tsx
|
49
|
-
function App() {
|
50
|
-
const { Home, Contact } = useModuleApps();
|
51
|
-
|
52
|
-
return <div>
|
53
|
-
Master APP
|
54
|
-
<Route exact path='/home'>
|
55
|
-
<Home />
|
56
|
-
</Route>
|
57
|
-
<Route exact path='/home'>
|
58
|
-
<Contact />
|
59
|
-
</Route>
|
60
|
-
</div>;
|
61
|
-
}
|
62
|
-
```
|
63
|
-
|
64
|
-
通过 `useModuleApps()` 获取到 `Home` 和 `Contact` 子应用组件(名称和配置里的 `name` 字段对应),之后就可以像使用普通的 React 组件一样去加载子应用。
|
@@ -1,39 +0,0 @@
|
|
1
|
-
---
|
2
|
-
sidebar_position: 2
|
3
|
-
---
|
4
|
-
# useRuntimeContext
|
5
|
-
|
6
|
-
:::info 补充信息
|
7
|
-
在 `React` 组件中获取 runtime 上下文,其中包含 `request` 和 `store` 实例。
|
8
|
-
```ts
|
9
|
-
import { useRuntimeContext } from '@modern-js/runtime';
|
10
|
-
```
|
11
|
-
:::
|
12
|
-
|
13
|
-
## API
|
14
|
-
|
15
|
-
`useRuntimeContext() => RuntimeContext`
|
16
|
-
### 返回值
|
17
|
-
|
18
|
-
- request:`object`,请求上下文中的附加信息。
|
19
|
-
- params:`Record<string, string>`,请求路径中的动态参数。
|
20
|
-
- pathname:`string`,请求的 pathname。
|
21
|
-
- query:`Record<string, string>`,请求的查询字符串对象。
|
22
|
-
- headers:`IncomingHttpHeaders`,请求头信息。
|
23
|
-
- [cookie]:`string`,请求的 cookie 信息。
|
24
|
-
- store:`ReduckStore`,在开启了 state 插件的时候,该值为 reduck 全局 `store`。
|
25
|
-
|
26
|
-
## 示例
|
27
|
-
|
28
|
-
```tsx
|
29
|
-
import { useRuntimeContext } from '@modern-js/runtime';
|
30
|
-
import { fooModel } from '@/common/models';
|
31
|
-
|
32
|
-
function App() {
|
33
|
-
const { store } = useRuntimeContext();
|
34
|
-
|
35
|
-
const [state, actions] = store.use(fooModel);
|
36
|
-
|
37
|
-
return <div>state: {state}</div>
|
38
|
-
}
|
39
|
-
```
|
@@ -1,35 +0,0 @@
|
|
1
|
-
# afterLambdaRegisted
|
2
|
-
|
3
|
-
:::info 补充信息
|
4
|
-
`afterLambdaRegisted` hook 可以在 express 框架模式下,添加代码逻辑,该 hook 中的代码会在 BFF 函数注册路由后执行,可以用于添加中间件,错误处理等。
|
5
|
-
:::
|
6
|
-
|
7
|
-
|
8
|
-
## API
|
9
|
-
|
10
|
-
`export const afterLambdaRegisted = (app: Express) => void`
|
11
|
-
|
12
|
-
### 参数
|
13
|
-
- app: `Express`,Express 实例。
|
14
|
-
|
15
|
-
## 示例
|
16
|
-
```ts title=api/app.ts
|
17
|
-
const app = express();
|
18
|
-
// 其他代码...
|
19
|
-
export default app;
|
20
|
-
|
21
|
-
export const afterLambdaRegisted = (app: Express) => {
|
22
|
-
const errorHandler = (
|
23
|
-
err: Error,
|
24
|
-
req: Request,
|
25
|
-
res: Response,
|
26
|
-
next: NextFunction,
|
27
|
-
) => {
|
28
|
-
if (res.headersSent) {
|
29
|
-
return next(err);
|
30
|
-
}
|
31
|
-
res.status(500).send('some error message');
|
32
|
-
}
|
33
|
-
app.use(errHandler);
|
34
|
-
}
|
35
|
-
```
|
@@ -1,120 +0,0 @@
|
|
1
|
-
---
|
2
|
-
sidebar_position: 3
|
3
|
-
---
|
4
|
-
|
5
|
-
# hook
|
6
|
-
|
7
|
-
:::info 补充信息
|
8
|
-
用于在 BFF 函数写法下添加框架中间件,添加的中间件的执行会在**BFF函数**定义的路由之前。
|
9
|
-
```ts
|
10
|
-
import { hook } from '@modern-js/runtime/server';
|
11
|
-
```
|
12
|
-
:::
|
13
|
-
|
14
|
-
## API
|
15
|
-
|
16
|
-
`hook(options) => void`
|
17
|
-
|
18
|
-
### 参数
|
19
|
-
|
20
|
-
- options: `object`,Modern.js 提供的一系列钩子。
|
21
|
-
- [addMiddleware]: `string | function`,添加中间件的钩子。
|
22
|
-
|
23
|
-
## 示例
|
24
|
-
|
25
|
-
使用不同的框架,应添加不同框架的中间件。目前支持 **express**、**nest**、**koa** 和 **egg**。
|
26
|
-
### Express
|
27
|
-
|
28
|
-
```ts title=api/_app.ts
|
29
|
-
import { hook } from '@modern-js/runtime/server';
|
30
|
-
|
31
|
-
export default hook(({ addMiddleware }) => {
|
32
|
-
addMiddleware(async (req, res, next) => {
|
33
|
-
req.query.id = 'express';
|
34
|
-
await next();
|
35
|
-
});
|
36
|
-
});
|
37
|
-
```
|
38
|
-
|
39
|
-
### Nest
|
40
|
-
|
41
|
-
#### 添加中间件
|
42
|
-
|
43
|
-
```ts title=api/_app.ts
|
44
|
-
import { hook } from '@modern-js/runtime/server';
|
45
|
-
|
46
|
-
export default hook(({ addMiddleware }) => {
|
47
|
-
addMiddleware(async (req, res, next) => {
|
48
|
-
req.query.id = 'express';
|
49
|
-
await next();
|
50
|
-
});
|
51
|
-
});
|
52
|
-
```
|
53
|
-
|
54
|
-
#### 添加 Module
|
55
|
-
|
56
|
-
```ts title=api/_app.ts
|
57
|
-
import { hook } from '@modern-js/runtime/server';
|
58
|
-
import {
|
59
|
-
Injectable,
|
60
|
-
MiddlewareConsumer,
|
61
|
-
Module,
|
62
|
-
NestMiddleware,
|
63
|
-
} from '@nestjs/common';
|
64
|
-
|
65
|
-
@Injectable()
|
66
|
-
export class LoggerMiddleware implements NestMiddleware {
|
67
|
-
async use(req: any, res: any, next: any) {
|
68
|
-
console.info(`access url: ${req.url}`);
|
69
|
-
next();
|
70
|
-
}
|
71
|
-
}
|
72
|
-
|
73
|
-
@Module()
|
74
|
-
export class AppModule {
|
75
|
-
configure(consumer: MiddlewareConsumer) {
|
76
|
-
consumer.apply(LoggerMiddleware).forRoutes('*');
|
77
|
-
}
|
78
|
-
}
|
79
|
-
|
80
|
-
export default hook(({ addMiddleware }) => {
|
81
|
-
addMiddleware(AppModule);
|
82
|
-
});
|
83
|
-
```
|
84
|
-
|
85
|
-
### Koa
|
86
|
-
|
87
|
-
```ts title=api/_app.ts
|
88
|
-
export default hook(({ addMiddleware }) => {
|
89
|
-
addMiddleware(async (ctx, next) => {
|
90
|
-
ctx.req.query.id = 'koa';
|
91
|
-
await next();
|
92
|
-
});
|
93
|
-
});
|
94
|
-
```
|
95
|
-
|
96
|
-
### egg
|
97
|
-
|
98
|
-
#### 添加中间件
|
99
|
-
|
100
|
-
```ts title=api/_app.ts
|
101
|
-
export default hook(({ addMiddleware }) => {
|
102
|
-
addMiddleware(() => async (ctx, next) => {
|
103
|
-
ctx.req.query.id = 'egg';
|
104
|
-
await next();
|
105
|
-
});
|
106
|
-
});
|
107
|
-
```
|
108
|
-
|
109
|
-
#### 给中间件注入参数
|
110
|
-
|
111
|
-
```ts title=api/_app.ts
|
112
|
-
export default hook(({ addMiddleware }) => {
|
113
|
-
addMiddleware([
|
114
|
-
'eggMiddleware', // 这里为第三方 node_module 包名
|
115
|
-
{
|
116
|
-
key: 'value',
|
117
|
-
},
|
118
|
-
])
|
119
|
-
});
|
120
|
-
```
|
@@ -1,70 +0,0 @@
|
|
1
|
-
---
|
2
|
-
sidebar_position: 1
|
3
|
-
---
|
4
|
-
|
5
|
-
# useContext
|
6
|
-
|
7
|
-
:::info 补充信息
|
8
|
-
用于在一体化 BFF 函数中获取请求上下文。
|
9
|
-
```ts
|
10
|
-
import { useContext } from '@modern-js/runtime/server';
|
11
|
-
```
|
12
|
-
:::
|
13
|
-
|
14
|
-
## API
|
15
|
-
|
16
|
-
`useContext() => any`
|
17
|
-
|
18
|
-
## 示例
|
19
|
-
|
20
|
-
开发者可以通过 `context` 获取更多的请求信息,例如获取请求 UA(示例为使用 koa 框架时):
|
21
|
-
|
22
|
-
```ts
|
23
|
-
import { useContext } from '@modern-js/runtime/server';
|
24
|
-
|
25
|
-
export async function get() {
|
26
|
-
const ctx = useContext();
|
27
|
-
return ctx.req.headers['user-agent'];
|
28
|
-
}
|
29
|
-
```
|
30
|
-
|
31
|
-
:::caution 注意
|
32
|
-
只有在一体化 BFF 函数中,你才可以使用 `useContext` API 。
|
33
|
-
:::
|
34
|
-
|
35
|
-
|
36
|
-
## 框架差异
|
37
|
-
|
38
|
-
在 Modern.js 中 **Express**、**Nest**、**Koa**、**Egg** 等运行时框架均支持 `useContext` API,但它们的返回值的类型是不同的。
|
39
|
-
|
40
|
-
### Express
|
41
|
-
|
42
|
-
```ts
|
43
|
-
import { Request, Response } from 'express';
|
44
|
-
|
45
|
-
export type Context = { req: Request; res: Response };
|
46
|
-
```
|
47
|
-
|
48
|
-
### Nest
|
49
|
-
|
50
|
-
```ts
|
51
|
-
import type { Request, Response } from 'express';
|
52
|
-
import type { FastifyRequest } from 'fastify';
|
53
|
-
|
54
|
-
export type Context = {
|
55
|
-
request: Request & FastifyRequest;
|
56
|
-
response: Response;
|
57
|
-
};
|
58
|
-
```
|
59
|
-
|
60
|
-
### Koa
|
61
|
-
|
62
|
-
```ts
|
63
|
-
export type { Context } from 'koa';
|
64
|
-
```
|
65
|
-
|
66
|
-
### Egg
|
67
|
-
|
68
|
-
```ts
|
69
|
-
export type { Context } from 'egg';
|
70
|
-
```
|
@@ -1,64 +0,0 @@
|
|
1
|
-
---
|
2
|
-
title: useLoader
|
3
|
-
sidebar_position: 2
|
4
|
-
---
|
5
|
-
|
6
|
-
:::info 补充信息
|
7
|
-
一个同构的 API,通常会用来做异步请求。当 SSR 的时候,服务端使用 `useLoader` 预加载数据,同时浏览器端也会复用这部分数据。
|
8
|
-
|
9
|
-
```ts
|
10
|
-
import { useLoader } from "@modern-js/runtime";
|
11
|
-
```
|
12
|
-
|
13
|
-
:::
|
14
|
-
|
15
|
-
## API
|
16
|
-
|
17
|
-
`useLoader(loaderFn,[options]) => object`
|
18
|
-
|
19
|
-
### 参数
|
20
|
-
|
21
|
-
- loaderFn: `(context: any, params: Record<string, any>) => Promise`,用于加载数据的函数,返回 Promise。
|
22
|
-
- [options]: `object` ,可选配置项。
|
23
|
-
- [onSuccess]: `(data: Record<string, any>) => void`,`loaderFn` 执行成功的回调。
|
24
|
-
- [onError]: `(error: Error) => void`,`loaderFn` 执行失败的回调。
|
25
|
-
- [initialData]: `Record<string, any>`, `loaderFn` 首次执行前的初始数据,对应返回值中的 `data` 字段。
|
26
|
-
- [skip]: `boolean`,当值为 `true` 时, `loaderFn` 不执行。
|
27
|
-
- [params]: `Record<string, any>`, 当 `params` 序列化结果发生改变时,`loaderFn` 会重新执行。同时,`params` 也会作为 `loaderFn` 的第二个参数被传入。
|
28
|
-
- [static]: `boolean`,当值为 `true` 时,`useLoader` 用于 [SSG](/docs/guides/advanced-features/ssg) 编译阶段数据的获取。
|
29
|
-
|
30
|
-
### 返回值
|
31
|
-
|
32
|
-
- data: `Record<string, any>`, `loaderFn` 函数执行成功时的返回数据。
|
33
|
-
- loading: `boolean`,表示 `loaderFn` 是否处于执行过程中。
|
34
|
-
- error: `Error`,`loaderFn` 函数执行失败时的错误信息。
|
35
|
-
- reload: `(params?: Params) => Promise<any> | undefined`,调用该函数可以重新执行 `loaderFn`。
|
36
|
-
- params?: `Record<string, any> | undefined`,当 `params` 为 `undefined`,`loaderFn` 执行时将复用上次的 `params` 参数;当 `params` 有值时,则会使用新的 `params` 参数重新执行 `loaderFn`。
|
37
|
-
- reloading: `boolean`,调用 `reload` 的执行过程中, `reloading` 值为 `true`。
|
38
|
-
|
39
|
-
## 示例
|
40
|
-
|
41
|
-
### 普通使用
|
42
|
-
|
43
|
-
```ts
|
44
|
-
function Container() {
|
45
|
-
const { data, error, loading } = useLoader(
|
46
|
-
async (context, params) => {
|
47
|
-
console.log(params) // nicole
|
48
|
-
return fetch(user);
|
49
|
-
},
|
50
|
-
{
|
51
|
-
onSuccess: data => {
|
52
|
-
console.log('I did success:(', data);
|
53
|
-
},
|
54
|
-
onError: error => {
|
55
|
-
console.log('I met error:)', error);
|
56
|
-
},
|
57
|
-
initialData: { name: 'nicole', gender: 'female' },
|
58
|
-
params: 'nicole'
|
59
|
-
}
|
60
|
-
);
|
61
|
-
|
62
|
-
return ...;
|
63
|
-
}
|
64
|
-
```
|
@@ -1,29 +0,0 @@
|
|
1
|
-
---
|
2
|
-
title: lazy
|
3
|
-
sidebar_position: 2
|
4
|
-
---
|
5
|
-
|
6
|
-
:::info
|
7
|
-
用于创建支持 [Suspense](https://reactjs.org/docs/react-api.html#reactsuspense) 的 `loadable 组件`。
|
8
|
-
```ts
|
9
|
-
import { lazy } from '@modern-js/runtime/loadable';
|
10
|
-
```
|
11
|
-
:::
|
12
|
-
## API
|
13
|
-
|
14
|
-
### lazy
|
15
|
-
|
16
|
-
```ts
|
17
|
-
import { lazy } from '@modern-js/runtime/loadable';
|
18
|
-
const OtherComponent = lazy(() => import('./OtherComponent'));
|
19
|
-
```
|
20
|
-
|
21
|
-
### lazy.lib
|
22
|
-
|
23
|
-
创建一个支持 [Suspense](https://reactjs.org/docs/react-api.html#reactsuspense) 的 `loadable 库`。
|
24
|
-
|
25
|
-
```ts
|
26
|
-
import { lazy } from '@modern-js/runtime/loadable';
|
27
|
-
const Moment = lazy.lib(() => import('moment'))
|
28
|
-
```
|
29
|
-
|
@@ -1,61 +0,0 @@
|
|
1
|
-
---
|
2
|
-
title: LoadableComponent
|
3
|
-
sidebar_position: 3
|
4
|
-
---
|
5
|
-
|
6
|
-
`LoadableComponent` 是 `loadable` 或 `lazy` 函数返回的对象类型。
|
7
|
-
|
8
|
-
## LoadableComponent 类型
|
9
|
-
|
10
|
-
```ts
|
11
|
-
type LoadableComponent<Props> =
|
12
|
-
React.ComponentType<
|
13
|
-
Props & { fallback?: JSX.Element; }>
|
14
|
-
& {
|
15
|
-
preload(props?: Props): void;
|
16
|
-
load(props?: Props): Promise<React.ComponentType<Props>>;
|
17
|
-
}
|
18
|
-
```
|
19
|
-
|
20
|
-
### props
|
21
|
-
|
22
|
-
类型:`object`
|
23
|
-
|
24
|
-
`LoadableComponent` 组件可接收任意 props 参数,这些参数会转发给 loadFn。
|
25
|
-
|
26
|
-
### fallback
|
27
|
-
|
28
|
-
类型:`JSX.Element`
|
29
|
-
|
30
|
-
当组件尚未加载完成(即 loading 阶段)会显示 `fallback` 内容。
|
31
|
-
|
32
|
-
## LoadableComponent.preload
|
33
|
-
|
34
|
-
```ts
|
35
|
-
import loadable from '@modern-js/runtime/loadable'
|
36
|
-
|
37
|
-
const OtherComponent = loadable(() => import('./OtherComponent'))
|
38
|
-
OtherComponent.preload()
|
39
|
-
```
|
40
|
-
|
41
|
-
`preload` 接收的参数会全部传给 `loadFn`。
|
42
|
-
|
43
|
-
:::info 注
|
44
|
-
预加载脚本中函数始终不会返回一个 Promise 对象,如果你想等待组件加载完成,请使用 [load](#LoadableComponent.load) 函数
|
45
|
-
:::
|
46
|
-
|
47
|
-
|
48
|
-
## LoadableComponent.load
|
49
|
-
|
50
|
-
```ts
|
51
|
-
import loadable from '@modern-js/runtime/loadable'
|
52
|
-
|
53
|
-
const OtherComponent = loadable(() => import('./OtherComponent'))
|
54
|
-
OtherComponent.load().then(() => {
|
55
|
-
console.log('Component is loaded!')
|
56
|
-
})
|
57
|
-
```
|
58
|
-
|
59
|
-
:::info 注
|
60
|
-
如果你无需等待组件加载完成,则使用 [preload](#LoadableComponent.preload) 即可。
|
61
|
-
:::
|