@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
@@ -0,0 +1,14 @@
|
|
1
|
+
---
|
2
|
+
title: index.[tj]s
|
3
|
+
sidebar_position: 1
|
4
|
+
---
|
5
|
+
|
6
|
+
A file that extends the Modern.js Web Server, to add a Hook or Middleware to the Web Server that the project uses.
|
7
|
+
|
8
|
+
It can intercept requests and responses, authenticate and role, request preprocessing, exception bottom-up, etc.;
|
9
|
+
|
10
|
+
It can also be inserted logic into the built-in processing handler (including route matching, resource addressing, header injection, page rendering, static web hosting).
|
11
|
+
|
12
|
+
:::info
|
13
|
+
For detail, see [Hook](/docs/apis/app/runtime/web-server/hook) & [Middleware](/docs/apis/app/runtime/web-server/middleware)。
|
14
|
+
:::
|
@@ -0,0 +1,10 @@
|
|
1
|
+
---
|
2
|
+
title: test.[tj]s
|
3
|
+
sidebar_position: 2
|
4
|
+
---
|
5
|
+
|
6
|
+
App's Web Server test file,support for writing test cases in the `server/` directory which file with suffix `.test.[tj]s`.
|
7
|
+
|
8
|
+
:::info
|
9
|
+
To use unit test and integration test, you need to execute the `new` command in advance to enable the `unit test/integration test`.
|
10
|
+
:::
|
@@ -0,0 +1,45 @@
|
|
1
|
+
---
|
2
|
+
title: App.[tj]sx
|
3
|
+
sidebar_position: 1
|
4
|
+
---
|
5
|
+
|
6
|
+
Entry identifier if App want control route by code.
|
7
|
+
|
8
|
+
`App.[tj]sx` is not the actual App entry, Modern.js will auto generate the entry file, the content is roughly as follows:
|
9
|
+
|
10
|
+
```js
|
11
|
+
import React from 'react';
|
12
|
+
import { createApp, bootstrap } from '@modern-js/runtime';
|
13
|
+
// App.[jt]sx
|
14
|
+
import App from '@_modern_js_src/App';
|
15
|
+
import { state } from '@modern-js/runtime/plugins';
|
16
|
+
import { immer, effects, autoActions, devtools } from '@modern-js/runtime/model';
|
17
|
+
|
18
|
+
const createStatePlugins = (config) => {
|
19
|
+
const plugins = [];
|
20
|
+
plugins.push(immer(config['immer']));
|
21
|
+
plugins.push(effects(config['effects']));
|
22
|
+
plugins.push(autoActions(config['autoActions']));
|
23
|
+
plugins.push(devtools(config['devtools']));
|
24
|
+
return plugins;
|
25
|
+
}
|
26
|
+
let AppWrapper = null;
|
27
|
+
function render() {
|
28
|
+
AppWrapper = createApp({
|
29
|
+
plugins: [
|
30
|
+
state({...{plugins: createStatePlugins(true)}, ...App?.config?.state}),
|
31
|
+
]
|
32
|
+
})(App)
|
33
|
+
if (IS_BROWSER) {
|
34
|
+
bootstrap(AppWrapper, MOUNT_ID);
|
35
|
+
}
|
36
|
+
return AppWrapper
|
37
|
+
}
|
38
|
+
AppWrapper = render();
|
39
|
+
export default AppWrapper;;
|
40
|
+
```
|
41
|
+
|
42
|
+
:::note
|
43
|
+
In multi-entry App,each entry can have a `App.[jt]sx`, for detail, see [Entry](/docs/guides/concept/entries).
|
44
|
+
:::
|
45
|
+
|
@@ -0,0 +1,34 @@
|
|
1
|
+
---
|
2
|
+
title: index.[tj]s
|
3
|
+
sidebar_position: 3
|
4
|
+
---
|
5
|
+
|
6
|
+
Entry identifier if App want use custom entry. In most case, [`App.[tj]sx`](/docs/apis/app/hooks/src/app) hook file can already meet our needs.
|
7
|
+
|
8
|
+
When we need to add custom behavior before `bootstrap` or completely take over the webpack entry, we can place `index.[tj]s` in `src/` or entry directory. The following are discussed in two cases:
|
9
|
+
|
10
|
+
|
11
|
+
1. add custom behavior before bootstrap
|
12
|
+
|
13
|
+
Just add default export under `src/index.[tj]s`:
|
14
|
+
|
15
|
+
```js title=src/index.js
|
16
|
+
import { bootstrap } from '@modern-js/runtime';
|
17
|
+
|
18
|
+
export default App => {
|
19
|
+
// do something before bootstrap...
|
20
|
+
bootstrap(App, 'root');
|
21
|
+
};
|
22
|
+
```
|
23
|
+
|
24
|
+
2. Fully take over the webpack entry
|
25
|
+
|
26
|
+
When there is no default export function under `src/index.[tj]sx?`, this file is the real webpack entry file, and the code can be organized such as create-react-app:
|
27
|
+
|
28
|
+
```js title=src/index.jsx
|
29
|
+
import React from 'react';
|
30
|
+
import ReactDOM from 'react-dom';
|
31
|
+
import App from './App';
|
32
|
+
|
33
|
+
ReactDOM.render(<App />, document.getElementById('root'));
|
34
|
+
```
|
@@ -0,0 +1,180 @@
|
|
1
|
+
---
|
2
|
+
title: pages/
|
3
|
+
sidebar_position: 2
|
4
|
+
---
|
5
|
+
|
6
|
+
Entry identifier if the application want uses file system-based routing.
|
7
|
+
|
8
|
+
When the entry is the **Pages entry** type, the files in the `pages/` directory will be analyzed to client side routing.
|
9
|
+
|
10
|
+
For example, the following directory:
|
11
|
+
|
12
|
+
```bash
|
13
|
+
.
|
14
|
+
└── src
|
15
|
+
└── pages
|
16
|
+
├── about
|
17
|
+
│ └── index.jsx
|
18
|
+
├── index.jsx
|
19
|
+
└── info.jsx
|
20
|
+
```
|
21
|
+
|
22
|
+
The generated route is configured as:
|
23
|
+
|
24
|
+
```bash
|
25
|
+
[
|
26
|
+
{ path: '/', component: 'pages/index.jsx' },
|
27
|
+
{ path: '/info' component: 'pages/info.jsx' },
|
28
|
+
{ path: '/about', component: 'pages/about/index.jsx' }
|
29
|
+
]
|
30
|
+
```
|
31
|
+
|
32
|
+
Files match the following conditions will not be treated as routing files:
|
33
|
+
|
34
|
+
- suffix is not `.(j|t)sx?`.
|
35
|
+
- `.d.ts` type definition file.
|
36
|
+
- test file suffix like `.(test|spec|e2e).(j|t)sx?`.
|
37
|
+
|
38
|
+
:::tip
|
39
|
+
it is recommended to write only the routing files in the `pages/`, and write the business logic to the independent features directory outside the `pages/`. In this way, most of the files in the pages directory will be routing files, and there is no need for additional filtering rules.
|
40
|
+
:::
|
41
|
+
|
42
|
+
### Dynamic Routing
|
43
|
+
|
44
|
+
Directories or files wrapped with `[]` are considered dynamic routing.
|
45
|
+
|
46
|
+
For example the following directory structure:
|
47
|
+
|
48
|
+
```bash
|
49
|
+
.
|
50
|
+
└── src
|
51
|
+
└── pages
|
52
|
+
├── [post]
|
53
|
+
│ ├── detail.jsx
|
54
|
+
│ └── index.js
|
55
|
+
├── users
|
56
|
+
│ └── [id].jsx
|
57
|
+
├── index.jsx
|
58
|
+
└── info.jsx
|
59
|
+
```
|
60
|
+
|
61
|
+
The generated route is configured as:
|
62
|
+
|
63
|
+
```js
|
64
|
+
[
|
65
|
+
{ path: '/', component: 'pages/index.jsx' },
|
66
|
+
{ path: '/info', component: 'pages/info.jsx' },
|
67
|
+
{ path: '/:post/', component: 'pages/[post]/index.js' },
|
68
|
+
{ path: '/:post/detail' components: 'pages/[post]/detail.jsx'},
|
69
|
+
{ path: '/users/:id', components: 'pages/users/[id].jsx'}
|
70
|
+
]
|
71
|
+
```
|
72
|
+
|
73
|
+
Basis dynamic routing, it supports adding special routing suffixes `(*、?、+)`.
|
74
|
+
|
75
|
+
For example: `src/pages/users/[id]*.tsx` generate route `/users/:id*`
|
76
|
+
|
77
|
+
### Global Layout
|
78
|
+
|
79
|
+
When the entire App needs a global `layout`, it can be achieved through `pages/_app.tsx`, which as follows:
|
80
|
+
|
81
|
+
```js
|
82
|
+
import React from 'react';
|
83
|
+
import UserLayout from 'xxxx';
|
84
|
+
|
85
|
+
export default const App = ({Component, ...pageProps}:{ Component: React.ComponentType}) => {
|
86
|
+
return (
|
87
|
+
<UserLayout>
|
88
|
+
<Component {...pageProps} />
|
89
|
+
</UserLayout>
|
90
|
+
);
|
91
|
+
}
|
92
|
+
```
|
93
|
+
|
94
|
+
The above `Component` is the component to which the route is accessed.
|
95
|
+
|
96
|
+
For example the following directory structure:
|
97
|
+
|
98
|
+
```bash
|
99
|
+
.
|
100
|
+
└── pages
|
101
|
+
├── a
|
102
|
+
│ ├── b
|
103
|
+
│ │ └── index.js
|
104
|
+
│ └── index.js
|
105
|
+
└── index.js
|
106
|
+
```
|
107
|
+
|
108
|
+
- access `/`, the `Component` is `pages/index.js`。
|
109
|
+
- access `/a`, the `Component` is `pages/a/index.js`。
|
110
|
+
- access `/a/b`, the `Component` is `pages/a/b/index.js`。
|
111
|
+
|
112
|
+
:::tip Advantages
|
113
|
+
|
114
|
+
- preserve the state of the global layout when the page changes.
|
115
|
+
- add global css.
|
116
|
+
- handle ComponentDidCatch error
|
117
|
+
- use `defineConfig`(/docs/apis/app/runtime/app/define-config) dynamic configuration runtime.
|
118
|
+
|
119
|
+
:::
|
120
|
+
|
121
|
+
### Partial Layout
|
122
|
+
|
123
|
+
When developing an App, where sub routes under the same route may share the layout.
|
124
|
+
|
125
|
+
For this scene, Modern.js convention, when there is a `_layout.js` in the directory, the routes can shared this layout.
|
126
|
+
|
127
|
+
For example the following directory structure:
|
128
|
+
|
129
|
+
```bash
|
130
|
+
└── pages
|
131
|
+
├── a
|
132
|
+
│ ├── b
|
133
|
+
│ │ └── index.js
|
134
|
+
│ ├── _layout.js
|
135
|
+
│ └── index.js
|
136
|
+
└── index.js
|
137
|
+
```
|
138
|
+
|
139
|
+
```js title="pages/a/_layout.js"
|
140
|
+
import React from 'react';
|
141
|
+
|
142
|
+
const ALayout = ({ Component, ...pageProps }) => {
|
143
|
+
return <Component {...pageProps} />;
|
144
|
+
};
|
145
|
+
export default ALayout;
|
146
|
+
```
|
147
|
+
|
148
|
+
The Component props is the specific route, for example
|
149
|
+
|
150
|
+
- access `/a`, the `Component` is `pages/a/index.js`。
|
151
|
+
- 访问 `/a/b`, the `Component` is `pages/a/b/index.js`。
|
152
|
+
|
153
|
+
In this way, you can use `pages/a/_layout.js` to display the routing common layout in the `a` directory.
|
154
|
+
|
155
|
+
### 404 路由
|
156
|
+
|
157
|
+
The convention `pages/404.[tj]sx` is the default 404 route.
|
158
|
+
|
159
|
+
For example the following directory structure:
|
160
|
+
|
161
|
+
```bash
|
162
|
+
.
|
163
|
+
└── src
|
164
|
+
└── pages
|
165
|
+
├── user.js
|
166
|
+
├── home.js
|
167
|
+
├── 404.js
|
168
|
+
```
|
169
|
+
|
170
|
+
the generated route is configured is as:
|
171
|
+
|
172
|
+
```bash
|
173
|
+
[
|
174
|
+
{ path: '/user', component: './pages/user.js'},
|
175
|
+
{ path: '/home', component: './pages/home.js' },
|
176
|
+
{ path: '*', component: './pages/404.js'}
|
177
|
+
]
|
178
|
+
```
|
179
|
+
|
180
|
+
All unmatched routes will match to `pages/404.[tj]s`。
|
@@ -0,0 +1,12 @@
|
|
1
|
+
---
|
2
|
+
title: "**/*.stories.[tj]sx"
|
3
|
+
sidebar_position: 7
|
4
|
+
---
|
5
|
+
|
6
|
+
App Storybook debug file. files in `src/` which suffix `*.stories.[tj]sx` are as debug files for Storybook.
|
7
|
+
|
8
|
+
Execute the `dev story` command to debugging these files in the Storybook.
|
9
|
+
|
10
|
+
:::info
|
11
|
+
Using a Storybook requires executing `new` command to enable the 「Visual Testing (Storybook)」 mode.
|
12
|
+
:::
|
@@ -0,0 +1,12 @@
|
|
1
|
+
---
|
2
|
+
title: "**/*.test.[tj]sx?"
|
3
|
+
sidebar_position: 6
|
4
|
+
---
|
5
|
+
|
6
|
+
App test file.
|
7
|
+
|
8
|
+
The App supports the file suffixed with `.test.[tj]sx` under the `src/` to write test cases.
|
9
|
+
|
10
|
+
:::info
|
11
|
+
To use unit test and integration test, you need to execute the `new` command in advance to enable the `unit test/integration test`.
|
12
|
+
:::
|
@@ -0,0 +1,12 @@
|
|
1
|
+
---
|
2
|
+
sidebar_position: 0
|
3
|
+
---
|
4
|
+
|
5
|
+
# Overview
|
6
|
+
|
7
|
+
This section covers all APIs in `@modern-js/app-tools`.
|
8
|
+
|
9
|
+
import OverviewNav from '@site/src/components/OverviewNav';
|
10
|
+
import sidebarData from '@site/plugins/overview-loader!@site/plugins/overview-data.json';
|
11
|
+
|
12
|
+
<OverviewNav cards={sidebarData.docsSidebars.apisAppSidebar} />
|
@@ -0,0 +1,60 @@
|
|
1
|
+
---
|
2
|
+
title: defineConfig
|
3
|
+
---
|
4
|
+
|
5
|
+
For dynamically configuring applications runtime features.
|
6
|
+
|
7
|
+
## Usage
|
8
|
+
|
9
|
+
```ts
|
10
|
+
import { defineConfig } from '@modern-js/runtime';
|
11
|
+
```
|
12
|
+
|
13
|
+
Runtime configurations can usually be configured under the `runtime` of the `modern.config.js`, such as the [router](/docs/configure/app/runtime/router) configuration.
|
14
|
+
|
15
|
+
The configuration in `modern.config.js` is determined at build time,If some configuration parameters are obtained at runtime, or if the configuration parameters are from a module (such as a component), then need use `defineConfig` API configuration on runtime.
|
16
|
+
|
17
|
+
:::info
|
18
|
+
`@modern-js/app-tools` has the same name API, Used to provide **TS type for configuration**, please distinguish them.
|
19
|
+
:::
|
20
|
+
|
21
|
+
## Function Signature
|
22
|
+
|
23
|
+
```ts
|
24
|
+
function defineConfig(Component, config): any;
|
25
|
+
```
|
26
|
+
|
27
|
+
### Input
|
28
|
+
|
29
|
+
- Component: App root Component。
|
30
|
+
- config: runtime config。
|
31
|
+
|
32
|
+
## Example
|
33
|
+
|
34
|
+
```tsx
|
35
|
+
function App () {
|
36
|
+
...
|
37
|
+
}
|
38
|
+
|
39
|
+
defineConfig(App, {
|
40
|
+
router: {
|
41
|
+
supportHtml5History: false
|
42
|
+
}
|
43
|
+
})
|
44
|
+
```
|
45
|
+
|
46
|
+
|
47
|
+
1. `defineConfig` can configuring [runtime.state](/docs/configure/app/runtime/state)、[runtime.router](/docs/configure/app/runtime/router) etc.
|
48
|
+
|
49
|
+
2. `defineConfig` before configuring a property, such as `router`, you need to make sure that the `modern.config.js` has been configured to enable this feature.
|
50
|
+
|
51
|
+
3. `defineConfig` incoming configuration will be merged with the configuration in `modern.config.js`. Taking `router` as an example, the final application configuration is as follows:
|
52
|
+
|
53
|
+
```json
|
54
|
+
{
|
55
|
+
// 来自 `modern.config.js`
|
56
|
+
...runtime.router
|
57
|
+
// 来自 `defineConfig`
|
58
|
+
...config.router
|
59
|
+
}
|
60
|
+
```
|
@@ -0,0 +1,43 @@
|
|
1
|
+
---
|
2
|
+
title: hook
|
3
|
+
---
|
4
|
+
|
5
|
+
Used to add framework middleware under BFF function mode, the middleware will execute before BFF function.
|
6
|
+
|
7
|
+
## Usage
|
8
|
+
|
9
|
+
according to the framework extend plugin, export from the corresponding namespace:
|
10
|
+
|
11
|
+
```ts
|
12
|
+
import { hook } from '@modern-js/runtime/{namespace}';
|
13
|
+
```
|
14
|
+
|
15
|
+
## Function Signature
|
16
|
+
|
17
|
+
```ts
|
18
|
+
type HookOptions = {
|
19
|
+
addMiddleware: string | function
|
20
|
+
}
|
21
|
+
|
22
|
+
function hook(options: HookOptions): void
|
23
|
+
```
|
24
|
+
|
25
|
+
### Input
|
26
|
+
|
27
|
+
- `options`: a range of hooks provided by Modern.js.
|
28
|
+
- `addMiddleware`: add middlewares for BFF.
|
29
|
+
|
30
|
+
## Example
|
31
|
+
|
32
|
+
middleware for different frameworks should be different(an example is when using the koa framework):
|
33
|
+
|
34
|
+
```ts title=api/_app.ts
|
35
|
+
import { hook } from '@modern-js/runtime/koa';
|
36
|
+
|
37
|
+
export default hook(({ addMiddleware }) => {
|
38
|
+
addMiddleware(async (ctx, next) => {
|
39
|
+
ctx.req.query.id = 'koa';
|
40
|
+
await next();
|
41
|
+
});
|
42
|
+
});
|
43
|
+
```
|
@@ -0,0 +1,36 @@
|
|
1
|
+
---
|
2
|
+
title: useContext
|
3
|
+
---
|
4
|
+
|
5
|
+
Used to get the request context in the BFF function.
|
6
|
+
|
7
|
+
## Usage
|
8
|
+
|
9
|
+
according to the framework extend plugin, export from the corresponding namespace:
|
10
|
+
|
11
|
+
```ts
|
12
|
+
import { useContext } from '@modern-js/runtime/{namespace}';
|
13
|
+
```
|
14
|
+
|
15
|
+
## Function Signature
|
16
|
+
|
17
|
+
`function useContext(): any`
|
18
|
+
|
19
|
+
## Example
|
20
|
+
|
21
|
+
Developers can get more request information through `context`, such as browser UA(an example is when using the koa framework):
|
22
|
+
|
23
|
+
```ts
|
24
|
+
import { useContext } from '@modern-js/runtime/koa';
|
25
|
+
|
26
|
+
export async function get() {
|
27
|
+
const ctx = useContext();
|
28
|
+
return ctx.req.headers['user-agent'];
|
29
|
+
}
|
30
|
+
```
|
31
|
+
|
32
|
+
:::caution
|
33
|
+
only in BFF function, `useContext` API can be used.
|
34
|
+
:::
|
35
|
+
|
36
|
+
Although the `useContext` API is supported in any framework extend plugin, the types of return values are different.
|
@@ -0,0 +1,55 @@
|
|
1
|
+
---
|
2
|
+
title: bootstrap
|
3
|
+
---
|
4
|
+
|
5
|
+
Used to start and mount App, usually without manual calls。This API is only required when using [Custom App](/docs/guides/advanced-features/custom-app).
|
6
|
+
|
7
|
+
## Usage
|
8
|
+
|
9
|
+
```ts
|
10
|
+
import { bootstrap } from '@modern-js/runtime';
|
11
|
+
|
12
|
+
bootstrap(App, 'root');
|
13
|
+
```
|
14
|
+
|
15
|
+
## Function Signature
|
16
|
+
|
17
|
+
```ts
|
18
|
+
function bootstrap(AppComponent: React.ComponentType<any>, rootId: string): React.ComponentType<any> | void
|
19
|
+
```
|
20
|
+
|
21
|
+
### Input
|
22
|
+
|
23
|
+
- `AppComponent`: reactElement instance created by [`createApp`](./create-app).
|
24
|
+
- `rootId`: DOM root element id to mount,like `"root"`.
|
25
|
+
|
26
|
+
## Example
|
27
|
+
|
28
|
+
```tsx
|
29
|
+
import { createApp, bootstrap } from '@modern-js/runtime';
|
30
|
+
import { router, state } from '@modern-js/runtime/plugins';
|
31
|
+
|
32
|
+
function App() {
|
33
|
+
return <div>Hello Modern.js</div>;
|
34
|
+
}
|
35
|
+
|
36
|
+
const WrappedApp = createApp({
|
37
|
+
// customized plugin
|
38
|
+
plugins: [router({}), state({})],
|
39
|
+
})(App);
|
40
|
+
|
41
|
+
bootstrap(WrappedApp, 'root');
|
42
|
+
|
43
|
+
```
|
44
|
+
|
45
|
+
:::info
|
46
|
+
since `@modern-js/runtime/plugins` is a alias,when used in a ts project, its type needs to be declared,Just add the following type declarations to `src/modern-app-env.d.ts`:
|
47
|
+
|
48
|
+
```ts
|
49
|
+
declare module '@modern-js/runtime/plugins';
|
50
|
+
```
|
51
|
+
:::
|
52
|
+
|
53
|
+
:::warning
|
54
|
+
bootstrap only supported for use in CSR.
|
55
|
+
:::
|
@@ -0,0 +1,47 @@
|
|
1
|
+
---
|
2
|
+
title: createApp
|
3
|
+
---
|
4
|
+
|
5
|
+
Used to create custom entries, custom runtime plugins. This API is only required when using [Custom App](/docs/guides/advanced-features/custom-app).
|
6
|
+
|
7
|
+
## Usage
|
8
|
+
|
9
|
+
```ts
|
10
|
+
import { createApp } from '@modern-js/runtime';
|
11
|
+
```
|
12
|
+
|
13
|
+
## Function Signature
|
14
|
+
|
15
|
+
```ts
|
16
|
+
import type { Plugin } from '@modern-js/runtime';
|
17
|
+
|
18
|
+
function createApp(options: { plugins: Plugin[] }): React.ComponentType<any>;
|
19
|
+
```
|
20
|
+
|
21
|
+
### Input
|
22
|
+
|
23
|
+
- `options`: optional configuration.
|
24
|
+
- `plugins`: custom plugin extensions.
|
25
|
+
|
26
|
+
## Example
|
27
|
+
|
28
|
+
### Create Custom Entry
|
29
|
+
|
30
|
+
For details, see [`bootstrap`](./bootstrap.md)。
|
31
|
+
|
32
|
+
### Custom Plugins
|
33
|
+
|
34
|
+
```ts
|
35
|
+
import { createApp } from '@modern-js/runtime';
|
36
|
+
|
37
|
+
function App() {
|
38
|
+
return <div>app</div>;
|
39
|
+
}
|
40
|
+
|
41
|
+
export default createApp({
|
42
|
+
plugins: [
|
43
|
+
router({}),
|
44
|
+
state({}),
|
45
|
+
]
|
46
|
+
})(App);
|
47
|
+
```
|