@modern-js/main-doc 2.3.0 → 2.5.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/LICENSE +0 -123
- package/README.md +26 -0
- package/en/apis/app/commands/_category_.json +1 -4
- package/en/apis/app/commands/new.mdx +11 -10
- package/en/apis/app/commands/test.mdx +1 -1
- package/en/apis/app/hooks/_category_.json +1 -4
- package/en/apis/app/hooks/api/framework/lambda.mdx +1 -1
- package/en/apis/app/hooks/api/functions/api.mdx +1 -1
- package/en/apis/app/hooks/server/index_.mdx +2 -1
- package/en/apis/app/hooks/src/pages.mdx +7 -7
- package/en/apis/app/hooks/src/routes.mdx +1 -1
- package/en/apis/app/runtime/_category_.json +1 -5
- package/en/apis/app/runtime/app/define-config.mdx +2 -2
- package/en/apis/app/runtime/core/bootstrap.mdx +1 -1
- package/en/apis/app/runtime/core/create-app.mdx +2 -2
- package/en/apis/app/runtime/core/use-loader.mdx +4 -4
- package/en/apis/app/runtime/core/use-module-apps.mdx +2 -2
- package/en/apis/app/runtime/model/Provider.mdx +2 -2
- package/en/apis/app/runtime/model/auto-actions.mdx +2 -2
- package/en/apis/app/runtime/model/connect.mdx +5 -5
- package/en/apis/app/runtime/model/create-app.mdx +9 -9
- package/en/apis/app/runtime/model/create-store.mdx +3 -3
- package/en/apis/app/runtime/model/handle-effect.mdx +2 -2
- package/en/apis/app/runtime/model/model_.mdx +1 -1
- package/en/apis/app/runtime/model/use-local-model.mdx +1 -1
- package/en/apis/app/runtime/model/use-model.mdx +1 -1
- package/en/apis/app/runtime/model/use-static-model.mdx +4 -4
- package/en/apis/app/runtime/model/use-store.mdx +1 -1
- package/en/apis/app/runtime/router/router.mdx +1 -1
- package/en/apis/app/runtime/ssr/pre-render.mdx +1 -1
- package/en/apis/app/runtime/testing/render.mdx +1 -1
- package/en/apis/app/runtime/testing/renderApp.mdx +1 -1
- package/en/apis/app/runtime/utility/css-in-js.mdx +1 -1
- package/en/apis/app/runtime/utility/loadable.mdx +1 -1
- package/en/apis/app/runtime/web-server/hook.mdx +5 -5
- package/en/apis/app/runtime/web-server/middleware.mdx +6 -6
- package/en/components/global-proxy-config.mdx +3 -3
- package/en/components/init-app.mdx +1 -1
- package/en/configure/app/bff/_category_.json +4 -0
- package/en/configure/app/builder-plugins.mdx +3 -3
- package/en/configure/app/deploy/_category_.json +4 -0
- package/en/configure/app/dev/_category_.json +4 -0
- package/en/configure/app/dev/asset-prefix.mdx +1 -1
- package/en/configure/app/dev/hmr.mdx +1 -1
- package/en/configure/app/dev/https.mdx +1 -1
- package/en/configure/app/dev/port.mdx +1 -1
- package/en/configure/app/dev/progress-bar.mdx +1 -1
- package/en/configure/app/dev/start-url.mdx +1 -1
- package/en/configure/app/experiments/_category_.json +4 -0
- package/en/configure/app/experiments/lazy-compilation.mdx +1 -1
- package/en/configure/app/html/_category_.json +4 -0
- package/en/configure/app/html/app-icon.mdx +1 -1
- package/en/configure/app/html/crossorigin.mdx +1 -1
- package/en/configure/app/html/disable-html-folder.mdx +1 -1
- package/en/configure/app/html/favicon-by-entries.mdx +1 -1
- package/en/configure/app/html/favicon.mdx +1 -1
- package/en/configure/app/html/inject-by-entries.mdx +1 -1
- package/en/configure/app/html/inject.mdx +1 -1
- package/en/configure/app/html/meta-by-entries.mdx +1 -1
- package/en/configure/app/html/meta.mdx +1 -1
- package/en/configure/app/html/mount-id.mdx +1 -1
- package/en/configure/app/html/tags-by-entries.mdx +1 -1
- package/en/configure/app/html/tags.mdx +1 -1
- package/en/configure/app/html/template-by-entries.mdx +1 -1
- package/en/configure/app/html/template-parameters-by-entries.mdx +1 -1
- package/en/configure/app/html/template-parameters.mdx +1 -1
- package/en/configure/app/html/template.mdx +1 -1
- package/en/configure/app/html/title-by-entries.mdx +1 -1
- package/en/configure/app/html/title.mdx +1 -1
- package/en/configure/app/output/_category_.json +4 -0
- package/en/configure/app/output/asset-prefix.mdx +1 -1
- package/en/configure/app/output/assets-retry.mdx +1 -1
- package/en/configure/app/output/charset.mdx +1 -1
- package/en/configure/app/output/clean-dist-path.mdx +1 -1
- package/en/configure/app/output/convert-to-rem.mdx +1 -1
- package/en/configure/app/output/copy.mdx +1 -1
- package/en/configure/app/output/css-module-local-ident-name.mdx +1 -1
- package/en/configure/app/output/data-uri-limit.mdx +1 -1
- package/en/configure/app/output/disable-css-extract.mdx +1 -1
- package/en/configure/app/output/disable-css-module-extension.mdx +1 -1
- package/en/configure/app/output/disable-filename-hash.mdx +1 -1
- package/en/configure/app/output/disable-inline-runtime-chunk.mdx +1 -1
- package/en/configure/app/output/disable-minimize.mdx +1 -1
- package/en/configure/app/output/disable-source-map.mdx +1 -1
- package/en/configure/app/output/disable-ts-checker.mdx +1 -1
- package/en/configure/app/output/dist-path.mdx +1 -1
- package/en/configure/app/output/enable-asset-fallback.mdx +1 -1
- package/en/configure/app/output/enable-asset-manifest.mdx +1 -1
- package/en/configure/app/output/enable-css-module-tsdeclaration.mdx +1 -1
- package/en/configure/app/output/enable-inline-scripts.mdx +1 -1
- package/en/configure/app/output/enable-inline-styles.mdx +1 -1
- package/en/configure/app/output/enable-latest-decorators.mdx +1 -1
- package/en/configure/app/output/externals.mdx +1 -1
- package/en/configure/app/output/filename.mdx +1 -1
- package/en/configure/app/output/legal-comments.mdx +1 -1
- package/en/configure/app/output/override-browserslist.mdx +1 -1
- package/en/configure/app/output/polyfill.mdx +1 -1
- package/en/configure/app/output/ssg.mdx +2 -2
- package/en/configure/app/output/svg-default-export.mdx +1 -1
- package/en/configure/app/performance/_category_.json +4 -0
- package/en/configure/app/performance/build-cache.mdx +1 -1
- package/en/configure/app/performance/bundle-analyze.mdx +1 -1
- package/en/configure/app/performance/chunk-split.mdx +1 -1
- package/en/configure/app/performance/print-file-size.mdx +1 -1
- package/en/configure/app/performance/profile.mdx +1 -1
- package/en/configure/app/performance/remove-console.mdx +1 -1
- package/en/configure/app/performance/remove-moment-locale.mdx +1 -1
- package/en/configure/app/plugins.mdx +1 -1
- package/en/configure/app/runtime/_category_.json +4 -0
- package/en/configure/app/runtime/intro.mdx +2 -2
- package/en/configure/app/security/_category_.json +4 -0
- package/en/configure/app/security/check-syntax.mdx +1 -1
- package/en/configure/app/security/sri.mdx +1 -1
- package/en/configure/app/server/_category_.json +4 -0
- package/en/configure/app/server/base-url.mdx +3 -3
- package/en/configure/app/server/enable-framework-ext.mdx +1 -1
- package/en/configure/app/server/ssr-by-entries.mdx +1 -1
- package/en/configure/app/source/_category_.json +4 -0
- package/en/configure/app/source/alias.mdx +1 -1
- package/en/configure/app/source/compile-js-data-uri.mdx +1 -1
- package/en/configure/app/source/define.mdx +1 -1
- package/en/configure/app/source/design-system.mdx +5 -5
- package/en/configure/app/source/entries.mdx +3 -3
- package/en/configure/app/source/exclude.mdx +1 -1
- package/en/configure/app/source/global-vars.mdx +1 -1
- package/en/configure/app/source/include.mdx +1 -1
- package/en/configure/app/source/module-scopes.mdx +1 -1
- package/en/configure/app/source/pre-entry.mdx +1 -1
- package/en/configure/app/source/resolve-extension-prefix.mdx +1 -1
- package/en/configure/app/source/resolve-main-fields.mdx +1 -1
- package/en/configure/app/testing/_category_.json +4 -0
- package/en/configure/app/tools/_category_.json +4 -0
- package/en/configure/app/tools/autoprefixer.mdx +1 -1
- package/en/configure/app/tools/babel.mdx +1 -1
- package/en/configure/app/tools/css-extract.mdx +1 -1
- package/en/configure/app/tools/css-loader.mdx +1 -1
- package/en/configure/app/tools/dev-server.mdx +1 -1
- package/en/configure/app/tools/html-plugin.mdx +1 -1
- package/en/configure/app/tools/inspector.mdx +1 -1
- package/en/configure/app/tools/less.mdx +1 -1
- package/en/configure/app/tools/minify-css.mdx +1 -1
- package/en/configure/app/tools/postcss.mdx +1 -1
- package/en/configure/app/tools/pug.mdx +1 -1
- package/en/configure/app/tools/rspack.mdx +13 -0
- package/en/configure/app/tools/sass.mdx +1 -1
- package/en/configure/app/tools/style-loader.mdx +1 -1
- package/en/configure/app/tools/styled-components.mdx +1 -1
- package/en/configure/app/tools/tailwindcss.mdx +1 -1
- package/en/configure/app/tools/terser.mdx +1 -1
- package/en/configure/app/tools/ts-checker.mdx +1 -1
- package/en/configure/app/tools/ts-loader.mdx +1 -1
- package/en/configure/app/tools/webpack-chain.mdx +1 -1
- package/en/configure/app/tools/webpack.mdx +1 -1
- package/en/configure/app/usage.mdx +64 -1
- package/en/guides/advanced-features/_category_.json +5 -0
- package/en/guides/advanced-features/bff/bff-proxy.mdx +1 -1
- package/en/guides/advanced-features/bff/frameworks.mdx +1 -1
- package/en/guides/advanced-features/bff/function.mdx +3 -3
- package/en/guides/advanced-features/code-split.mdx +2 -2
- package/en/guides/advanced-features/compatibility.mdx +2 -3
- package/en/guides/advanced-features/eslint.mdx +4 -4
- package/en/guides/advanced-features/low-level.mdx +1 -1
- package/en/guides/advanced-features/ssg.mdx +4 -5
- package/en/guides/advanced-features/ssr.mdx +5 -5
- package/en/guides/advanced-features/testing.mdx +4 -5
- package/en/guides/advanced-features/web-server.mdx +0 -1
- package/en/guides/basic-features/_category_.json +5 -0
- package/en/guides/basic-features/alias.mdx +1 -1
- package/en/guides/basic-features/data-fetch.mdx +21 -8
- package/en/guides/basic-features/env-vars.mdx +1 -1
- package/en/guides/basic-features/html.mdx +11 -11
- package/en/guides/basic-features/mock.mdx +21 -1
- package/en/guides/basic-features/proxy.mdx +2 -2
- package/en/guides/basic-features/routes.mdx +33 -7
- package/en/guides/concept/_category_.json +5 -0
- package/en/guides/{basic-features → concept}/builder.mdx +2 -2
- package/en/guides/concept/entries.mdx +11 -11
- package/en/guides/css/_category_.json +5 -0
- package/en/guides/{basic-features/css → css}/css-in-js.mdx +0 -0
- package/en/guides/{basic-features/css → css}/css-modules.mdx +0 -0
- package/en/guides/{basic-features/css → css}/less-sass.mdx +1 -1
- package/en/guides/{basic-features/css → css}/postcss.mdx +0 -0
- package/en/guides/{basic-features/css → css}/tailwindcss.mdx +0 -0
- package/en/guides/get-started/_category_.json +5 -0
- package/en/guides/get-started/introduction.mdx +34 -0
- package/en/guides/get-started/quick-start.mdx +2 -2
- package/en/guides/get-started/upgrade.mdx +2 -1
- package/en/guides/topic-detail/_category_.json +2 -2
- package/en/guides/topic-detail/framework-plugin/hook.mdx +1 -1
- package/en/guides/topic-detail/generator/config/{mwa.mdx → app.mdx} +1 -1
- package/en/guides/topic-detail/generator/plugin/api/hook/onForged.mdx +1 -1
- package/en/guides/topic-detail/generator/plugin/api/new/createElement.mdx +1 -1
- package/en/guides/topic-detail/generator/plugin/api/new/enableFunc.mdx +1 -1
- package/en/guides/topic-detail/generator/plugin/api/new/introduce.mdx +1 -1
- package/en/guides/topic-detail/generator/plugin/develop.mdx +3 -3
- package/en/guides/topic-detail/micro-frontend/c02-development.mdx +128 -61
- package/en/guides/topic-detail/micro-frontend/c03-main-app.mdx +72 -41
- package/en/guides/topic-detail/micro-frontend/c05-mixed-stack.mdx +1 -1
- package/en/guides/topic-detail/model/auto-actions.mdx +1 -1
- package/en/guides/topic-detail/model/define-model.mdx +1 -1
- package/en/guides/topic-detail/model/manage-effects.mdx +1 -1
- package/en/guides/topic-detail/model/model-communicate.mdx +1 -1
- package/en/guides/topic-detail/model/quick-start.mdx +2 -2
- package/en/guides/topic-detail/model/test-model.mdx +1 -1
- package/en/guides/topic-detail/model/use-model.mdx +3 -3
- package/en/guides/troubleshooting/_category_.json +2 -2
- package/en/guides/troubleshooting/cli.mdx +1 -1
- package/en/index.md +1 -1
- package/en/tutorials/first-app/_category_.json +1 -1
- package/en/tutorials/first-app/c01-start.mdx +0 -1
- package/en/tutorials/first-app/c03-css.mdx +1 -2
- package/en/tutorials/first-app/c06-model.mdx +1 -1
- package/en/tutorials/first-app/c07-container.mdx +1 -1
- package/en/tutorials/first-app/c08-entries.mdx +1 -2
- package/en/tutorials/foundations/introduction.mdx +17 -34
- package/package.json +3 -3
- package/scripts/config.ts +3 -1
- package/scripts/summary.en.json +1 -1
- package/scripts/summary.zh.json +1 -1
- package/zh/apis/app/commands/_category_.json +1 -4
- package/zh/apis/app/hooks/_category_.json +1 -4
- package/zh/apis/app/hooks/src/pages.mdx +1 -1
- package/zh/apis/app/hooks/src/routes.mdx +1 -1
- package/zh/apis/app/runtime/_category_.json +1 -5
- package/zh/apis/app/runtime/core/create-app.mdx +1 -1
- package/zh/apis/app/runtime/core/use-module-apps.mdx +81 -40
- package/zh/apis/app/runtime/model/Provider.mdx +2 -2
- package/zh/apis/app/runtime/model/create-app.mdx +7 -7
- package/zh/apis/app/runtime/model/create-store.mdx +2 -2
- package/zh/apis/app/runtime/model/use-local-model.mdx +1 -1
- package/zh/apis/app/runtime/model/use-static-model.mdx +1 -1
- package/zh/apis/app/runtime/model/use-store.mdx +1 -1
- package/zh/apis/app/runtime/testing/renderApp.mdx +1 -1
- package/zh/components/custom-router-micro-frontend.mdx +40 -0
- package/zh/components/enable-micro-frontend.mdx +12 -2
- package/zh/components/micro-runtime-config.mdx +9 -10
- package/zh/components/release-note.mdx +1 -1
- package/zh/configure/app/builder-plugins.mdx +3 -3
- package/zh/configure/app/dev/asset-prefix.mdx +1 -1
- package/zh/configure/app/dev/hmr.mdx +1 -1
- package/zh/configure/app/dev/https.mdx +1 -1
- package/zh/configure/app/dev/port.mdx +1 -1
- package/zh/configure/app/dev/progress-bar.mdx +1 -1
- package/zh/configure/app/dev/start-url.mdx +1 -1
- package/zh/configure/app/experiments/lazy-compilation.mdx +1 -1
- package/zh/configure/app/html/app-icon.mdx +1 -1
- package/zh/configure/app/html/crossorigin.mdx +1 -1
- package/zh/configure/app/html/disable-html-folder.mdx +1 -1
- package/zh/configure/app/html/favicon-by-entries.mdx +1 -1
- package/zh/configure/app/html/favicon.mdx +1 -1
- package/zh/configure/app/html/inject-by-entries.mdx +1 -1
- package/zh/configure/app/html/inject.mdx +1 -1
- package/zh/configure/app/html/meta-by-entries.mdx +1 -1
- package/zh/configure/app/html/meta.mdx +1 -1
- package/zh/configure/app/html/mount-id.mdx +1 -1
- package/zh/configure/app/html/tags-by-entries.mdx +1 -1
- package/zh/configure/app/html/tags.mdx +1 -1
- package/zh/configure/app/html/template-by-entries.mdx +1 -1
- package/zh/configure/app/html/template-parameters-by-entries.mdx +1 -1
- package/zh/configure/app/html/template-parameters.mdx +1 -1
- package/zh/configure/app/html/template.mdx +1 -1
- package/zh/configure/app/html/title-by-entries.mdx +1 -1
- package/zh/configure/app/html/title.mdx +1 -1
- package/zh/configure/app/output/asset-prefix.mdx +1 -1
- package/zh/configure/app/output/assets-retry.mdx +1 -1
- package/zh/configure/app/output/charset.mdx +1 -1
- package/zh/configure/app/output/clean-dist-path.mdx +1 -1
- package/zh/configure/app/output/convert-to-rem.mdx +1 -1
- package/zh/configure/app/output/copy.mdx +1 -1
- package/zh/configure/app/output/css-module-local-ident-name.mdx +1 -1
- package/zh/configure/app/output/data-uri-limit.mdx +1 -1
- package/zh/configure/app/output/disable-css-extract.mdx +1 -1
- package/zh/configure/app/output/disable-css-module-extension.mdx +1 -1
- package/zh/configure/app/output/disable-filename-hash.mdx +1 -1
- package/zh/configure/app/output/disable-inline-runtime-chunk.mdx +1 -1
- package/zh/configure/app/output/disable-minimize.mdx +1 -1
- package/zh/configure/app/output/disable-source-map.mdx +1 -1
- package/zh/configure/app/output/disable-ts-checker.mdx +1 -1
- package/zh/configure/app/output/dist-path.mdx +1 -1
- package/zh/configure/app/output/enable-asset-fallback.mdx +1 -1
- package/zh/configure/app/output/enable-asset-manifest.mdx +1 -1
- package/zh/configure/app/output/enable-css-module-tsdeclaration.mdx +1 -1
- package/zh/configure/app/output/enable-inline-scripts.mdx +1 -1
- package/zh/configure/app/output/enable-inline-styles.mdx +1 -1
- package/zh/configure/app/output/enable-latest-decorators.mdx +1 -1
- package/zh/configure/app/output/externals.mdx +1 -1
- package/zh/configure/app/output/filename.mdx +1 -1
- package/zh/configure/app/output/legal-comments.mdx +1 -1
- package/zh/configure/app/output/override-browserslist.mdx +1 -1
- package/zh/configure/app/output/polyfill.mdx +1 -1
- package/zh/configure/app/output/svg-default-export.mdx +1 -1
- package/zh/configure/app/performance/build-cache.mdx +1 -1
- package/zh/configure/app/performance/bundle-analyze.mdx +1 -1
- package/zh/configure/app/performance/chunk-split.mdx +1 -1
- package/zh/configure/app/performance/print-file-size.mdx +1 -1
- package/zh/configure/app/performance/profile.mdx +1 -1
- package/zh/configure/app/performance/remove-console.mdx +1 -1
- package/zh/configure/app/performance/remove-moment-locale.mdx +1 -1
- package/zh/configure/app/plugins.mdx +1 -1
- package/zh/configure/app/security/check-syntax.mdx +1 -1
- package/zh/configure/app/security/sri.mdx +1 -1
- package/zh/configure/app/server/ssr-by-entries.mdx +1 -1
- package/zh/configure/app/source/alias.mdx +1 -1
- package/zh/configure/app/source/compile-js-data-uri.mdx +1 -1
- package/zh/configure/app/source/define.mdx +1 -1
- package/zh/configure/app/source/exclude.mdx +1 -1
- package/zh/configure/app/source/global-vars.mdx +1 -1
- package/zh/configure/app/source/include.mdx +1 -1
- package/zh/configure/app/source/module-scopes.mdx +1 -1
- package/zh/configure/app/source/pre-entry.mdx +1 -1
- package/zh/configure/app/source/resolve-extension-prefix.mdx +1 -1
- package/zh/configure/app/source/resolve-main-fields.mdx +1 -1
- package/zh/configure/app/tools/autoprefixer.mdx +1 -1
- package/zh/configure/app/tools/babel.mdx +1 -1
- package/zh/configure/app/tools/css-extract.mdx +1 -1
- package/zh/configure/app/tools/css-loader.mdx +1 -1
- package/zh/configure/app/tools/dev-server.mdx +1 -1
- package/zh/configure/app/tools/html-plugin.mdx +1 -1
- package/zh/configure/app/tools/inspector.mdx +1 -1
- package/zh/configure/app/tools/less.mdx +1 -1
- package/zh/configure/app/tools/minify-css.mdx +1 -1
- package/zh/configure/app/tools/postcss.mdx +1 -1
- package/zh/configure/app/tools/pug.mdx +1 -1
- package/zh/configure/app/tools/rspack.mdx +13 -0
- package/zh/configure/app/tools/sass.mdx +1 -1
- package/zh/configure/app/tools/style-loader.mdx +1 -1
- package/zh/configure/app/tools/styled-components.mdx +1 -1
- package/zh/configure/app/tools/terser.mdx +1 -1
- package/zh/configure/app/tools/ts-checker.mdx +1 -1
- package/zh/configure/app/tools/ts-loader.mdx +1 -1
- package/zh/configure/app/tools/webpack-chain.mdx +1 -1
- package/zh/configure/app/tools/webpack.mdx +1 -1
- package/zh/configure/app/usage.mdx +64 -1
- package/zh/guides/advanced-features/_category_.json +2 -6
- package/zh/guides/advanced-features/compatibility.mdx +0 -1
- package/zh/guides/advanced-features/ssg.mdx +0 -1
- package/zh/guides/advanced-features/ssr.mdx +2 -2
- package/zh/guides/advanced-features/testing.mdx +0 -1
- package/zh/guides/advanced-features/web-server.mdx +0 -1
- package/zh/guides/basic-features/_category_.json +1 -5
- package/zh/guides/basic-features/alias.mdx +1 -1
- package/zh/guides/basic-features/data-fetch.mdx +35 -26
- package/zh/guides/basic-features/html.mdx +10 -9
- package/zh/guides/basic-features/mock.mdx +20 -0
- package/zh/guides/basic-features/routes.mdx +41 -9
- package/zh/guides/{basic-features → concept}/builder.mdx +2 -2
- package/zh/guides/concept/entries.mdx +11 -11
- package/zh/guides/css/_category_.json +5 -0
- package/zh/guides/{basic-features/css → css}/css-in-js.mdx +0 -0
- package/zh/guides/{basic-features/css → css}/css-modules.mdx +0 -0
- package/zh/guides/{basic-features/css → css}/less-sass.mdx +1 -1
- package/zh/guides/{basic-features/css → css}/postcss.mdx +5 -4
- package/zh/guides/{basic-features/css → css}/tailwindcss.mdx +0 -1
- package/zh/guides/get-started/introduction.mdx +31 -0
- package/zh/guides/get-started/quick-start.mdx +2 -3
- package/zh/guides/get-started/upgrade.mdx +2 -1
- package/zh/guides/topic-detail/_category_.json +2 -2
- package/zh/guides/topic-detail/generator/config/{mwa.mdx → app.mdx} +1 -1
- package/zh/guides/topic-detail/generator/plugin/api/input/addInputBefore.mdx +1 -1
- package/zh/guides/topic-detail/generator/plugin/api/new/createElement.mdx +1 -1
- package/zh/guides/topic-detail/generator/plugin/api/new/enableFunc.mdx +1 -1
- package/zh/guides/topic-detail/generator/plugin/api/new/introduce.mdx +2 -2
- package/zh/guides/topic-detail/generator/plugin/develop.mdx +3 -3
- package/zh/guides/topic-detail/micro-frontend/c02-development.mdx +155 -63
- package/zh/guides/topic-detail/micro-frontend/c03-main-app.mdx +71 -40
- package/zh/guides/topic-detail/model/model-communicate.mdx +1 -1
- package/zh/guides/troubleshooting/_category_.json +2 -2
- package/zh/index.md +1 -1
- package/zh/tutorials/first-app/_category_.json +1 -1
- package/zh/tutorials/first-app/c01-start.mdx +1 -2
- package/zh/tutorials/first-app/c03-css.mdx +1 -2
- package/zh/tutorials/first-app/c06-model.mdx +2 -2
- package/zh/tutorials/first-app/c07-container.mdx +1 -1
- package/zh/tutorials/first-app/c08-entries.mdx +2 -3
- package/zh/tutorials/foundations/introduction.mdx +14 -29
- package/en/apis/app/commands/index.mdx +0 -7
- package/en/apis/app/hooks/index.mdx +0 -7
- package/en/apis/app/runtime/index.mdx +0 -7
- package/en/guides/advanced-features/index.mdx +0 -7
- package/en/guides/basic-features/css/_category_.json +0 -4
- package/zh/apis/app/commands/index.mdx +0 -7
- package/zh/apis/app/hooks/index.mdx +0 -7
- package/zh/apis/app/runtime/index.mdx +0 -7
- package/zh/guides/advanced-features/index.mdx +0 -7
- package/zh/guides/basic-features/css/_category_.json +0 -4
- package/zh/guides/basic-features/index.mdx +0 -7
@@ -5,7 +5,7 @@ sidebar_label: less
|
|
5
5
|
# tools.less
|
6
6
|
|
7
7
|
:::tip
|
8
|
-
This config is provided by Modern.js Builder, more detail can see [tools.less](https://modernjs.dev/builder/en/api/config-tools.html#
|
8
|
+
This config is provided by Modern.js Builder, more detail can see [tools.less](https://modernjs.dev/builder/en/api/config-tools.html#toolsless).
|
9
9
|
:::
|
10
10
|
|
11
11
|
import Main from '@modern-js/builder-doc/docs/en/config/tools/less.md'
|
@@ -5,7 +5,7 @@ sidebar_label: minifyCss
|
|
5
5
|
# tools.minifyCss
|
6
6
|
|
7
7
|
:::tip
|
8
|
-
This config is provided by Modern.js Builder, more detail can see [tools.minifyCss](https://modernjs.dev/builder/en/api/config-tools.html#
|
8
|
+
This config is provided by Modern.js Builder, more detail can see [tools.minifyCss](https://modernjs.dev/builder/en/api/config-tools.html#toolsminifycss).
|
9
9
|
:::
|
10
10
|
|
11
11
|
import Main from '@modern-js/builder-doc/docs/en/config/tools/minifyCss.md'
|
@@ -5,7 +5,7 @@ sidebar_label: postcss
|
|
5
5
|
# tools.postcss
|
6
6
|
|
7
7
|
:::tip
|
8
|
-
This config is provided by Modern.js Builder, more detail can see [tools.postcss](https://modernjs.dev/builder/en/api/config-tools.html#
|
8
|
+
This config is provided by Modern.js Builder, more detail can see [tools.postcss](https://modernjs.dev/builder/en/api/config-tools.html#toolspostcss).
|
9
9
|
:::
|
10
10
|
|
11
11
|
import Main from '@modern-js/builder-doc/docs/en/config/tools/postcss.md'
|
@@ -5,7 +5,7 @@ sidebar_label: pug
|
|
5
5
|
# tools.pug
|
6
6
|
|
7
7
|
:::tip
|
8
|
-
This config is provided by Modern.js Builder, more detail can see [tools.pug](https://modernjs.dev/builder/en/api/config-tools.html#
|
8
|
+
This config is provided by Modern.js Builder, more detail can see [tools.pug](https://modernjs.dev/builder/en/api/config-tools.html#toolspug).
|
9
9
|
:::
|
10
10
|
|
11
11
|
import Main from '@modern-js/builder-doc/docs/en/config/tools/pug.md'
|
@@ -0,0 +1,13 @@
|
|
1
|
+
---
|
2
|
+
sidebar_label: rspack
|
3
|
+
---
|
4
|
+
|
5
|
+
# tools.rspack
|
6
|
+
|
7
|
+
:::tip
|
8
|
+
This config is provided by Modern.js Builder, more detail can see [tools.rspack](https://modernjs.dev/builder/en/api/config-tools.html#toolsrspack).
|
9
|
+
:::
|
10
|
+
|
11
|
+
import Main from '@modern-js/builder-doc/docs/en/config/tools/rspack.md'
|
12
|
+
|
13
|
+
<Main />
|
@@ -5,7 +5,7 @@ sidebar_label: sass
|
|
5
5
|
# tools.sass
|
6
6
|
|
7
7
|
:::tip
|
8
|
-
This config is provided by Modern.js Builder, more detail can see [tools.sass](https://modernjs.dev/builder/en/api/config-tools.html#
|
8
|
+
This config is provided by Modern.js Builder, more detail can see [tools.sass](https://modernjs.dev/builder/en/api/config-tools.html#toolssass).
|
9
9
|
:::
|
10
10
|
|
11
11
|
import Main from '@modern-js/builder-doc/docs/en/config/tools/sass.md'
|
@@ -5,7 +5,7 @@ sidebar_label: styleLoader
|
|
5
5
|
# tools.styleLoader
|
6
6
|
|
7
7
|
:::tip
|
8
|
-
This config is provided by Modern.js Builder, more detail can see [tools.styleLoader](https://modernjs.dev/builder/en/api/config-tools.html#
|
8
|
+
This config is provided by Modern.js Builder, more detail can see [tools.styleLoader](https://modernjs.dev/builder/en/api/config-tools.html#toolsstyleloader).
|
9
9
|
:::
|
10
10
|
|
11
11
|
import Main from '@modern-js/builder-doc/docs/en/config/tools/styleLoader.md'
|
@@ -5,7 +5,7 @@ sidebar_label: styledComponents
|
|
5
5
|
# tools.styledComponents
|
6
6
|
|
7
7
|
:::tip
|
8
|
-
This config is provided by Modern.js Builder, more detail can see [tools.styledComponents](https://modernjs.dev/builder/en/api/config-tools.html#
|
8
|
+
This config is provided by Modern.js Builder, more detail can see [tools.styledComponents](https://modernjs.dev/builder/en/api/config-tools.html#toolsstyledcomponents).
|
9
9
|
:::
|
10
10
|
|
11
11
|
import Main from '@modern-js/builder-doc/docs/en/config/tools/styledComponents.md'
|
@@ -32,4 +32,4 @@ When the value is of type `Function`, the object returned by the function is mer
|
|
32
32
|
|
33
33
|
The `theme` attribute is not allowed, otherwise the build will fail. Modern.js use [source.designSystem](/configure/app/source/design-system) as the Tailwind CSS Theme configuration.
|
34
34
|
|
35
|
-
Other uses are consistent with [Tailwind CSS](https://tailwindcss.com/docs/configuration)
|
35
|
+
Other uses are consistent with [Tailwind CSS](https://tailwindcss.com/docs/configuration).
|
@@ -5,7 +5,7 @@ sidebar_label: terser
|
|
5
5
|
# tools.terser
|
6
6
|
|
7
7
|
:::tip
|
8
|
-
This config is provided by Modern.js Builder, more detail can see [tools.terser](https://modernjs.dev/builder/en/api/config-tools.html#
|
8
|
+
This config is provided by Modern.js Builder, more detail can see [tools.terser](https://modernjs.dev/builder/en/api/config-tools.html#toolsterser).
|
9
9
|
:::
|
10
10
|
|
11
11
|
import Main from '@modern-js/builder-doc/docs/en/config/tools/terser.md'
|
@@ -5,7 +5,7 @@ sidebar_label: tsChecker
|
|
5
5
|
# tools.tsChecker
|
6
6
|
|
7
7
|
:::tip
|
8
|
-
This config is provided by Modern.js Builder, more detail can see [tools.tsChecker](https://modernjs.dev/builder/en/api/config-tools.html#
|
8
|
+
This config is provided by Modern.js Builder, more detail can see [tools.tsChecker](https://modernjs.dev/builder/en/api/config-tools.html#toolstschecker).
|
9
9
|
:::
|
10
10
|
|
11
11
|
import Main from '@modern-js/builder-doc/docs/en/config/tools/tsChecker.md'
|
@@ -5,7 +5,7 @@ sidebar_label: tsLoader
|
|
5
5
|
# tools.tsLoader
|
6
6
|
|
7
7
|
:::tip
|
8
|
-
This config is provided by Modern.js Builder, more detail can see [tools.tsLoader](https://modernjs.dev/builder/en/api/config-tools.html#
|
8
|
+
This config is provided by Modern.js Builder, more detail can see [tools.tsLoader](https://modernjs.dev/builder/en/api/config-tools.html#toolstsloader).
|
9
9
|
:::
|
10
10
|
|
11
11
|
import Main from '@modern-js/builder-doc/docs/en/config/tools/tsLoader.md'
|
@@ -5,7 +5,7 @@ sidebar_label: webpackChain
|
|
5
5
|
# tools.webpackChain
|
6
6
|
|
7
7
|
:::tip
|
8
|
-
This config is provided by Modern.js Builder, more detail can see [tools.webpackChain](https://modernjs.dev/builder/en/api/config-tools.html#
|
8
|
+
This config is provided by Modern.js Builder, more detail can see [tools.webpackChain](https://modernjs.dev/builder/en/api/config-tools.html#toolswebpackchain).
|
9
9
|
:::
|
10
10
|
|
11
11
|
import Main from '@modern-js/builder-doc/docs/en/config/tools/webpackChain.md'
|
@@ -5,7 +5,7 @@ sidebar_label: webpack
|
|
5
5
|
# tools.webpack
|
6
6
|
|
7
7
|
:::tip
|
8
|
-
This config is provided by Modern.js Builder, more detail can see [tools.webpack](https://modernjs.dev/builder/en/api/config-tools.html#
|
8
|
+
This config is provided by Modern.js Builder, more detail can see [tools.webpack](https://modernjs.dev/builder/en/api/config-tools.html#toolswebpack).
|
9
9
|
:::
|
10
10
|
|
11
11
|
import Main from '@modern-js/builder-doc/docs/en/config/tools/webpack.md'
|
@@ -2,7 +2,7 @@
|
|
2
2
|
sidebar_position: 0
|
3
3
|
---
|
4
4
|
|
5
|
-
#
|
5
|
+
# Configuring Modern.js
|
6
6
|
|
7
7
|
There are two configurations in the Modern.js, a compile configuration and a server runtime configuration.
|
8
8
|
|
@@ -69,6 +69,69 @@ export default defineConfig({
|
|
69
69
|
});
|
70
70
|
```
|
71
71
|
|
72
|
+
### Export Configuration Function
|
73
|
+
|
74
|
+
Modern.js supports exporting a function in the configuration file, and you can dynamically compute the configuration in the function and return it to Modern.js.
|
75
|
+
|
76
|
+
```js title="modern.config.js"
|
77
|
+
import { defineConfig } from '@modern-js/app-tools';
|
78
|
+
|
79
|
+
export default defineConfig(({ env, command }) => ({
|
80
|
+
source: {
|
81
|
+
alias: {
|
82
|
+
'@foo': env === 'development' ? './src/foo.dev.ts' : './src/foo.prod.ts',
|
83
|
+
},
|
84
|
+
},
|
85
|
+
}));
|
86
|
+
```
|
87
|
+
|
88
|
+
This function takes the following parameters:
|
89
|
+
|
90
|
+
- `env`: same as the value of `process.env.NODE_ENV`.
|
91
|
+
- When running `modern dev` or `modern start`, the value of `env` is `development`.
|
92
|
+
- When running `modern build` or `modern serve`, the value of `env` is `production`.
|
93
|
+
- When running `modern test`, the value of `env` is `test`.
|
94
|
+
- `command`: corresponds to the currently running command, such as `dev`, `start`, `build`, `serve`.
|
95
|
+
|
96
|
+
### Export Async Function
|
97
|
+
|
98
|
+
Modern.js also supports exporting an asynchronous function in the configuration file, you can perform some asynchronous operations in the function:
|
99
|
+
|
100
|
+
```js title="modern.config.js"
|
101
|
+
import { defineConfig } from '@modern-js/app-tools';
|
102
|
+
|
103
|
+
export default defineConfig(async ({ env, command }) => {
|
104
|
+
const result = await someAsyncFunction();
|
105
|
+
|
106
|
+
return {
|
107
|
+
html: {
|
108
|
+
title: result,
|
109
|
+
},
|
110
|
+
};
|
111
|
+
});
|
112
|
+
```
|
113
|
+
|
114
|
+
### Specify the Configuration File
|
115
|
+
|
116
|
+
You can specify the name of the configuration file using the `--config` option.
|
117
|
+
|
118
|
+
For example, if you need to use the `modern.prod.config.js` file when running build, you can add the following scripts to `package.json`:
|
119
|
+
|
120
|
+
```json title="package.json"
|
121
|
+
{
|
122
|
+
"scripts": {
|
123
|
+
"dev": "modern dev",
|
124
|
+
"build": "modern build --config modern.prod.config.js"
|
125
|
+
}
|
126
|
+
}
|
127
|
+
```
|
128
|
+
|
129
|
+
You can also abbreviate the `--config` option to `-c`:
|
130
|
+
|
131
|
+
```bash
|
132
|
+
$ modern build -c modern.prod.config.js
|
133
|
+
```
|
134
|
+
|
72
135
|
## Configure in package.json (not recommended)
|
73
136
|
|
74
137
|
In addition to configuration files, configuration options can also be set the `modernConfig` field in the `package.json`, such as:
|
@@ -25,6 +25,6 @@ export default defineConfig({
|
|
25
25
|
```
|
26
26
|
|
27
27
|
:::note
|
28
|
-
For more detail, see [bff.proxy](/configure/app/bff/proxy)
|
28
|
+
For more detail, see [bff.proxy](/configure/app/bff/proxy). For more proxy info, see [Proxy](/guides/basic-features/proxy).
|
29
29
|
|
30
30
|
:::
|
@@ -58,7 +58,7 @@ Function Writing & Framework Writing will introduce soon.
|
|
58
58
|
|
59
59
|
:::
|
60
60
|
|
61
|
-
All routes generated by BFF functions have a prefix, and the default value is `/api`. The prefix can be set through [bff.prefix]
|
61
|
+
All routes generated by BFF functions have a prefix, and the default value is `/api`. The prefix can be set through [bff.prefix](/configure/app/bff/prefix).
|
62
62
|
|
63
63
|
Several routing conventions are described as follow.
|
64
64
|
|
@@ -130,9 +130,9 @@ export const post = async () => {
|
|
130
130
|
};
|
131
131
|
```
|
132
132
|
|
133
|
-
- Modern.js supports 9 definitions for HTTP Method: `GET`、`POST`、`PUT`、`DELETE`、`CONNECT`、`TRACE`、`PATCH`、`OPTION`、`HEAD`, can be exported using these methods as functions
|
133
|
+
- Modern.js supports 9 definitions for HTTP Method: `GET`、`POST`、`PUT`、`DELETE`、`CONNECT`、`TRACE`、`PATCH`、`OPTION`、`HEAD`, can be exported using these methods as functions.
|
134
134
|
|
135
|
-
- The name is size insensitive,if `GET`,can write `get`、`Get`、`GEt`、`GET`,can be accurately identified. But default export as `export default xxx` will be map to `Get
|
135
|
+
- The name is size insensitive,if `GET`,can write `get`、`Get`、`GEt`、`GET`,can be accurately identified. But default export as `export default xxx` will be map to `Get`.
|
136
136
|
|
137
137
|
- Multiple functions of different Methods can be defined in one file, but if multiple functions of the same Method are defined, only the first will take effect.
|
138
138
|
|
@@ -56,7 +56,7 @@ function MyComponent() {
|
|
56
56
|
}
|
57
57
|
```
|
58
58
|
|
59
|
-
For detail, see [React lazy](https://reactjs.org/docs/code-splitting.html#reactlazy)
|
59
|
+
For detail, see [React lazy](https://reactjs.org/docs/code-splitting.html#reactlazy).
|
60
60
|
|
61
61
|
## loadable
|
62
62
|
|
@@ -72,7 +72,7 @@ function MyComponent() {
|
|
72
72
|
}
|
73
73
|
```
|
74
74
|
|
75
|
-
For detail, see [loadable API](/apis/app/runtime/utility/loadable)
|
75
|
+
For detail, see [loadable API](/apis/app/runtime/utility/loadable).
|
76
76
|
|
77
77
|
:::info
|
78
78
|
SSR is supported out of the box by `loadable`.
|
@@ -48,8 +48,8 @@ Modern.js also provides a runtime Polyfill solution based on browser [UA](https:
|
|
48
48
|
exec `pnpm run new` to enable this features:
|
49
49
|
|
50
50
|
```bash
|
51
|
-
?
|
52
|
-
?
|
51
|
+
? Action Enable features
|
52
|
+
? Enable features Enable UA-based Polyfill Feature
|
53
53
|
```
|
54
54
|
|
55
55
|
After executing the command, register the Polyfill plugin in `modern.config.ts`:
|
@@ -57,7 +57,6 @@ After executing the command, register the Polyfill plugin in `modern.config.ts`:
|
|
57
57
|
```ts title="modern.config.ts"
|
58
58
|
import polyfillPlugin from '@modern-js/plugin-polyfill';
|
59
59
|
|
60
|
-
// https://modernjs.dev/docs/apis/app/config
|
61
60
|
export default defineConfig({
|
62
61
|
plugins: [..., polyfillPlugin()],
|
63
62
|
});
|
@@ -43,7 +43,7 @@ pnpm run lint:error
|
|
43
43
|
/* eslint-enable filenames/match-exported */
|
44
44
|
```
|
45
45
|
|
46
|
-
:::info
|
46
|
+
:::info
|
47
47
|
在 VS Code 编辑器里输入 eslint,会自动出现关于 "eslint-disable" 的提示框,选择提示选项生成对应注释对。
|
48
48
|
|
49
49
|
:::
|
@@ -74,7 +74,7 @@ pnpm run lint:error
|
|
74
74
|
|
75
75
|
Modern.js 的应用工程、模块工程,源代码目录里都会默认有这个配置文件,是针对 Universal JS 代码设计的。
|
76
76
|
|
77
|
-
:::info
|
77
|
+
:::info
|
78
78
|
Universal JS 代码是既能浏览器端也能在服务器端运行的代码。
|
79
79
|
|
80
80
|
:::
|
@@ -106,7 +106,7 @@ module.exports = {
|
|
106
106
|
};
|
107
107
|
```
|
108
108
|
|
109
|
-
:::tip
|
109
|
+
:::tip
|
110
110
|
注意:没有必要使用 `extends` 字段,会自动继承父目录的配置。
|
111
111
|
|
112
112
|
:::
|
@@ -129,7 +129,7 @@ module.exports = {
|
|
129
129
|
|
130
130
|
做完这些操作之后,在业务项目的 `./node_modules` 目录里,这个插件应该只存在一份,并且升级到了你指定的版本。
|
131
131
|
|
132
|
-
:::tip
|
132
|
+
:::tip
|
133
133
|
- Major 版本就是主版本号。更多信息,请阅读【[Semantic Versioning](https://semver.org/#summary)】。
|
134
134
|
- 所有被 Modern.js 封装的上游项目(比如 ESLint、[ESLint 插件](https://eslint.org/docs/user-guide/configuring/plugins#plugins)、[React Router](https://reactrouter.com/) 等),也都可以这样升级。
|
135
135
|
- Modern.js 也会在每次发版中尽量及时的升级这些上游依赖。
|
@@ -10,7 +10,7 @@ Modern.js internally integrates tools such as [Babel](https://babeljs.io/), [Typ
|
|
10
10
|
|
11
11
|
Usually, the default configuration can meet most development needs. When there are special needs, it can be achieved through the underlying configuration.
|
12
12
|
|
13
|
-
Take configuring Webpack as an example, just add [
|
13
|
+
Take configuring Webpack as an example, just add [tools.webpack](/configure/app/tools/webpack) to the modern.config.ts:
|
14
14
|
|
15
15
|
```ts title="modern.config.ts"
|
16
16
|
export default defineConfig({
|
@@ -9,8 +9,8 @@ Static Site Generation is a solution for rendering complete static web pages at
|
|
9
9
|
First need to execute `pnpm run new` to enable the SSG features:
|
10
10
|
|
11
11
|
```bash
|
12
|
-
?
|
13
|
-
?
|
12
|
+
? Action Enable features
|
13
|
+
? Enable features Enable SSG
|
14
14
|
```
|
15
15
|
|
16
16
|
After execute script,register SSG plugin in `modern.config.ts`:
|
@@ -18,7 +18,6 @@ After execute script,register SSG plugin in `modern.config.ts`:
|
|
18
18
|
```ts title="modern.config.ts"
|
19
19
|
import ssgPlugin from '@modern-js/plugin-ssg';
|
20
20
|
|
21
|
-
// https://modernjs.dev/docs/apis/app/config
|
22
21
|
export default defineConfig({
|
23
22
|
output: {
|
24
23
|
ssg: true,
|
@@ -107,11 +106,11 @@ export default defineConfig({
|
|
107
106
|
});
|
108
107
|
```
|
109
108
|
|
110
|
-
run `pnpm run build` and `pnpm run serve`,access `http://localhost:8080/about`. In the Preview view, you can see that the page has been rendered
|
109
|
+
run `pnpm run build` and `pnpm run serve`,access `http://localhost:8080/about`. In the Preview view, you can see that the page has been rendered.
|
111
110
|
|
112
111
|
Looking at the bundle file, a new `main/about/index.html` file has been added in the `dist/` directory.
|
113
112
|
|
114
113
|
:::info
|
115
|
-
The above only introduces the single entry, more related content can be viewed [SSG API](/configure/app/output/ssg)
|
114
|
+
The above only introduces the single entry, more related content can be viewed [SSG API](/configure/app/output/ssg).
|
116
115
|
|
117
116
|
:::
|
@@ -44,7 +44,7 @@ And it provides elegant degradation processing. Once the SSR request fails, it w
|
|
44
44
|
However, developers still need to pay attention to the fallback of data, such as `null` values or data returns that do not as expect. Avoid React rendering errors or messy rendering results when SSR.
|
45
45
|
|
46
46
|
:::info
|
47
|
-
When using Data Loader, data fetching happens before rendering, Modern.js still supports fetching data when the component is rendered. See [Data Fetch](/guides/basic-features/data-fetch)
|
47
|
+
When using Data Loader, data fetching happens before rendering, Modern.js still supports fetching data when the component is rendered. See [Data Fetch](/guides/basic-features/data-fetch).
|
48
48
|
|
49
49
|
:::
|
50
50
|
|
@@ -198,7 +198,7 @@ This is because in the previous request, the SPR has asynchronously obtained the
|
|
198
198
|
It is conceivable that when `interval` is set to 1, users can have the responsive experience of a static page.
|
199
199
|
|
200
200
|
:::info
|
201
|
-
For more detail, see [`<PreRender>`](/apis/app/runtime/ssr/pre-render)
|
201
|
+
For more detail, see [`<PreRender>`](/apis/app/runtime/ssr/pre-render).
|
202
202
|
|
203
203
|
:::
|
204
204
|
|
@@ -254,11 +254,11 @@ In the second case, the Treeshaking method does not guarantee that the code is c
|
|
254
254
|
For example, the import of `fs-extra` in the code, when it is directly referenced to the component, will cause the CSR to load an error. You can create `.ts` and `.node.ts` files of the same name as a layer of proxy:
|
255
255
|
|
256
256
|
```ts title="compat.ts"
|
257
|
-
export
|
257
|
+
export const readFileSync: any = () => {};
|
258
258
|
```
|
259
259
|
|
260
260
|
```ts title="compat.node.ts"
|
261
|
-
export
|
261
|
+
export { readFileSync } from 'fs-extra';
|
262
262
|
```
|
263
263
|
|
264
264
|
use `./compat` directly into the file. At this time, files with the `.node.ts` suffix will be used first in the SSR environment, and files with the `.ts` suffix will be used in the CSR environment.
|
@@ -276,7 +276,7 @@ export const loader = () => {
|
|
276
276
|
|
277
277
|
### Independent File
|
278
278
|
|
279
|
-
Both of the above methods will bring some burden to the developer. Modern.js based on [Nested Routing](/guides/basic-features/routes) developed and designed [Data Fetch](/guides/basic-features/data-fetch) to separate CSR and SSR code
|
279
|
+
Both of the above methods will bring some burden to the developer. Modern.js based on [Nested Routing](/guides/basic-features/routes) developed and designed [Data Fetch](/guides/basic-features/data-fetch) to separate CSR and SSR code.
|
280
280
|
|
281
281
|
## Remote Request
|
282
282
|
|
@@ -9,8 +9,8 @@ Modern.js inherits the testing capabilities of [Jest](https://jestjs.io/) by def
|
|
9
9
|
First need to execute `pnpm run new` enable [unit test/integration test] features:
|
10
10
|
|
11
11
|
```
|
12
|
-
?
|
13
|
-
?
|
12
|
+
? Action: Enable features
|
13
|
+
? Enable features: Enable Unit Test / Integration Test
|
14
14
|
```
|
15
15
|
|
16
16
|
After executing the above command, the `"test": "modern test"` command will be automatically generated in package.json.
|
@@ -20,7 +20,6 @@ register plugin in `modern.config.ts`:
|
|
20
20
|
```ts title="modern.config.ts"
|
21
21
|
import testPlugin from '@modern-js/plugin-testing';
|
22
22
|
|
23
|
-
// https://modernjs.dev/docs/apis/app/config
|
24
23
|
export default defineConfig({
|
25
24
|
plugins: [..., testPlugin()],
|
26
25
|
});
|
@@ -28,7 +27,7 @@ export default defineConfig({
|
|
28
27
|
|
29
28
|
## Test file
|
30
29
|
|
31
|
-
Modern.js default recognized test file paths are: `<rootDir>/src/**/*.test.[jt]s?(x)` and `<rootDir>/tests/**/*.test.[jt]s?(x)
|
30
|
+
Modern.js default recognized test file paths are: `<rootDir>/src/**/*.test.[jt]s?(x)` and `<rootDir>/tests/**/*.test.[jt]s?(x)`.
|
32
31
|
|
33
32
|
If you need to customize the test directory, you can configure it with [tools.jest](/configure/app/tools/jest).
|
34
33
|
|
@@ -40,7 +39,7 @@ Modern.js test support [testing-library](https://testing-library.com/docs/). API
|
|
40
39
|
import { render, screen } from '@modern-js/runtime/testing';
|
41
40
|
```
|
42
41
|
|
43
|
-
Other Modern.js supported testing APIs can be found [here](/apis/app/runtime/testing/cleanup)
|
42
|
+
Other Modern.js supported testing APIs can be found [here](/apis/app/runtime/testing/cleanup).
|
44
43
|
|
45
44
|
## transform
|
46
45
|
|
@@ -90,7 +90,7 @@ export default async ({ params }: LoaderArgs) => {
|
|
90
90
|
};
|
91
91
|
```
|
92
92
|
|
93
|
-
|
93
|
+
When accessing `/user/123`, the parameters of the `loader` function are `{ params: { id: '123' } }`.
|
94
94
|
|
95
95
|
#### `request`
|
96
96
|
|
@@ -220,6 +220,26 @@ Currently, only CSR is supported, so stay tuned for Streaming SSR.
|
|
220
220
|
|
221
221
|
:::
|
222
222
|
|
223
|
+
Add the following code to `user/layout.loader.ts`:
|
224
|
+
|
225
|
+
```ts title="routes/user/layout.loader.ts"
|
226
|
+
import { defer } from "@edenx/runtime/router"
|
227
|
+
|
228
|
+
const loader = () =>
|
229
|
+
defer({
|
230
|
+
userInfo: new Promise((resolve) => {
|
231
|
+
setTimeout(() => {
|
232
|
+
resolve({
|
233
|
+
age: 1,
|
234
|
+
name: 'user layout'
|
235
|
+
})
|
236
|
+
}, 1000)
|
237
|
+
})
|
238
|
+
})
|
239
|
+
|
240
|
+
export default loader;
|
241
|
+
```
|
242
|
+
|
223
243
|
Add the following code to `user/layout.tsx`:
|
224
244
|
|
225
245
|
```tsx title="routes/user/layout.tsx"
|
@@ -230,13 +250,6 @@ import {
|
|
230
250
|
Outlet
|
231
251
|
} from '@modern-js/runtime/router';
|
232
252
|
|
233
|
-
export const loader = () => {
|
234
|
-
return defer({
|
235
|
-
// fetchUserInfo 是一个异步函数,返回用户信息
|
236
|
-
userInfo: fetchUserInfo(),
|
237
|
-
})
|
238
|
-
}
|
239
|
-
|
240
253
|
export default function UserLayout() {
|
241
254
|
const { userInfo } = useLoaderData() as {userInfo: Promise<UserInfo>};
|
242
255
|
return (
|
@@ -167,4 +167,4 @@ const foo = TWO;
|
|
167
167
|
const foo = 1 + 1;
|
168
168
|
```
|
169
169
|
|
170
|
-
In most cases, `source.globalVars` is already sufficient to replace variables. But the values passed in by `source.globalVars` will be serialized by JSON by default. So it cannot be replaced like `1 + 1` in the example above,at this time, we need use [`source.define`](/configure/app/source/define)
|
170
|
+
In most cases, `source.globalVars` is already sufficient to replace variables. But the values passed in by `source.globalVars` will be serialized by JSON by default. So it cannot be replaced like `1 + 1` in the example above,at this time, we need use [`source.define`](/configure/app/source/define).
|
@@ -4,7 +4,7 @@ sidebar_position: 9
|
|
4
4
|
---
|
5
5
|
# HTML Template
|
6
6
|
|
7
|
-
Modern.js provides **JSX syntax** and **HTML(
|
7
|
+
Modern.js provides **JSX syntax** and **HTML(EJS) syntax** for customizing HTML template.
|
8
8
|
|
9
9
|
## JSX syntax
|
10
10
|
|
@@ -14,14 +14,14 @@ For example the following directory structure:
|
|
14
14
|
|
15
15
|
```bash
|
16
16
|
.
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
│
|
21
|
-
│
|
22
|
-
|
23
|
-
│
|
24
|
-
|
17
|
+
└── src
|
18
|
+
├── Document.tsx
|
19
|
+
├── entry-a
|
20
|
+
│ ├── Document.tsx
|
21
|
+
│ └── routes
|
22
|
+
├── entry-b
|
23
|
+
│ └── routes
|
24
|
+
└── modern-app-env.d.ts
|
25
25
|
```
|
26
26
|
|
27
27
|
`entry-a` will take precedence over the `Docoument.[jt]sx` file under the current entry. If the current entry does not have a `Document.[jt]sx` file, such as `entry-b`, it will look for the `Document.[jt]sx` file in the root directory.
|
@@ -42,7 +42,7 @@ These components are rendered:
|
|
42
42
|
|
43
43
|
- `Body`:Provide the ability of native Body Element, which needs to contain the `<Root>` component internally, and also supports other elements as child elements at the same time, such as adding footers.
|
44
44
|
|
45
|
-
- `Root`:React root element `<div id='root'></div
|
45
|
+
- `Root`:React root element `<div id='root'></div>`. the default element id is `id = 'root'`, can set `props.rootId` to change the id.Child components can be added, and will also be rendered into HTML templates, which will be overwritten when React rendering is complete, generally used to implement global Loading.
|
46
46
|
|
47
47
|
- `Head`:Provides native Head Element capabilities and automatically populates `<meta>`, as well as the `<Scripts>` component.
|
48
48
|
|
@@ -193,7 +193,7 @@ In the application root directory, create the `config/html/` directory, which su
|
|
193
193
|
</html>
|
194
194
|
```
|
195
195
|
|
196
|
-
HTML Fragments support the use [Lodash template](https://lodash.com/docs/4.17.15#template)
|
196
|
+
HTML Fragments support the use [Lodash template](https://lodash.com/docs/4.17.15#template).
|
197
197
|
|
198
198
|
For example, insert a script in `body.html`:
|
199
199
|
|
@@ -40,7 +40,7 @@ export default {
|
|
40
40
|
};
|
41
41
|
```
|
42
42
|
|
43
|
-
when access `http://localhost:8080/api/getInfo`, the api will return json `{ "data": [1, 2, 3, 4] }
|
43
|
+
when access `http://localhost:8080/api/getInfo`, the api will return json `{ "data": [1, 2, 3, 4] }`.
|
44
44
|
|
45
45
|
## Return Random Data
|
46
46
|
|
@@ -77,3 +77,23 @@ export default {
|
|
77
77
|
},
|
78
78
|
};
|
79
79
|
```
|
80
|
+
|
81
|
+
## Use Mock On Demand
|
82
|
+
|
83
|
+
Under the `config/mock/index.ts`, you can also export the `config` to control the Mock service.
|
84
|
+
|
85
|
+
```ts
|
86
|
+
type MockConfig = {
|
87
|
+
enable: ((req: IncomingMessage, res: ServerResponse) => boolean) | boolean;
|
88
|
+
};
|
89
|
+
|
90
|
+
export const config = {
|
91
|
+
enable: false
|
92
|
+
}
|
93
|
+
```
|
94
|
+
|
95
|
+
Currently only the `enable` configuration is supported, through which developers can control whether to execute Mock.
|
96
|
+
|
97
|
+
:::note
|
98
|
+
After modifying `config`, there is no need to restart the service, which will take effect immediately.
|
99
|
+
:::
|