@modern-js/main-doc 2.0.2 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- package/.turbo/turbo-build.log +1 -1
- package/en/docusaurus-plugin-content-docs/current/apis/app/commands/index.md +0 -5
- package/en/docusaurus-plugin-content-docs/current/apis/app/commands/lint.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/apis/app/commands/serve.md +2 -4
- package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/api/framework/lambda.md +12 -12
- package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/api/functions/api.md +13 -13
- package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/api/functions/app.md +0 -2
- package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/api/functions/common.md +1 -3
- package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/src/app.md +16 -9
- package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/src/index_.md +0 -1
- package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/src/routes.md +5 -3
- package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/src/server.md +6 -4
- package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/src/stories.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/src/test.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/app/define-config.md +0 -1
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/bff/hook.md +3 -3
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/core/bootstrap.md +3 -6
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/core/create-app.md +1 -3
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/core/use-loader.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/core/use-module-apps.md +58 -51
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/core/use-runtime-context.md +3 -4
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/index.md +0 -5
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/Provider.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/connect.md +8 -5
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/create-store.md +1 -3
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/handle-effect.md +3 -3
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/model_.md +0 -1
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/use-model.md +0 -3
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/use-store.md +0 -2
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/router/router.md +23 -54
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/ssr/no-ssr.md +1 -8
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/ssr/pre-render.md +10 -6
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/testing/render.md +0 -2
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/utility/css-in-js.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/utility/head.md +3 -5
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/utility/loadable.md +14 -15
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/web-server/hook.md +4 -5
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/web-server/middleware.md +7 -6
- package/en/docusaurus-plugin-content-docs/current/components/command-tip.md +3 -2
- package/en/docusaurus-plugin-content-docs/current/components/debug-app.md +17 -0
- package/en/docusaurus-plugin-content-docs/current/components/enable-bff.md +10 -14
- package/en/docusaurus-plugin-content-docs/current/components/enable-micro-frontend.md +4 -4
- package/en/docusaurus-plugin-content-docs/current/components/global-proxy-config.md +6 -9
- package/en/docusaurus-plugin-content-docs/current/components/global-proxy.md +0 -1
- package/en/docusaurus-plugin-content-docs/current/components/micro-master-manifest-config.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/components/micro-runtime-config.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/components/prerequisites.md +19 -0
- package/en/docusaurus-plugin-content-docs/current/components/reduck-migration.md +0 -1
- package/en/docusaurus-plugin-content-docs/current/components/reduck-tip.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/components/router-legacy-tip.md +0 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/auto-load-plugin.md +8 -9
- package/en/docusaurus-plugin-content-docs/current/configure/app/bff/prefix.md +6 -6
- package/en/docusaurus-plugin-content-docs/current/configure/app/bff/proxy.md +8 -9
- package/en/docusaurus-plugin-content-docs/current/configure/app/builder-plugins.md +6 -6
- package/en/docusaurus-plugin-content-docs/current/configure/app/deploy/microFrontend.md +11 -13
- package/en/docusaurus-plugin-content-docs/current/configure/app/dev/asset-prefix.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/dev/hmr.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/dev/https.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/dev/port.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/dev/progress-bar.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/dev/proxy.md +0 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/dev/start-url.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/experiments/lazy-compilation.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/html/app-icon.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/html/crossorigin.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/html/disable-html-folder.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/html/favicon-by-entries.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/html/favicon.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/html/inject-by-entries.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/html/inject.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/html/meta-by-entries.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/html/meta.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/html/mount-id.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/html/tags-by-entries.md +12 -0
- package/en/docusaurus-plugin-content-docs/current/configure/app/html/tags.md +12 -0
- package/en/docusaurus-plugin-content-docs/current/configure/app/html/template-by-entries.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/html/template-parameters-by-entries.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/html/template-parameters.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/html/template.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/html/title-by-entries.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/html/title.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/asset-prefix.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/assets-retry.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/charset.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/clean-dist-path.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/convert-to-rem.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/copy.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/css-module-local-ident-name.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/data-uri-limit.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-css-extract.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-css-module-extension.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-filename-hash.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-inline-runtime-chunk.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-minimize.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-node-polyfill.md +8 -6
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-source-map.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-ts-checker.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/dist-path.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-asset-fallback.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-asset-manifest.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-css-module-tsdeclaration.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-inline-scripts.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-inline-styles.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-latest-decorators.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/externals.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/filename.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/legal-comments.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/override-browserslist.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/polyfill.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/ssg.md +3 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/svg-default-export.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/performance/build-cache.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/performance/bundle-analyze.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/performance/chunk-split.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/performance/print-file-size.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/performance/profile.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/performance/remove-console.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/performance/remove-moment-locale.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/plugins.md +6 -6
- package/en/docusaurus-plugin-content-docs/current/configure/app/runtime/intro.md +11 -10
- package/en/docusaurus-plugin-content-docs/current/configure/app/runtime/master-app.md +1 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/runtime/router.md +7 -7
- package/en/docusaurus-plugin-content-docs/current/configure/app/runtime/state.md +15 -15
- package/en/docusaurus-plugin-content-docs/current/configure/app/security/sri.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/server/base-url.md +3 -4
- package/en/docusaurus-plugin-content-docs/current/configure/app/server/enable-framework-ext.md +5 -4
- package/en/docusaurus-plugin-content-docs/current/configure/app/server/port.md +24 -4
- package/en/docusaurus-plugin-content-docs/current/configure/app/server/public-routes.md +6 -6
- package/en/docusaurus-plugin-content-docs/current/configure/app/server/routes.md +7 -7
- package/en/docusaurus-plugin-content-docs/current/configure/app/server/ssr-by-entries.md +5 -5
- package/en/docusaurus-plugin-content-docs/current/configure/app/server/ssr.md +4 -4
- package/en/docusaurus-plugin-content-docs/current/configure/app/source/alias.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/source/compile-js-data-uri.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/source/config-dir.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/source/define.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/source/design-system.md +656 -634
- package/en/docusaurus-plugin-content-docs/current/configure/app/source/disable-default-entries.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/source/disable-entry-dirs.md +8 -8
- package/en/docusaurus-plugin-content-docs/current/configure/app/source/enable-async-entry.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/source/entries-dir.md +7 -7
- package/en/docusaurus-plugin-content-docs/current/configure/app/source/entries.md +4 -6
- package/en/docusaurus-plugin-content-docs/current/configure/app/source/exclude.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/source/global-vars.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/source/include.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/source/module-scopes.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/source/pre-entry.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/source/resolve-extension-prefix.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/source/resolve-main-fields.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/autoprefixer.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/babel.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/css-extract.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/css-loader.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/dev-server.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/html-plugin.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/inspector.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/jest.md +9 -9
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/less.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/minify-css.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/postcss.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/pug.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/sass.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/style-loader.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/styled-components.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/swc.md +12 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/terser.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/ts-checker.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/ts-loader.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/webpack-chain.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/webpack.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/guides/advanced-features/bff/frameworks.md +6 -6
- package/en/docusaurus-plugin-content-docs/current/guides/advanced-features/bff/function.md +44 -38
- package/en/docusaurus-plugin-content-docs/current/guides/advanced-features/bff/index.md +9 -9
- package/en/docusaurus-plugin-content-docs/current/guides/advanced-features/bff/type.md +0 -1
- package/en/docusaurus-plugin-content-docs/current/guides/advanced-features/code-split.md +3 -4
- package/en/docusaurus-plugin-content-docs/current/guides/advanced-features/compatibility.md +6 -7
- package/en/docusaurus-plugin-content-docs/current/guides/advanced-features/eslint.md +0 -1
- package/en/docusaurus-plugin-content-docs/current/guides/advanced-features/index.md +0 -5
- package/en/docusaurus-plugin-content-docs/current/guides/advanced-features/low-level.md +17 -19
- package/en/docusaurus-plugin-content-docs/current/guides/advanced-features/ssg.md +8 -10
- package/en/docusaurus-plugin-content-docs/current/guides/advanced-features/ssr.md +5 -11
- package/en/docusaurus-plugin-content-docs/current/guides/advanced-features/testing.md +3 -3
- package/en/docusaurus-plugin-content-docs/current/guides/advanced-features/web-server.md +3 -4
- package/en/docusaurus-plugin-content-docs/current/guides/basic-features/alias.md +7 -11
- package/en/docusaurus-plugin-content-docs/current/guides/basic-features/css/css-in-js.md +6 -6
- package/en/docusaurus-plugin-content-docs/current/guides/basic-features/css/css-modules.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/guides/basic-features/css/less-sass.md +1 -2
- package/en/docusaurus-plugin-content-docs/current/guides/basic-features/css/postcss.md +43 -47
- package/en/docusaurus-plugin-content-docs/current/guides/basic-features/css/tailwindcss.md +3 -3
- package/en/docusaurus-plugin-content-docs/current/guides/basic-features/data-fetch.md +106 -192
- package/en/docusaurus-plugin-content-docs/current/guides/basic-features/env-vars.md +8 -8
- package/en/docusaurus-plugin-content-docs/current/guides/basic-features/html.md +55 -47
- package/en/docusaurus-plugin-content-docs/current/guides/basic-features/mock.md +4 -4
- package/en/docusaurus-plugin-content-docs/current/guides/basic-features/proxy.md +4 -5
- package/en/docusaurus-plugin-content-docs/current/guides/basic-features/routes.md +90 -9
- package/en/docusaurus-plugin-content-docs/current/guides/concept/entries.md +1 -2
- package/en/docusaurus-plugin-content-docs/current/guides/get-started/quick-start.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/guides/get-started/upgrade.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/framework-plugin/extend.md +13 -13
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/framework-plugin/hook-list.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/framework-plugin/hook.md +57 -54
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/framework-plugin/implement.md +11 -11
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/framework-plugin/lifecycle.md +0 -1
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/framework-plugin/plugin-api.md +4 -4
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/app.md +33 -33
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/ejs.md +3 -3
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/fs.md +3 -3
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/git.md +3 -2
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/handlebars.md +3 -4
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/json.md +9 -12
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/npm.md +2 -3
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/introduce.md +4 -3
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/run-in-js.md +4 -5
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/structure.md +13 -11
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/config/common.md +18 -27
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/abstract.md +1 -4
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/introduce.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/updateJSONFile.md +4 -5
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/hook/onForged.md +0 -1
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/input/addInputAfter.md +1 -4
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/input/addInputBefore.md +1 -3
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/input/setInput.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/input/type.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/introduce.md +8 -9
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/develop.md +11 -12
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/use.md +8 -8
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/project.md +1 -2
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/micro-frontend/c01-introduction.md +7 -8
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/micro-frontend/c02-development.md +18 -21
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/micro-frontend/c03-main-app.md +41 -44
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/micro-frontend/c04-communicate.md +7 -5
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/micro-frontend/c05-mixed-stack.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/model/auto-actions.md +0 -1
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/model/computed-state.md +0 -2
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/model/define-model.md +3 -6
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/model/faq.md +2 -5
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/model/manage-effects.md +2 -5
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/model/model-communicate.md +1 -4
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/model/performance.md +1 -5
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/model/quick-start.md +0 -6
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/model/redux-integration.md +3 -2
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/model/test-model.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/model/typescript-best-practice.md +13 -14
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/model/use-model.md +14 -12
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/model/use-out-of-modernjs.md +4 -6
- package/en/docusaurus-plugin-content-docs/current/tutorials/first-app/c01-start.md +19 -19
- package/en/docusaurus-plugin-content-docs/current/tutorials/first-app/c02-component.md +11 -11
- package/en/docusaurus-plugin-content-docs/current/tutorials/first-app/c03-css.md +52 -55
- package/en/docusaurus-plugin-content-docs/current/tutorials/first-app/c04-routes.md +23 -23
- package/en/docusaurus-plugin-content-docs/current/tutorials/first-app/c05-loader.md +12 -11
- package/en/docusaurus-plugin-content-docs/current/tutorials/first-app/c06-model.md +28 -28
- package/en/docusaurus-plugin-content-docs/current/tutorials/first-app/c07-container.md +25 -26
- package/en/docusaurus-plugin-content-docs/current/tutorials/first-app/c08-entries.md +36 -38
- package/en/docusaurus-plugin-content-docs/current.json +3 -47
- package/package.json +3 -3
- package/scripts/config.ts +4 -2
- package/scripts/summary.en.json +1 -1
- package/scripts/summary.zh.json +1 -1
- package/scripts/sync.ts +1 -1
- package/zh/apis/app/commands/index.md +0 -5
- package/zh/apis/app/commands/lint.md +1 -1
- package/zh/apis/app/commands/serve.md +2 -4
- package/zh/apis/app/hooks/api/framework/lambda.md +12 -12
- package/zh/apis/app/hooks/api/functions/api.md +13 -13
- package/zh/apis/app/hooks/api/functions/app.md +0 -2
- package/zh/apis/app/hooks/api/functions/common.md +1 -1
- package/zh/apis/app/hooks/index.md +0 -5
- package/zh/apis/app/hooks/shared.md +0 -1
- package/zh/apis/app/hooks/src/app.md +16 -9
- package/zh/apis/app/hooks/src/index_.md +0 -2
- package/zh/apis/app/hooks/src/routes.md +6 -7
- package/zh/apis/app/hooks/src/server.md +6 -4
- package/zh/apis/app/hooks/src/stories.md +1 -1
- package/zh/apis/app/hooks/src/test.md +1 -1
- package/zh/apis/app/runtime/app/define-config.md +1 -2
- package/zh/apis/app/runtime/bff/hook.md +3 -3
- package/zh/apis/app/runtime/core/bootstrap.md +2 -3
- package/zh/apis/app/runtime/core/use-loader.md +2 -2
- package/zh/apis/app/runtime/core/use-module-apps.md +53 -50
- package/zh/apis/app/runtime/core/use-runtime-context.md +3 -4
- package/zh/apis/app/runtime/index.md +0 -5
- package/zh/apis/app/runtime/model/Provider.md +1 -0
- package/zh/apis/app/runtime/model/auto-actions.md +1 -1
- package/zh/apis/app/runtime/model/connect.md +9 -5
- package/zh/apis/app/runtime/model/create-app.md +3 -3
- package/zh/apis/app/runtime/model/create-store.md +2 -4
- package/zh/apis/app/runtime/model/handle-effect.md +3 -4
- package/zh/apis/app/runtime/model/model_.md +0 -3
- package/zh/apis/app/runtime/model/use-local-model.md +0 -1
- package/zh/apis/app/runtime/model/use-store.md +0 -2
- package/zh/apis/app/runtime/router/router.md +23 -53
- package/zh/apis/app/runtime/ssr/no-ssr.md +1 -5
- package/zh/apis/app/runtime/ssr/pre-render.md +10 -6
- package/zh/apis/app/runtime/testing/cleanup.md +2 -2
- package/zh/apis/app/runtime/testing/render.md +0 -2
- package/zh/apis/app/runtime/utility/css-in-js.md +2 -2
- package/zh/apis/app/runtime/utility/head.md +3 -5
- package/zh/apis/app/runtime/utility/loadable.md +14 -15
- package/zh/apis/app/runtime/web-server/hook.md +5 -4
- package/zh/apis/app/runtime/web-server/middleware.md +8 -6
- package/zh/apis/monorepo/commands/bump.md +1 -1
- package/zh/apis/monorepo/commands/change.md +3 -2
- package/zh/apis/monorepo/commands/gen-release-note.md +1 -2
- package/zh/apis/monorepo/commands/index.md +1 -6
- package/zh/apis/monorepo/commands/lint.md +1 -1
- package/zh/apis/monorepo/commands/release.md +0 -1
- package/zh/apis/monorepo/hooks/index.md +1 -6
- package/zh/components/command-tip.md +3 -2
- package/zh/components/enable-bff.md +10 -14
- package/zh/components/enable-micro-frontend.md +4 -4
- package/zh/components/global-proxy-config.md +6 -9
- package/zh/components/global-proxy.md +0 -1
- package/zh/components/init-app.md +0 -1
- package/zh/components/micro-master-manifest-config.md +2 -2
- package/zh/components/micro-runtime-config.md +1 -1
- package/zh/components/reduck-migration.md +0 -1
- package/zh/components/router-legacy-tip.md +0 -1
- package/zh/configure/app/auto-load-plugin.md +9 -10
- package/zh/configure/app/bff/prefix.md +6 -10
- package/zh/configure/app/bff/proxy.md +9 -8
- package/zh/configure/app/builder-plugins.md +6 -6
- package/zh/configure/app/deploy/microFrontend.md +11 -11
- package/zh/configure/app/dev/asset-prefix.md +2 -2
- package/zh/configure/app/dev/hmr.md +2 -2
- package/zh/configure/app/dev/https.md +2 -2
- package/zh/configure/app/dev/port.md +2 -2
- package/zh/configure/app/dev/progress-bar.md +2 -2
- package/zh/configure/app/dev/proxy.md +0 -1
- package/zh/configure/app/dev/start-url.md +2 -2
- package/zh/configure/app/experiments/lazy-compilation.md +2 -2
- package/zh/configure/app/html/app-icon.md +2 -2
- package/zh/configure/app/html/crossorigin.md +2 -2
- package/zh/configure/app/html/disable-html-folder.md +2 -2
- package/zh/configure/app/html/favicon-by-entries.md +2 -2
- package/zh/configure/app/html/favicon.md +2 -2
- package/zh/configure/app/html/inject-by-entries.md +2 -2
- package/zh/configure/app/html/inject.md +2 -2
- package/zh/configure/app/html/meta-by-entries.md +2 -2
- package/zh/configure/app/html/meta.md +2 -2
- package/zh/configure/app/html/mount-id.md +2 -2
- package/zh/configure/app/html/tags-by-entries.md +12 -0
- package/zh/configure/app/html/tags.md +12 -0
- package/zh/configure/app/html/template-by-entries.md +2 -2
- package/zh/configure/app/html/template-parameters-by-entries.md +2 -2
- package/zh/configure/app/html/template-parameters.md +2 -2
- package/zh/configure/app/html/template.md +2 -2
- package/zh/configure/app/html/title-by-entries.md +2 -2
- package/zh/configure/app/html/title.md +2 -2
- package/zh/configure/app/output/asset-prefix.md +2 -2
- package/zh/configure/app/output/assets-retry.md +2 -2
- package/zh/configure/app/output/charset.md +2 -2
- package/zh/configure/app/output/clean-dist-path.md +2 -2
- package/zh/configure/app/output/convert-to-rem.md +2 -2
- package/zh/configure/app/output/copy.md +2 -2
- package/zh/configure/app/output/css-module-local-ident-name.md +2 -2
- package/zh/configure/app/output/data-uri-limit.md +2 -2
- package/zh/configure/app/output/disable-css-extract.md +2 -2
- package/zh/configure/app/output/disable-css-module-extension.md +2 -2
- package/zh/configure/app/output/disable-filename-hash.md +2 -2
- package/zh/configure/app/output/disable-inline-runtime-chunk.md +2 -2
- package/zh/configure/app/output/disable-minimize.md +2 -2
- package/zh/configure/app/output/disable-node-polyfill.md +8 -8
- package/zh/configure/app/output/disable-source-map.md +2 -2
- package/zh/configure/app/output/disable-ts-checker.md +2 -2
- package/zh/configure/app/output/dist-path.md +2 -2
- package/zh/configure/app/output/enable-asset-fallback.md +2 -2
- package/zh/configure/app/output/enable-asset-manifest.md +2 -2
- package/zh/configure/app/output/enable-css-module-tsdeclaration.md +2 -2
- package/zh/configure/app/output/enable-inline-scripts.md +2 -2
- package/zh/configure/app/output/enable-inline-styles.md +2 -2
- package/zh/configure/app/output/enable-latest-decorators.md +2 -2
- package/zh/configure/app/output/externals.md +2 -2
- package/zh/configure/app/output/filename.md +2 -2
- package/zh/configure/app/output/legal-comments.md +2 -2
- package/zh/configure/app/output/override-browserslist.md +2 -2
- package/zh/configure/app/output/polyfill.md +2 -2
- package/zh/configure/app/output/ssg.md +3 -2
- package/zh/configure/app/output/svg-default-export.md +2 -2
- package/zh/configure/app/performance/build-cache.md +2 -2
- package/zh/configure/app/performance/bundle-analyze.md +2 -2
- package/zh/configure/app/performance/chunk-split.md +2 -2
- package/zh/configure/app/performance/print-file-size.md +2 -2
- package/zh/configure/app/performance/profile.md +2 -2
- package/zh/configure/app/performance/remove-console.md +2 -2
- package/zh/configure/app/performance/remove-moment-locale.md +2 -2
- package/zh/configure/app/plugins.md +6 -6
- package/zh/configure/app/runtime/intro.md +39 -11
- package/zh/configure/app/runtime/master-app.md +1 -2
- package/zh/configure/app/runtime/router.md +6 -7
- package/zh/configure/app/runtime/state.md +15 -16
- package/zh/configure/app/security/sri.md +2 -2
- package/zh/configure/app/server/base-url.md +3 -6
- package/zh/configure/app/server/enable-framework-ext.md +5 -4
- package/zh/configure/app/server/port.md +24 -6
- package/zh/configure/app/server/public-routes.md +6 -8
- package/zh/configure/app/server/routes.md +6 -6
- package/zh/configure/app/server/ssr-by-entries.md +5 -8
- package/zh/configure/app/server/ssr.md +4 -5
- package/zh/configure/app/source/alias.md +2 -2
- package/zh/configure/app/source/compile-js-data-uri.md +2 -2
- package/zh/configure/app/source/config-dir.md +2 -2
- package/zh/configure/app/source/define.md +2 -2
- package/zh/configure/app/source/design-system.md +656 -630
- package/zh/configure/app/source/disable-default-entries.md +3 -3
- package/zh/configure/app/source/disable-entry-dirs.md +8 -7
- package/zh/configure/app/source/enable-async-entry.md +3 -3
- package/zh/configure/app/source/entries-dir.md +7 -7
- package/zh/configure/app/source/entries.md +5 -6
- package/zh/configure/app/source/exclude.md +2 -2
- package/zh/configure/app/source/global-vars.md +2 -2
- package/zh/configure/app/source/include.md +2 -2
- package/zh/configure/app/source/module-scopes.md +2 -2
- package/zh/configure/app/source/pre-entry.md +2 -2
- package/zh/configure/app/source/resolve-extension-prefix.md +2 -2
- package/zh/configure/app/source/resolve-main-fields.md +2 -2
- package/zh/configure/app/testing/transformer.md +2 -3
- package/zh/configure/app/tools/autoprefixer.md +2 -2
- package/zh/configure/app/tools/babel.md +2 -2
- package/zh/configure/app/tools/css-extract.md +2 -2
- package/zh/configure/app/tools/css-loader.md +2 -2
- package/zh/configure/app/tools/dev-server.md +2 -2
- package/zh/configure/app/tools/html-plugin.md +2 -2
- package/zh/configure/app/tools/inspector.md +2 -2
- package/zh/configure/app/tools/jest.md +9 -9
- package/zh/configure/app/tools/less.md +2 -2
- package/zh/configure/app/tools/minify-css.md +2 -2
- package/zh/configure/app/tools/postcss.md +2 -2
- package/zh/configure/app/tools/pug.md +2 -2
- package/zh/configure/app/tools/sass.md +2 -2
- package/zh/configure/app/tools/style-loader.md +2 -2
- package/zh/configure/app/tools/styled-components.md +2 -2
- package/zh/configure/app/tools/swc.md +12 -1
- package/zh/configure/app/tools/terser.md +2 -2
- package/zh/configure/app/tools/ts-checker.md +2 -2
- package/zh/configure/app/tools/ts-loader.md +2 -2
- package/zh/configure/app/tools/webpack-chain.md +2 -2
- package/zh/configure/app/tools/webpack.md +2 -2
- package/zh/guides/advanced-features/bff/frameworks.md +6 -6
- package/zh/guides/advanced-features/bff/function.md +49 -44
- package/zh/guides/advanced-features/bff/index.md +9 -9
- package/zh/guides/advanced-features/bff/type.md +0 -1
- package/zh/guides/advanced-features/code-split.md +3 -3
- package/zh/guides/advanced-features/compatibility.md +6 -7
- package/zh/guides/advanced-features/eslint.md +0 -1
- package/zh/guides/advanced-features/index.md +0 -5
- package/zh/guides/advanced-features/low-level.md +17 -19
- package/zh/guides/advanced-features/ssg.md +8 -9
- package/zh/guides/advanced-features/ssr.md +5 -11
- package/zh/guides/advanced-features/testing.md +3 -2
- package/zh/guides/advanced-features/web-server.md +3 -4
- package/zh/guides/basic-features/alias.md +7 -11
- package/zh/guides/basic-features/css/css-in-js.md +5 -5
- package/zh/guides/basic-features/css/css-modules.md +2 -2
- package/zh/guides/basic-features/css/postcss.md +42 -46
- package/zh/guides/basic-features/css/tailwindcss.md +5 -5
- package/zh/guides/basic-features/data-fetch.md +109 -192
- package/zh/guides/basic-features/env-vars.md +7 -6
- package/zh/guides/basic-features/html.md +54 -46
- package/zh/guides/basic-features/index.md +0 -5
- package/zh/guides/basic-features/mock.md +4 -4
- package/zh/guides/basic-features/proxy.md +4 -5
- package/zh/guides/basic-features/routes.md +105 -18
- package/zh/guides/concept/entries.md +5 -7
- package/zh/guides/get-started/quick-start.md +3 -4
- package/zh/guides/topic-detail/changesets/add.md +1 -3
- package/zh/guides/topic-detail/changesets/changelog.md +30 -31
- package/zh/guides/topic-detail/changesets/commit.md +44 -45
- package/zh/guides/topic-detail/changesets/config.md +2 -1
- package/zh/guides/topic-detail/changesets/github.md +6 -10
- package/zh/guides/topic-detail/changesets/introduce.md +0 -1
- package/zh/guides/topic-detail/changesets/release-note.md +9 -12
- package/zh/guides/topic-detail/changesets/release-pre.md +1 -1
- package/zh/guides/topic-detail/framework-plugin/extend.md +13 -13
- package/zh/guides/topic-detail/framework-plugin/hook-list.md +2 -2
- package/zh/guides/topic-detail/framework-plugin/hook.md +57 -54
- package/zh/guides/topic-detail/framework-plugin/implement.md +11 -11
- package/zh/guides/topic-detail/framework-plugin/plugin-api.md +4 -4
- package/zh/guides/topic-detail/generator/codesmith/api/app.md +36 -36
- package/zh/guides/topic-detail/generator/codesmith/api/ejs.md +2 -2
- package/zh/guides/topic-detail/generator/codesmith/api/fs.md +2 -2
- package/zh/guides/topic-detail/generator/codesmith/api/git.md +3 -2
- package/zh/guides/topic-detail/generator/codesmith/api/handlebars.md +2 -2
- package/zh/guides/topic-detail/generator/codesmith/api/json.md +9 -11
- package/zh/guides/topic-detail/generator/codesmith/api/npm.md +4 -2
- package/zh/guides/topic-detail/generator/codesmith/introduce.md +20 -7
- package/zh/guides/topic-detail/generator/codesmith/run-in-js.md +4 -5
- package/zh/guides/topic-detail/generator/codesmith/structure.md +13 -10
- package/zh/guides/topic-detail/generator/config/common.md +18 -27
- package/zh/guides/topic-detail/generator/plugin/abstract.md +1 -1
- package/zh/guides/topic-detail/generator/plugin/api/file/introduce.md +1 -0
- package/zh/guides/topic-detail/generator/plugin/api/file/updateJSONFile.md +4 -4
- package/zh/guides/topic-detail/generator/plugin/api/info/locale.md +1 -1
- package/zh/guides/topic-detail/generator/plugin/api/input/addInputAfter.md +2 -2
- package/zh/guides/topic-detail/generator/plugin/api/input/addInputBefore.md +3 -4
- package/zh/guides/topic-detail/generator/plugin/api/input/setInput.md +1 -1
- package/zh/guides/topic-detail/generator/plugin/api/input/type.md +1 -1
- package/zh/guides/topic-detail/generator/plugin/api/introduce.md +8 -9
- package/zh/guides/topic-detail/generator/plugin/develop.md +13 -13
- package/zh/guides/topic-detail/generator/plugin/use.md +8 -8
- package/zh/guides/topic-detail/generator/project.md +1 -1
- package/zh/guides/topic-detail/micro-frontend/c01-introduction.md +7 -8
- package/zh/guides/topic-detail/micro-frontend/c02-development.md +20 -23
- package/zh/guides/topic-detail/micro-frontend/c03-main-app.md +41 -44
- package/zh/guides/topic-detail/micro-frontend/c04-communicate.md +7 -5
- package/zh/guides/topic-detail/micro-frontend/c05-mixed-stack.md +1 -1
- package/zh/guides/topic-detail/model/auto-actions.md +0 -1
- package/zh/guides/topic-detail/model/computed-state.md +0 -2
- package/zh/guides/topic-detail/model/define-model.md +3 -6
- package/zh/guides/topic-detail/model/faq.md +2 -5
- package/zh/guides/topic-detail/model/manage-effects.md +2 -5
- package/zh/guides/topic-detail/model/model-communicate.md +1 -4
- package/zh/guides/topic-detail/model/performance.md +1 -5
- package/zh/guides/topic-detail/model/quick-start.md +0 -6
- package/zh/guides/topic-detail/model/redux-integration.md +3 -2
- package/zh/guides/topic-detail/model/test-model.md +1 -1
- package/zh/guides/topic-detail/model/typescript-best-practice.md +13 -14
- package/zh/guides/topic-detail/model/use-model.md +14 -12
- package/zh/guides/topic-detail/model/use-out-of-modernjs.md +4 -6
- package/zh/guides/topic-detail/monorepo/intro.md +0 -1
- package/zh/guides/topic-detail/monorepo/sub-project-interface.md +14 -7
- package/zh/tutorials/first-app/c01-start.md +2 -2
- package/zh/tutorials/first-app/c03-css.md +6 -9
- package/zh/tutorials/first-app/c04-routes.md +1 -1
- package/zh/tutorials/first-app/c05-loader.md +2 -1
- package/zh/tutorials/first-app/c07-container.md +6 -7
- package/zh/tutorials/first-app/c08-entries.md +5 -7
@@ -67,32 +67,32 @@ Modern.js 中,BFF 函数对应的路由系统是基于文件系统实现的,
|
|
67
67
|
|
68
68
|
以 `index.[jt]s` 命名的文件会被映射到上一层目录。
|
69
69
|
|
70
|
-
|
71
|
-
|
70
|
+
- `api/index.ts` -> `{prefix}/`
|
71
|
+
- `api/user/index.ts` -> `{prefix}/user`
|
72
72
|
|
73
73
|
### 多层路由
|
74
74
|
|
75
75
|
支持解析嵌套的文件,如果创建嵌套文件夹结构,文件仍会以相同方式自动解析路由。
|
76
76
|
|
77
|
-
|
78
|
-
|
77
|
+
- `api/hello.ts` -> `{prefix}/hello`
|
78
|
+
- `api/user/list.ts` -> `{prefix}/user/list`
|
79
79
|
|
80
80
|
### 动态路由
|
81
81
|
|
82
82
|
同样的,创建命名带有 `[xxx]` 的文件夹或者文件,支持动态的命名路由参数。动态路由的函数参数规则可以看 [dynamac-path](/docs/guides/advanced-features/bff/function#dynamic-path)
|
83
83
|
|
84
|
-
|
85
|
-
|
84
|
+
- `api/user/[username]/info.ts` -> `{prefix}/user/:username/info`
|
85
|
+
- `api/user/username/[action].ts` -> `{prefix}/user/username/:action`
|
86
86
|
|
87
87
|
### 白名单
|
88
88
|
|
89
89
|
默认 `api/` 目录下所有文件都会当作 BFF 函数文件去解析,但以下文件不会被解析:
|
90
90
|
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
91
|
+
- 命名以 `_` 开头的文件。例如:`_utils.ts`。
|
92
|
+
- 命名以 `_` 开头的文件夹下所有文件。例如:`_utils/index.ts`、`_utils/cp.ts`。
|
93
|
+
- 测试文件。例如:`foo.test.ts`。
|
94
|
+
- TypeScript 类型文件。例如:`hello.d.ts`。
|
95
|
+
- `node_module` 下的文件。
|
96
96
|
|
97
97
|
## RESTful API
|
98
98
|
|
@@ -130,11 +130,11 @@ export const post = async () => {
|
|
130
130
|
};
|
131
131
|
```
|
132
132
|
|
133
|
-
|
133
|
+
- 对应 HTTP Method,Modern.js 也支持了 9 种定义,即:`GET`、`POST`、`PUT`、`DELETE`、`CONNECT`、`TRACE`、`PATCH`、`OPTION`、`HEAD`,即可以用这些 Method 作为函数导出的名字。
|
134
134
|
|
135
|
-
|
135
|
+
- 名字是大小不敏感的,如果是 `GET`,写成 `get`、`Get`、`GEt`、`GET`,都可以准确识别。而默认导出,即 `export default xxx` 则会被映射为 `Get`。
|
136
136
|
|
137
|
-
|
137
|
+
- 可以在一个文件中定义多个不同 Method 的函数,但如果定义多个相同 Method 的函数,则只有第一个会生效。
|
138
138
|
|
139
139
|
:::info 注
|
140
140
|
需要注意的是,定义的函数都应该是异步的,与函数调用时类型有关,后面会提到。
|
@@ -153,27 +153,25 @@ export const post = async () => {
|
|
153
153
|
```ts title="api/[level]/[id].ts"
|
154
154
|
export default async (level: number, id: number) => {
|
155
155
|
const userData = await queryUser(level, uid);
|
156
|
-
return userData
|
157
|
-
}
|
156
|
+
return userData;
|
157
|
+
};
|
158
158
|
```
|
159
159
|
|
160
160
|
在调用时直接传入动态参数:
|
161
161
|
|
162
162
|
```ts title="App.tsx"
|
163
|
-
import { useState, useEffect } from 'react'
|
164
|
-
import { get as getUser } from '@api/[level]/[id]'
|
163
|
+
import { useState, useEffect } from 'react';
|
164
|
+
import { get as getUser } from '@api/[level]/[id]';
|
165
165
|
|
166
166
|
export default () => {
|
167
|
-
const [name, setName] = useState('')
|
167
|
+
const [name, setName] = useState('');
|
168
168
|
|
169
169
|
useEffect(() => {
|
170
|
-
getUser(6, 001).then(
|
171
|
-
|
172
|
-
)
|
173
|
-
}, [])
|
170
|
+
getUser(6, 001).then(userData => setName(userData.name));
|
171
|
+
}, []);
|
174
172
|
|
175
|
-
return <div>{name}</div
|
176
|
-
}
|
173
|
+
return <div>{name}</div>;
|
174
|
+
};
|
177
175
|
```
|
178
176
|
|
179
177
|
#### RequestOption
|
@@ -183,29 +181,29 @@ Dynamic Path 之后的参数是包含 querystring、request body 的对象 `Requ
|
|
183
181
|
在不存在动态路由的普通函数中,可以从第一个入参中获取传入的 `data` 和 `query`,例如:
|
184
182
|
|
185
183
|
```ts title="api/hello.ts"
|
186
|
-
import type { RequestOption } from '@modern-js/runtime/server'
|
184
|
+
import type { RequestOption } from '@modern-js/runtime/server';
|
187
185
|
|
188
|
-
export async function post(
|
189
|
-
|
190
|
-
|
186
|
+
export async function post({
|
187
|
+
query,
|
188
|
+
data,
|
189
|
+
}: RequestOption<Record<string, string>, Record<string, string>>) {
|
191
190
|
// do somethings
|
192
191
|
}
|
193
192
|
```
|
194
193
|
|
195
194
|
这里你也可以使用自定义类型:
|
195
|
+
|
196
196
|
```ts title="api/lambda/hello.ts"
|
197
|
-
import type { RequestOption } from '@modern-js/runtime/server'
|
197
|
+
import type { RequestOption } from '@modern-js/runtime/server';
|
198
198
|
|
199
199
|
type IQuery = {
|
200
200
|
// some types
|
201
|
-
}
|
201
|
+
};
|
202
202
|
type IData = {
|
203
203
|
// some types
|
204
|
-
}
|
204
|
+
};
|
205
205
|
|
206
|
-
export async function post(
|
207
|
-
{ query, data }: { query:IQuery, data:IData }
|
208
|
-
) {
|
206
|
+
export async function post({ query, data }: { query: IQuery; data: IData }) {
|
209
207
|
// do somethings
|
210
208
|
}
|
211
209
|
```
|
@@ -216,7 +214,10 @@ export async function post(
|
|
216
214
|
export async function post(
|
217
215
|
sku: string,
|
218
216
|
id: string,
|
219
|
-
{
|
217
|
+
{
|
218
|
+
data,
|
219
|
+
query,
|
220
|
+
}: RequestOption<Record<string, string>, Record<string, string>>,
|
220
221
|
) {
|
221
222
|
// do somethings
|
222
223
|
}
|
@@ -225,18 +226,22 @@ export async function post(
|
|
225
226
|
调用时也按照函数定义,传入对应的参数即可:
|
226
227
|
|
227
228
|
```ts title="App.tsx"
|
228
|
-
import { post } from '@api/[sku]/[id]/item'
|
229
|
+
import { post } from '@api/[sku]/[id]/item';
|
229
230
|
|
230
231
|
export default () => {
|
231
232
|
const addSku = () => {
|
232
|
-
post('0001'/* sku */, '1234' /* id */, {
|
233
|
-
query: {
|
234
|
-
|
235
|
-
|
236
|
-
|
233
|
+
post('0001' /* sku */, '1234' /* id */, {
|
234
|
+
query: {
|
235
|
+
/* ... */
|
236
|
+
},
|
237
|
+
data: {
|
238
|
+
/* ... */
|
239
|
+
},
|
240
|
+
});
|
241
|
+
};
|
237
242
|
|
238
|
-
return <div onClick={addSku}>添加 SKU</div
|
239
|
-
}
|
243
|
+
return <div onClick={addSku}>添加 SKU</div>;
|
244
|
+
};
|
240
245
|
```
|
241
246
|
|
242
247
|
之前提到,定义的函数都应该是异步的,是因为在前端调用时会自动转换成 HTTP 接口调用,所以为了保持类型定义与实际调用体验统一,需要在定义 BFF 函数时将它设置为异步。
|
@@ -6,15 +6,15 @@ title: BFF
|
|
6
6
|
|
7
7
|
它主要为了解决的问题包括:
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
9
|
+
- 根据自身业务需求,对更底层 API 的聚合、映射、裁剪、代理。
|
10
|
+
- 对一些特定场景的数据进行缓存,提高性能,进而提升用户体验。
|
11
|
+
- 根据已有接口快速开发新产品。
|
12
|
+
- 与第三方系统对接,例如登陆鉴权。
|
13
13
|
|
14
14
|
Modern.js 官方支持了 BFF,并提供了**一体化 BFF 方案**来进一步强化 BFF 能力,主要包括以下能力:
|
15
15
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
16
|
+
- 快速开发调试上线,在同一项目中运行、构建、部署 BFF 代码。
|
17
|
+
- 极简的纯函数调用,在前端直接 import BFF 函数,调用时能自动转换成 HTTP 请求。
|
18
|
+
- 无私有协议,遵循 RESTful API 规范,所有 BFF 接口都是标准化的。
|
19
|
+
- 完善的 TypeScript 支持。
|
20
|
+
- 满足用户使用偏好,支持多框架扩展写法。
|
@@ -18,7 +18,7 @@ sidebar_position: 6
|
|
18
18
|
使用动态 `import()` 语法,`import` 接收的 JS 模块将作为一个新的打包入口被打包到单独的 JS 文件中。例如:
|
19
19
|
|
20
20
|
```ts
|
21
|
-
import(
|
21
|
+
import('./math').then(math => {
|
22
22
|
console.log(math.add(16, 26));
|
23
23
|
});
|
24
24
|
```
|
@@ -60,12 +60,12 @@ function MyComponent() {
|
|
60
60
|
使用 `loadable` API,示例如下:
|
61
61
|
|
62
62
|
```ts
|
63
|
-
import loadable from '@modern-js/runtime/loadable'
|
63
|
+
import loadable from '@modern-js/runtime/loadable';
|
64
64
|
|
65
65
|
const OtherComponent = loadable(() => import('./OtherComponent'));
|
66
66
|
|
67
67
|
function MyComponent() {
|
68
|
-
return <OtherComponent
|
68
|
+
return <OtherComponent />;
|
69
69
|
}
|
70
70
|
```
|
71
71
|
|
@@ -10,7 +10,7 @@ Modern.js 支持在项目根目录 `package.json` 文件中的 `browserslist`
|
|
10
10
|
Modern.js 中默认值如下:
|
11
11
|
|
12
12
|
```js
|
13
|
-
['> 0.01%', 'not dead', 'not op_mini all']
|
13
|
+
['> 0.01%', 'not dead', 'not op_mini all'];
|
14
14
|
```
|
15
15
|
|
16
16
|
可以在[这里](https://github.com/browserslist/browserslist)了解如何自定义浏览器范围。
|
@@ -21,7 +21,6 @@ Modern.js 中默认值如下:
|
|
21
21
|
Modern.js 支持配置 [output.overrideBrowserlist](/docs/configure/app/output/override-browserslist) 覆盖默认 browserlist 值。
|
22
22
|
:::
|
23
23
|
|
24
|
-
|
25
24
|
## Polyfill
|
26
25
|
|
27
26
|
### 编译时 Polyfill
|
@@ -38,8 +37,8 @@ Modern.js 在编译时默认通过 [core-js](https://github.com/zloirock/core-js
|
|
38
37
|
|
39
38
|
Modern.js 中还提供了基于浏览器 [UA](https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/User-Agent) 信息的运行时按需 Polyfill 方案,相比于 Babel 优势如下:
|
40
39
|
|
41
|
-
|
42
|
-
|
40
|
+
- 不会插入到代码中,只根据访问页面的设备,按需下发 Polyfill 代码 ,减少整体代码体积。
|
41
|
+
- 相同浏览器会公用一份 Polyfill 代码。因此,随着项目越来越多,基于 UA 的 Polyfill 代码下发速度会越来越快,综合速度超过常规方案。
|
43
42
|
|
44
43
|
可以通过微生成器开启该功能:
|
45
44
|
|
@@ -51,11 +50,11 @@ Modern.js 中还提供了基于浏览器 [UA](https://developer.mozilla.org/zh-C
|
|
51
50
|
执行命令后,在 `modern.config.ts` 中注册 Polyfill 插件:
|
52
51
|
|
53
52
|
```ts title="modern.config.ts"
|
54
|
-
import
|
53
|
+
import polyfillPlugin from '@modern-js/plugin-polyfill';
|
54
|
+
|
55
55
|
// https://modernjs.dev/docs/apis/app/config
|
56
56
|
export default defineConfig({
|
57
|
-
...,
|
58
|
-
plugins: [..., PolyfillPlugin()],
|
57
|
+
plugins: [..., polyfillPlugin()],
|
59
58
|
});
|
60
59
|
```
|
61
60
|
|
@@ -9,14 +9,12 @@ Modern.js 内部默认集成了 [Babel](https://babeljs.io/)、[TypeScript](http
|
|
9
9
|
|
10
10
|
以配置 Webpack 为例,只需要在 `modern.config.ts` 中添加 [`tools.webpack`](/docs/configure/app/tools/webpack) 即可:
|
11
11
|
|
12
|
-
```
|
12
|
+
```ts title="modern.config.ts"
|
13
13
|
export default defineConfig({
|
14
14
|
tools: {
|
15
|
-
webpack: config => {
|
16
|
-
|
17
|
-
|
18
|
-
}
|
19
|
-
})
|
15
|
+
webpack: config => {},
|
16
|
+
},
|
17
|
+
});
|
20
18
|
```
|
21
19
|
|
22
20
|
`tools` 命名空间下的配置都可以设置为 `Object` 或者 `Function`。
|
@@ -29,16 +27,16 @@ export default defineConfig({
|
|
29
27
|
|
30
28
|
目前提供的底层配置如下表:
|
31
29
|
|
32
|
-
| 底层工具
|
33
|
-
|
|
34
|
-
| DevServer
|
35
|
-
| Babel
|
36
|
-
| styled-components | [tools.styledComponents](/docs/configure/app/tools/styled-components)|
|
37
|
-
| PostCSS
|
38
|
-
| Less
|
39
|
-
| Sass
|
40
|
-
| webpack
|
41
|
-
| Minify CSS
|
42
|
-
| terser
|
43
|
-
| Tailwind CSS
|
44
|
-
| Autoprefixer
|
30
|
+
| 底层工具 | 配置 |
|
31
|
+
| ----------------- | --------------------------------------------------------------------- |
|
32
|
+
| DevServer | [tools.devServer](/docs/configure/app/tools/dev-server) |
|
33
|
+
| Babel | [tools.babel](/docs/configure/app/tools/babel) |
|
34
|
+
| styled-components | [tools.styledComponents](/docs/configure/app/tools/styled-components) |
|
35
|
+
| PostCSS | [tools.postcss](/docs/configure/app/tools/postcss) |
|
36
|
+
| Less | [tools.less](/docs/configure/app/tools/less) |
|
37
|
+
| Sass | [tools.sass](/docs/configure/app/tools/sass) |
|
38
|
+
| webpack | [tools.webpack](/docs/configure/app/tools/webpack) |
|
39
|
+
| Minify CSS | [tools.minifyCss](/docs/configure/app/tools/minify-css) |
|
40
|
+
| terser | [tools.terser](/docs/configure/app/tools/terser) |
|
41
|
+
| Tailwind CSS | [tools.tailwind](/docs/configure/app/tools/tailwindcss) |
|
42
|
+
| Autoprefixer | [tools.autoprefixer](/docs/configure/app/tools/autoprefixer) |
|
@@ -15,15 +15,14 @@ SSG(Static Site Generation)是一种基于数据与模板,在构建时渲
|
|
15
15
|
执行命令后,在 `modern.config.ts` 中注册 SSG 插件:
|
16
16
|
|
17
17
|
```ts title="modern.config.ts"
|
18
|
-
import
|
18
|
+
import ssgPlugin from '@modern-js/plugin-ssg';
|
19
|
+
|
19
20
|
// https://modernjs.dev/docs/apis/app/config
|
20
21
|
export default defineConfig({
|
21
|
-
...,
|
22
22
|
output: {
|
23
|
-
...,
|
24
23
|
ssg: true,
|
25
24
|
},
|
26
|
-
plugins: [...,
|
25
|
+
plugins: [..., ssgPlugin()],
|
27
26
|
});
|
28
27
|
```
|
29
28
|
|
@@ -62,13 +61,13 @@ SSG 在**约定式路由**和**自控式路由**下的使用方式不同。
|
|
62
61
|
|
63
62
|
```jsx title="src/routes/page.tsx"
|
64
63
|
export default () => {
|
65
|
-
return
|
66
|
-
}
|
64
|
+
return <div>Index Page</div>;
|
65
|
+
};
|
67
66
|
```
|
68
67
|
|
69
68
|
SSG 也是在 Node.js 环境渲染页面,因此我们可以在**开发阶段开启 SSR**,提前在暴露代码问题,验证 SSG 渲染效果:
|
70
69
|
|
71
|
-
```
|
70
|
+
```ts title="modern.config.ts"
|
72
71
|
export default defineConfig({
|
73
72
|
server: {
|
74
73
|
ssr: process.env.NODE_ENV === 'development',
|
@@ -112,14 +111,14 @@ export default () => {
|
|
112
111
|
|
113
112
|
如果我们希望同时开启 `/about` 的 SSG 功能,可以配置 `output.ssg`,告知 Modern.js 开启指定路由的 SSG 功能。
|
114
113
|
|
115
|
-
```
|
114
|
+
```ts title="modern.config.ts"
|
116
115
|
export default defineConfig({
|
117
116
|
output: {
|
118
117
|
ssg: {
|
119
118
|
routes: ['/', '/about'],
|
120
119
|
},
|
121
120
|
},
|
122
|
-
})
|
121
|
+
});
|
123
122
|
```
|
124
123
|
|
125
124
|
执行 `pnpm run build` 与 `pnpm run serve` 后,访问 `http://localhost:8080/about`,在 Preview 视图中可以看到页面已经完成渲染。
|
@@ -33,7 +33,7 @@ export const loader = () => {
|
|
33
33
|
export default () => {
|
34
34
|
const data = useLoaderData();
|
35
35
|
return <div>{data.message}</div>;
|
36
|
-
}
|
36
|
+
};
|
37
37
|
```
|
38
38
|
|
39
39
|
Modern.js 打破传统的 SSR 开发模式,提供了用户无感的 SSR 开发体验。并且提供了优雅的降级处理,一旦 SSR 请求失败,会自动降级在浏览器端重新发起请求。
|
@@ -52,11 +52,7 @@ Modern.js 打破传统的 SSR 开发模式,提供了用户无感的 SSR 开发
|
|
52
52
|
|
53
53
|
```tsx
|
54
54
|
{
|
55
|
-
typeof window !== 'undefined' ?
|
56
|
-
<div>
|
57
|
-
browser content
|
58
|
-
</div>
|
59
|
-
) : null;
|
55
|
+
typeof window !== 'undefined' ? <div>browser content</div> : null;
|
60
56
|
}
|
61
57
|
```
|
62
58
|
|
@@ -82,9 +78,7 @@ import { NoSSR } from '@modern-js/runtime/ssr';
|
|
82
78
|
|
83
79
|
```tsx
|
84
80
|
<NoSSR>
|
85
|
-
<div>
|
86
|
-
client content
|
87
|
-
</div>
|
81
|
+
<div>client content</div>
|
88
82
|
</NoSSR>
|
89
83
|
```
|
90
84
|
|
@@ -201,8 +195,8 @@ document.addEventListener('load', () => {
|
|
201
195
|
console.log('document load');
|
202
196
|
});
|
203
197
|
const App = () => {
|
204
|
-
return <div>Hello World</div
|
205
|
-
}
|
198
|
+
return <div>Hello World</div>;
|
199
|
+
};
|
206
200
|
export default App;
|
207
201
|
```
|
208
202
|
|
@@ -18,11 +18,12 @@ Modern.js 默认继承了 [Jest](https://jestjs.io/) 的测试能力。
|
|
18
18
|
在 `modern.config.ts` 中注册 Test 插件:
|
19
19
|
|
20
20
|
```ts title="modern.config.ts"
|
21
|
-
import
|
21
|
+
import testPlugin from '@modern-js/plugin-testing';
|
22
|
+
|
22
23
|
// https://modernjs.dev/docs/apis/app/config
|
23
24
|
export default defineConfig({
|
24
25
|
...,
|
25
|
-
plugins: [...,
|
26
|
+
plugins: [..., testPlugin()],
|
26
27
|
});
|
27
28
|
```
|
28
29
|
|
@@ -19,11 +19,11 @@ Modern.js 作为以客户端为中心的开发框架,对服务端的定制能
|
|
19
19
|
执行命令后,在 `modern.config.ts` 中注册 Server 插件:
|
20
20
|
|
21
21
|
```ts title="modern.config.ts"
|
22
|
-
import
|
22
|
+
import serverPlugin from '@modern-js/plugin-server';
|
23
|
+
|
23
24
|
// https://modernjs.dev/docs/apis/app/config
|
24
25
|
export default defineConfig({
|
25
|
-
...,
|
26
|
-
plugins: [..., ServerPlugin()],
|
26
|
+
plugins: [..., serverPlugin()],
|
27
27
|
});
|
28
28
|
```
|
29
29
|
|
@@ -41,7 +41,6 @@ Hook 不可以使用运行时框架拓展。
|
|
41
41
|
|
42
42
|
详细 API 可以查看 [Hook](/docs/apis/app/runtime/web-server/hook)。
|
43
43
|
|
44
|
-
|
45
44
|
### Middleware
|
46
45
|
|
47
46
|
Middleware 可以为 Web Server 添加前置中间件,只有 SSR 请求会经过 Middleware 的处理。
|
@@ -41,26 +41,22 @@ Modern.js 也提供了自定义别名的方式,以添加 `@common` 别名为
|
|
41
41
|
{
|
42
42
|
"compilerOptions": {
|
43
43
|
"paths": {
|
44
|
-
"@/*": [
|
45
|
-
|
46
|
-
],
|
47
|
-
"@/common/*": [
|
48
|
-
"./src/common/*"
|
49
|
-
]
|
44
|
+
"@/*": ["./src/*"],
|
45
|
+
"@/common/*": ["./src/common/*"]
|
50
46
|
}
|
51
|
-
}
|
47
|
+
}
|
52
48
|
}
|
53
49
|
```
|
54
50
|
|
55
51
|
JavaScript 项目可以在 `modern.config.js` 中配置 [`source.alias`](/docs/configure/app/source/alias):
|
56
52
|
|
57
|
-
```
|
53
|
+
```ts title="modern.config.ts"
|
58
54
|
export default defineConfig({
|
59
55
|
source: {
|
60
56
|
alias: {
|
61
|
-
'@common': './src/common'
|
62
|
-
}
|
63
|
-
}
|
57
|
+
'@common': './src/common',
|
58
|
+
},
|
59
|
+
},
|
64
60
|
});
|
65
61
|
```
|
66
62
|
|
@@ -9,22 +9,22 @@ CSS-in-JS 是一种可以将 CSS 样式写在 JS 文件里的技术。Modern.js
|
|
9
9
|
当需要编写一个内部字体为红色的 `div` 组件时,可以如下实现:
|
10
10
|
|
11
11
|
```js
|
12
|
-
import styled from '@modern-js/runtime/styled'
|
12
|
+
import styled from '@modern-js/runtime/styled';
|
13
13
|
|
14
14
|
const RedDiv = styled.div`
|
15
15
|
color: red;
|
16
|
-
|
16
|
+
`;
|
17
17
|
```
|
18
18
|
|
19
19
|
当需要根据组件的 `props` 动态设置组件样式时,例如 `props` 的属性 `primary` 为 `true` 时,按钮的颜色为白色,其他情况为红色,实现代码如下:
|
20
20
|
|
21
21
|
```js
|
22
|
-
import styled from '@modern-js/runtime/styled'
|
22
|
+
import styled from '@modern-js/runtime/styled';
|
23
23
|
|
24
24
|
const Button = styled.button`
|
25
|
-
color: ${props => props.primary ?
|
25
|
+
color: ${props => (props.primary ? 'white' : 'red')};
|
26
26
|
font-size: 1em;
|
27
|
-
|
27
|
+
`;
|
28
28
|
```
|
29
29
|
|
30
30
|
关于 styled-components 的更多用法,请参考【[styled-components 官网](https://styled-components.com/)】。
|
@@ -33,7 +33,7 @@ export default function Button() {
|
|
33
33
|
```js
|
34
34
|
<button type="button" className="button_redColor__1-RBg">
|
35
35
|
red button
|
36
|
-
</button
|
36
|
+
</button>
|
37
37
|
```
|
38
38
|
|
39
39
|
## 全面启用 CSS Modules
|
@@ -74,7 +74,7 @@ export default function Button() {
|
|
74
74
|
```js
|
75
75
|
<button type="button" className="button__redColor--JsFYl bg-blue">
|
76
76
|
button
|
77
|
-
</button
|
77
|
+
</button>
|
78
78
|
```
|
79
79
|
|
80
80
|
最终效果如下:
|