@modern-js/main-doc 0.0.0-next-20221116121040
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/.eslintrc.js +12 -0
- package/CHANGELOG.md +15 -0
- package/LICENSE +144 -0
- package/en/configure/app/dev/asset-prefix.md +13 -0
- package/en/configure/app/dev/hmr.md +13 -0
- package/en/configure/app/dev/https.md +13 -0
- package/en/configure/app/dev/port.md +13 -0
- package/en/configure/app/dev/progress-bar.md +13 -0
- package/en/configure/app/dev/start-url.md +13 -0
- package/en/configure/app/html/app-icon.md +13 -0
- package/en/configure/app/html/crossorigin.md +13 -0
- package/en/configure/app/html/disable-html-folder.md +13 -0
- package/en/configure/app/html/favicon-by-entries.md +13 -0
- package/en/configure/app/html/favicon.md +13 -0
- package/en/configure/app/html/inject-by-entries.md +13 -0
- package/en/configure/app/html/inject.md +13 -0
- package/en/configure/app/html/meta-by-entries.md +13 -0
- package/en/configure/app/html/meta.md +13 -0
- package/en/configure/app/html/mount-id.md +13 -0
- package/en/configure/app/html/template-by-entries.md +13 -0
- package/en/configure/app/html/template-parameters-by-entries.md +13 -0
- package/en/configure/app/html/template-parameters.md +13 -0
- package/en/configure/app/html/template.md +13 -0
- package/en/configure/app/html/title-by-entries.md +13 -0
- package/en/configure/app/html/title.md +13 -0
- package/en/configure/app/output/asset-prefix.md +13 -0
- package/en/configure/app/output/assets-retry.md +13 -0
- package/en/configure/app/output/charset.md +13 -0
- package/en/configure/app/output/clean-dist-path.md +13 -0
- package/en/configure/app/output/convert-to-rem.md +13 -0
- package/en/configure/app/output/copy.md +13 -0
- package/en/configure/app/output/css-module-local-ident-name.md +13 -0
- package/en/configure/app/output/data-uri-limit.md +13 -0
- package/en/configure/app/output/disable-css-module-extension.md +13 -0
- package/en/configure/app/output/disable-filename-hash.md +13 -0
- package/en/configure/app/output/disable-inline-runtime-chunk.md +13 -0
- package/en/configure/app/output/disable-minimize.md +13 -0
- package/en/configure/app/output/disable-source-map.md +13 -0
- package/en/configure/app/output/dist-path.md +13 -0
- package/en/configure/app/output/enable-asset-fallback.md +13 -0
- package/en/configure/app/output/enable-asset-manifest.md +13 -0
- package/en/configure/app/output/enable-css-module-tsdeclaration.md +13 -0
- package/en/configure/app/output/enable-inline-scripts.md +13 -0
- package/en/configure/app/output/enable-inline-styles.md +13 -0
- package/en/configure/app/output/enable-latest-decorators.md +13 -0
- package/en/configure/app/output/externals.md +13 -0
- package/en/configure/app/output/filename.md +13 -0
- package/en/configure/app/output/legal-comments.md +13 -0
- package/en/configure/app/output/override-browserslist.md +13 -0
- package/en/configure/app/output/polyfill.md +13 -0
- package/en/configure/app/output/svg-default-export.md +13 -0
- package/en/configure/app/performance/build-cache.md +13 -0
- package/en/configure/app/performance/bundle-analyze.md +13 -0
- package/en/configure/app/performance/chunk-split.md +13 -0
- package/en/configure/app/performance/print-file-size.md +13 -0
- package/en/configure/app/performance/profile.md +13 -0
- package/en/configure/app/performance/remove-console.md +13 -0
- package/en/configure/app/performance/remove-moment-locale.md +13 -0
- package/en/configure/app/security/sri.md +13 -0
- package/en/configure/app/source/alias.md +13 -0
- package/en/configure/app/source/compile-js-data-uri.md +13 -0
- package/en/configure/app/source/define.md +13 -0
- package/en/configure/app/source/global-vars.md +13 -0
- package/en/configure/app/source/include.md +13 -0
- package/en/configure/app/source/module-scopes.md +13 -0
- package/en/configure/app/source/pre-entry.md +13 -0
- package/en/configure/app/source/resolve-extension-prefix.md +13 -0
- package/en/configure/app/source/resolve-main-fields.md +13 -0
- package/en/configure/app/tools/autoprefixer.md +13 -0
- package/en/configure/app/tools/babel.md +13 -0
- package/en/configure/app/tools/css-extract.md +13 -0
- package/en/configure/app/tools/css-loader.md +13 -0
- package/en/configure/app/tools/dev-server.md +13 -0
- package/en/configure/app/tools/html-plugin.md +13 -0
- package/en/configure/app/tools/inspector.md +13 -0
- package/en/configure/app/tools/less.md +13 -0
- package/en/configure/app/tools/minify-css.md +13 -0
- package/en/configure/app/tools/postcss.md +13 -0
- package/en/configure/app/tools/pug.md +13 -0
- package/en/configure/app/tools/sass.md +13 -0
- package/en/configure/app/tools/style-loader.md +13 -0
- package/en/configure/app/tools/styled-components.md +13 -0
- package/en/configure/app/tools/terser.md +13 -0
- package/en/configure/app/tools/ts-checker.md +13 -0
- package/en/configure/app/tools/ts-loader.md +13 -0
- package/en/configure/app/tools/webpack-chain.md +13 -0
- package/en/configure/app/tools/webpack.md +13 -0
- package/en/tutorials/foundations/_category_.json +5 -0
- package/en/tutorials/foundations/basic.md +8 -0
- package/en/tutorials/foundations/introduction.md +43 -0
- package/package.json +30 -0
- package/scripts/gen-config.ts +60 -0
- package/scripts/sync.ts +36 -0
- package/tsconfig.json +7 -0
- package/zh/apis/app/commands/_category_.json +8 -0
- package/zh/apis/app/commands/build.md +44 -0
- package/zh/apis/app/commands/dev.md +31 -0
- package/zh/apis/app/commands/index.md +12 -0
- package/zh/apis/app/commands/inspect.md +39 -0
- package/zh/apis/app/commands/lint.md +22 -0
- package/zh/apis/app/commands/new.md +59 -0
- package/zh/apis/app/commands/start.md +32 -0
- package/zh/apis/app/commands/test.md +36 -0
- package/zh/apis/app/commands/upgrade.md +23 -0
- package/zh/apis/app/hooks/_category_.json +8 -0
- package/zh/apis/app/hooks/api/_category_.json +4 -0
- package/zh/apis/app/hooks/api/framework/_category_.json +4 -0
- package/zh/apis/app/hooks/api/framework/app.md +100 -0
- package/zh/apis/app/hooks/api/framework/lambda.md +79 -0
- package/zh/apis/app/hooks/api/functions/_category_.json +4 -0
- package/zh/apis/app/hooks/api/functions/api.md +50 -0
- package/zh/apis/app/hooks/api/functions/app.md +10 -0
- package/zh/apis/app/hooks/api/functions/common.md +10 -0
- package/zh/apis/app/hooks/api/test.md +12 -0
- package/zh/apis/app/hooks/config/_category_.json +4 -0
- package/zh/apis/app/hooks/config/html.md +10 -0
- package/zh/apis/app/hooks/config/icon.md +17 -0
- package/zh/apis/app/hooks/config/mock.md +12 -0
- package/zh/apis/app/hooks/config/public.md +30 -0
- package/zh/apis/app/hooks/config/storybook.md +14 -0
- package/zh/apis/app/hooks/config/upload.md +48 -0
- package/zh/apis/app/hooks/index.md +12 -0
- package/zh/apis/app/hooks/modern-config.md +10 -0
- package/zh/apis/app/hooks/server/_category_.json +4 -0
- package/zh/apis/app/hooks/server/index.md +14 -0
- package/zh/apis/app/hooks/server/test.md +12 -0
- package/zh/apis/app/hooks/shared.md +8 -0
- package/zh/apis/app/hooks/src/_category_.json +4 -0
- package/zh/apis/app/hooks/src/app.md +41 -0
- package/zh/apis/app/hooks/src/error.md +10 -0
- package/zh/apis/app/hooks/src/eslint.md +9 -0
- package/zh/apis/app/hooks/src/index.md +35 -0
- package/zh/apis/app/hooks/src/pages.md +183 -0
- package/zh/apis/app/hooks/src/stories.md +14 -0
- package/zh/apis/app/hooks/src/test.md +12 -0
- package/zh/apis/app/overview.md +11 -0
- package/zh/apis/app/runtime/_category_.json +9 -0
- package/zh/apis/app/runtime/app/_category_.json +4 -0
- package/zh/apis/app/runtime/app/bootstrap.md +83 -0
- package/zh/apis/app/runtime/app/create-app.md +47 -0
- package/zh/apis/app/runtime/app/define-config.md +57 -0
- package/zh/apis/app/runtime/app/head.md +43 -0
- package/zh/apis/app/runtime/app/no-ssr.md +41 -0
- package/zh/apis/app/runtime/app/pre-render.md +77 -0
- package/zh/apis/app/runtime/app/use-module-app.md +60 -0
- package/zh/apis/app/runtime/app/use-module-apps.md +64 -0
- package/zh/apis/app/runtime/app/use-runtime-context.md +39 -0
- package/zh/apis/app/runtime/bff-server/_category_.json +4 -0
- package/zh/apis/app/runtime/bff-server/after-lambda-registed.md +35 -0
- package/zh/apis/app/runtime/bff-server/hook.md +120 -0
- package/zh/apis/app/runtime/bff-server/use-context.md +70 -0
- package/zh/apis/app/runtime/container/_category_.json +4 -0
- package/zh/apis/app/runtime/container/router.md +492 -0
- package/zh/apis/app/runtime/container/use-loader.md +64 -0
- package/zh/apis/app/runtime/default-alias.md +26 -0
- package/zh/apis/app/runtime/env.md +68 -0
- package/zh/apis/app/runtime/index.md +12 -0
- package/zh/apis/app/runtime/model/Provider.md +36 -0
- package/zh/apis/app/runtime/model/_category_.json +4 -0
- package/zh/apis/app/runtime/model/auto-actions.md +121 -0
- package/zh/apis/app/runtime/model/connect.md +134 -0
- package/zh/apis/app/runtime/model/create-app.md +74 -0
- package/zh/apis/app/runtime/model/create-store.md +60 -0
- package/zh/apis/app/runtime/model/handle-effect.md +106 -0
- package/zh/apis/app/runtime/model/model_.md +199 -0
- package/zh/apis/app/runtime/model/use-local-model.md +28 -0
- package/zh/apis/app/runtime/model/use-model.md +87 -0
- package/zh/apis/app/runtime/model/use-static-model.md +47 -0
- package/zh/apis/app/runtime/model/use-store.md +48 -0
- package/zh/apis/app/runtime/plugin/_category_.json +4 -0
- package/zh/apis/app/runtime/plugin/abstract.md +26 -0
- package/zh/apis/app/runtime/plugin/hook-api.md +896 -0
- package/zh/apis/app/runtime/plugin/hook.md +170 -0
- package/zh/apis/app/runtime/plugin/plugin-api.md +117 -0
- package/zh/apis/app/runtime/testing/_category_.json +4 -0
- package/zh/apis/app/runtime/testing/act.md +34 -0
- package/zh/apis/app/runtime/testing/cleanup.md +37 -0
- package/zh/apis/app/runtime/testing/render.md +52 -0
- package/zh/apis/app/runtime/testing/renderApp.md +31 -0
- package/zh/apis/app/runtime/utility/_category_.json +4 -0
- package/zh/apis/app/runtime/utility/css-in-js.md +60 -0
- package/zh/apis/app/runtime/utility/loadable/_category_.json +4 -0
- package/zh/apis/app/runtime/utility/loadable/lazy.md +29 -0
- package/zh/apis/app/runtime/utility/loadable/loadable-component.md +61 -0
- package/zh/apis/app/runtime/utility/loadable/loadable-library.md +67 -0
- package/zh/apis/app/runtime/utility/loadable/loadable_.md +110 -0
- package/zh/apis/app/runtime/web-server/_category_.json +4 -0
- package/zh/apis/app/runtime/web-server/hook.md +121 -0
- package/zh/apis/generator/overview.md +32 -0
- package/zh/apis/generator/plugin/_category_.json +4 -0
- package/zh/apis/generator/plugin/file/_category_.json +4 -0
- package/zh/apis/generator/plugin/file/addFile.md +52 -0
- package/zh/apis/generator/plugin/file/addHelper.md +26 -0
- package/zh/apis/generator/plugin/file/addManyFile.md +55 -0
- package/zh/apis/generator/plugin/file/addPartial.md +26 -0
- package/zh/apis/generator/plugin/file/introduce.md +37 -0
- package/zh/apis/generator/plugin/file/rmDir.md +24 -0
- package/zh/apis/generator/plugin/file/rmFile.md +24 -0
- package/zh/apis/generator/plugin/file/updateJSONFile.md +52 -0
- package/zh/apis/generator/plugin/file/updateModernConfig.md +26 -0
- package/zh/apis/generator/plugin/file/updateTextRawFile.md +33 -0
- package/zh/apis/generator/plugin/git/_category_.json +4 -0
- package/zh/apis/generator/plugin/git/gitAddAndCommit.md +20 -0
- package/zh/apis/generator/plugin/git/initGitRepo.md +16 -0
- package/zh/apis/generator/plugin/git/isInGitRepo.md +16 -0
- package/zh/apis/generator/plugin/hook/_category_.json +4 -0
- package/zh/apis/generator/plugin/hook/afterForged.md +35 -0
- package/zh/apis/generator/plugin/hook/onForged.md +35 -0
- package/zh/apis/generator/plugin/info/_category_.json +4 -0
- package/zh/apis/generator/plugin/info/isFileExit.md +22 -0
- package/zh/apis/generator/plugin/info/locale.md +17 -0
- package/zh/apis/generator/plugin/info/readDir.md +22 -0
- package/zh/apis/generator/plugin/input/_category_.json +4 -0
- package/zh/apis/generator/plugin/input/addInputAfter.md +48 -0
- package/zh/apis/generator/plugin/input/addInputBefore.md +48 -0
- package/zh/apis/generator/plugin/input/addOptionAfter.md +45 -0
- package/zh/apis/generator/plugin/input/addOptionBefore.md +45 -0
- package/zh/apis/generator/plugin/input/setInput.md +42 -0
- package/zh/apis/generator/plugin/input/setInputValue.md +28 -0
- package/zh/apis/generator/plugin/input/type.md +101 -0
- package/zh/apis/generator/plugin/introduce.md +93 -0
- package/zh/apis/generator/plugin/new/_category_.json +4 -0
- package/zh/apis/generator/plugin/new/createElement.md +33 -0
- package/zh/apis/generator/plugin/new/createSubProject.md +35 -0
- package/zh/apis/generator/plugin/new/enableFunc.md +46 -0
- package/zh/apis/generator/plugin/new/introduce.md +15 -0
- package/zh/apis/generator/plugin/npm/_category_.json +4 -0
- package/zh/apis/generator/plugin/npm/install.md +16 -0
- package/zh/apis/monorepo/commands/_category_.json +8 -0
- package/zh/apis/monorepo/commands/bump.md +42 -0
- package/zh/apis/monorepo/commands/change.md +58 -0
- package/zh/apis/monorepo/commands/clear.md +27 -0
- package/zh/apis/monorepo/commands/deploy.md +39 -0
- package/zh/apis/monorepo/commands/gen-release-note.md +35 -0
- package/zh/apis/monorepo/commands/index.md +12 -0
- package/zh/apis/monorepo/commands/lint.md +21 -0
- package/zh/apis/monorepo/commands/new.md +41 -0
- package/zh/apis/monorepo/commands/pre.md +68 -0
- package/zh/apis/monorepo/commands/release.md +20 -0
- package/zh/apis/monorepo/commands/upgrade.md +23 -0
- package/zh/apis/monorepo/hooks/_category_.json +8 -0
- package/zh/apis/monorepo/hooks/apps.md +12 -0
- package/zh/apis/monorepo/hooks/code-workspace.md +10 -0
- package/zh/apis/monorepo/hooks/examples.md +14 -0
- package/zh/apis/monorepo/hooks/features.md +14 -0
- package/zh/apis/monorepo/hooks/index.md +12 -0
- package/zh/apis/monorepo/hooks/packages.md +14 -0
- package/zh/apis/monorepo/hooks/pnpm-workspace.md +10 -0
- package/zh/apis/monorepo/hooks/pnpmfile.md +10 -0
- package/zh/apis/monorepo/overview.md +11 -0
- package/zh/community/index.md +3 -0
- package/zh/components/command-tip.md +57 -0
- package/zh/components/deploy.md +60 -0
- package/zh/components/dev-ide.md +1 -0
- package/zh/components/entry-name.md +15 -0
- package/zh/components/env-prepare.md +1 -0
- package/zh/components/launch-bff-choices.md +6 -0
- package/zh/components/reduck-tip.md +5 -0
- package/zh/configure/app/bff/_category_.json +4 -0
- package/zh/configure/app/bff/fetcher.md +32 -0
- package/zh/configure/app/bff/prefix.md +38 -0
- package/zh/configure/app/bff/proxy.md +76 -0
- package/zh/configure/app/dev/_category_.json +4 -0
- package/zh/configure/app/dev/asset-prefix.md +13 -0
- package/zh/configure/app/dev/hmr.md +13 -0
- package/zh/configure/app/dev/https.md +13 -0
- package/zh/configure/app/dev/port.md +13 -0
- package/zh/configure/app/dev/progress-bar.md +13 -0
- package/zh/configure/app/dev/proxy.md +79 -0
- package/zh/configure/app/dev/start-url.md +13 -0
- package/zh/configure/app/dev/with-master-app.md +35 -0
- package/zh/configure/app/html/app-icon.md +13 -0
- package/zh/configure/app/html/crossorigin.md +13 -0
- package/zh/configure/app/html/disable-html-folder.md +13 -0
- package/zh/configure/app/html/favicon-by-entries.md +13 -0
- package/zh/configure/app/html/favicon.md +13 -0
- package/zh/configure/app/html/inject-by-entries.md +13 -0
- package/zh/configure/app/html/inject.md +13 -0
- package/zh/configure/app/html/meta-by-entries.md +13 -0
- package/zh/configure/app/html/meta.md +13 -0
- package/zh/configure/app/html/mount-id.md +13 -0
- package/zh/configure/app/html/template-by-entries.md +13 -0
- package/zh/configure/app/html/template-parameters-by-entries.md +13 -0
- package/zh/configure/app/html/template-parameters.md +13 -0
- package/zh/configure/app/html/template.md +13 -0
- package/zh/configure/app/html/title-by-entries.md +13 -0
- package/zh/configure/app/html/title.md +13 -0
- package/zh/configure/app/output/_category_.json +4 -0
- package/zh/configure/app/output/asset-prefix.md +13 -0
- package/zh/configure/app/output/assets-retry.md +13 -0
- package/zh/configure/app/output/charset.md +13 -0
- package/zh/configure/app/output/clean-dist-path.md +13 -0
- package/zh/configure/app/output/convert-to-rem.md +13 -0
- package/zh/configure/app/output/copy.md +13 -0
- package/zh/configure/app/output/css-module-local-ident-name.md +13 -0
- package/zh/configure/app/output/data-uri-limit.md +13 -0
- package/zh/configure/app/output/disable-css-module-extension.md +13 -0
- package/zh/configure/app/output/disable-filename-hash.md +13 -0
- package/zh/configure/app/output/disable-inline-runtime-chunk.md +13 -0
- package/zh/configure/app/output/disable-minimize.md +13 -0
- package/zh/configure/app/output/disable-node-polyfill.md +24 -0
- package/zh/configure/app/output/disable-source-map.md +13 -0
- package/zh/configure/app/output/dist-path.md +13 -0
- package/zh/configure/app/output/enable-asset-fallback.md +13 -0
- package/zh/configure/app/output/enable-asset-manifest.md +13 -0
- package/zh/configure/app/output/enable-css-module-tsdeclaration.md +13 -0
- package/zh/configure/app/output/enable-inline-scripts.md +13 -0
- package/zh/configure/app/output/enable-inline-styles.md +13 -0
- package/zh/configure/app/output/enable-latest-decorators.md +13 -0
- package/zh/configure/app/output/enable-modern-mode.md +26 -0
- package/zh/configure/app/output/externals.md +13 -0
- package/zh/configure/app/output/filename.md +13 -0
- package/zh/configure/app/output/legal-comments.md +13 -0
- package/zh/configure/app/output/override-browserslist.md +13 -0
- package/zh/configure/app/output/polyfill.md +13 -0
- package/zh/configure/app/output/ssg.md +226 -0
- package/zh/configure/app/output/svg-default-export.md +13 -0
- package/zh/configure/app/performance/build-cache.md +13 -0
- package/zh/configure/app/performance/bundle-analyze.md +13 -0
- package/zh/configure/app/performance/chunk-split.md +13 -0
- package/zh/configure/app/performance/print-file-size.md +13 -0
- package/zh/configure/app/performance/profile.md +13 -0
- package/zh/configure/app/performance/remove-console.md +13 -0
- package/zh/configure/app/performance/remove-moment-locale.md +13 -0
- package/zh/configure/app/plugins.md +74 -0
- package/zh/configure/app/runtime/_category_.json +4 -0
- package/zh/configure/app/runtime/master-app.md +72 -0
- package/zh/configure/app/runtime/router.md +54 -0
- package/zh/configure/app/runtime/state.md +45 -0
- package/zh/configure/app/security/sri.md +13 -0
- package/zh/configure/app/server/_category_.json +4 -0
- package/zh/configure/app/server/base-url.md +36 -0
- package/zh/configure/app/server/port.md +21 -0
- package/zh/configure/app/server/public-routes.md +29 -0
- package/zh/configure/app/server/routes.md +92 -0
- package/zh/configure/app/server/ssr-by-entries.md +32 -0
- package/zh/configure/app/server/ssr.md +24 -0
- package/zh/configure/app/source/_category_.json +4 -0
- package/zh/configure/app/source/alias.md +13 -0
- package/zh/configure/app/source/compile-js-data-uri.md +13 -0
- package/zh/configure/app/source/config-dir.md +15 -0
- package/zh/configure/app/source/define.md +13 -0
- package/zh/configure/app/source/design-system.md +1156 -0
- package/zh/configure/app/source/disable-default-entries.md +23 -0
- package/zh/configure/app/source/enable-async-entry.md +53 -0
- package/zh/configure/app/source/entries-dir.md +42 -0
- package/zh/configure/app/source/entries.md +55 -0
- package/zh/configure/app/source/global-vars.md +13 -0
- package/zh/configure/app/source/include.md +13 -0
- package/zh/configure/app/source/module-scopes.md +13 -0
- package/zh/configure/app/source/pre-entry.md +13 -0
- package/zh/configure/app/source/resolve-extension-prefix.md +13 -0
- package/zh/configure/app/source/resolve-main-fields.md +13 -0
- package/zh/configure/app/testing/_category_.json +4 -0
- package/zh/configure/app/testing/transformer.md +17 -0
- package/zh/configure/app/tools/_category_.json +4 -0
- package/zh/configure/app/tools/autoprefixer.md +13 -0
- package/zh/configure/app/tools/babel.md +13 -0
- package/zh/configure/app/tools/css-extract.md +13 -0
- package/zh/configure/app/tools/css-loader.md +13 -0
- package/zh/configure/app/tools/dev-server.md +13 -0
- package/zh/configure/app/tools/esbuild.md +61 -0
- package/zh/configure/app/tools/html-plugin.md +13 -0
- package/zh/configure/app/tools/inspector.md +13 -0
- package/zh/configure/app/tools/jest.md +41 -0
- package/zh/configure/app/tools/less.md +13 -0
- package/zh/configure/app/tools/minify-css.md +13 -0
- package/zh/configure/app/tools/postcss.md +13 -0
- package/zh/configure/app/tools/pug.md +13 -0
- package/zh/configure/app/tools/sass.md +13 -0
- package/zh/configure/app/tools/style-loader.md +13 -0
- package/zh/configure/app/tools/styled-components.md +13 -0
- package/zh/configure/app/tools/tailwindcss.md +48 -0
- package/zh/configure/app/tools/terser.md +13 -0
- package/zh/configure/app/tools/ts-checker.md +13 -0
- package/zh/configure/app/tools/ts-loader.md +13 -0
- package/zh/configure/app/tools/webpack-chain.md +13 -0
- package/zh/configure/app/tools/webpack.md +13 -0
- package/zh/configure/app/usage.md +81 -0
- package/zh/configure/generator/introduce.md +113 -0
- package/zh/configure/generator/module.md +43 -0
- package/zh/configure/generator/monorepo.md +28 -0
- package/zh/configure/generator/mwa.md +127 -0
- package/zh/guides/advanced-features/_category_.json +9 -0
- package/zh/guides/advanced-features/bff/_category_.json +4 -0
- package/zh/guides/advanced-features/bff/bff-proxy.md +25 -0
- package/zh/guides/advanced-features/bff/bff-server.md +142 -0
- package/zh/guides/advanced-features/bff/frameworks.md +348 -0
- package/zh/guides/advanced-features/bff/function.md +236 -0
- package/zh/guides/advanced-features/code-split.md +68 -0
- package/zh/guides/advanced-features/compatibility.md +89 -0
- package/zh/guides/advanced-features/custom-app.md +4 -0
- package/zh/guides/advanced-features/eslint.md +146 -0
- package/zh/guides/advanced-features/index.md +12 -0
- package/zh/guides/advanced-features/low-level.md +44 -0
- package/zh/guides/advanced-features/ssg.md +151 -0
- package/zh/guides/advanced-features/ssr.md +186 -0
- package/zh/guides/advanced-features/testing.md +4 -0
- package/zh/guides/advanced-features/typescript.md +4 -0
- package/zh/guides/advanced-features/web-server.md +135 -0
- package/zh/guides/basic-features/_category_.json +9 -0
- package/zh/guides/basic-features/alias.md +67 -0
- package/zh/guides/basic-features/css/_category_.json +4 -0
- package/zh/guides/basic-features/css/css-in-js.md +38 -0
- package/zh/guides/basic-features/css/css-modules.md +86 -0
- package/zh/guides/basic-features/css/less-sass.md +29 -0
- package/zh/guides/basic-features/css/postcss.md +81 -0
- package/zh/guides/basic-features/css/tailwindcss.md +98 -0
- package/zh/guides/basic-features/data-fetch.md +4 -0
- package/zh/guides/basic-features/env-vars.md +83 -0
- package/zh/guides/basic-features/html.md +128 -0
- package/zh/guides/basic-features/image.md +43 -0
- package/zh/guides/basic-features/index.md +12 -0
- package/zh/guides/basic-features/mock.md +85 -0
- package/zh/guides/basic-features/proxy.md +85 -0
- package/zh/guides/basic-features/routes.md +4 -0
- package/zh/guides/concept/_category_.json +5 -0
- package/zh/guides/concept/entries.md +4 -0
- package/zh/guides/concept/integrated.md +4 -0
- package/zh/guides/concept/lifecycle.md +4 -0
- package/zh/guides/concept/solutions.md +4 -0
- package/zh/guides/get-started/_category_.json +5 -0
- package/zh/guides/get-started/quick-start.md +4 -0
- package/zh/guides/get-started/upgrade.md +4 -0
- package/zh/guides/overview.md +11 -0
- package/zh/guides/topic-detail/_category_.json +5 -0
- package/zh/guides/topic-detail/changesets/_category_.json +4 -0
- package/zh/guides/topic-detail/changesets/add.md +125 -0
- package/zh/guides/topic-detail/changesets/changelog.md +239 -0
- package/zh/guides/topic-detail/changesets/commit.md +272 -0
- package/zh/guides/topic-detail/changesets/config.md +146 -0
- package/zh/guides/topic-detail/changesets/github.md +168 -0
- package/zh/guides/topic-detail/changesets/introduce.md +57 -0
- package/zh/guides/topic-detail/changesets/release-note.md +262 -0
- package/zh/guides/topic-detail/changesets/release-pre.md +49 -0
- package/zh/guides/topic-detail/changesets/release.md +228 -0
- package/zh/guides/topic-detail/compile-speed.md +182 -0
- package/zh/guides/topic-detail/framework-plugin/_category_.json +4 -0
- package/zh/guides/topic-detail/framework-plugin/abstract.md +27 -0
- package/zh/guides/topic-detail/framework-plugin/extend.md +163 -0
- package/zh/guides/topic-detail/framework-plugin/implement.md +188 -0
- package/zh/guides/topic-detail/framework-plugin/relationship.md +119 -0
- package/zh/guides/topic-detail/generator-plugin/_category_.json +4 -0
- package/zh/guides/topic-detail/generator-plugin/abstract.md +23 -0
- package/zh/guides/topic-detail/generator-plugin/develop.md +120 -0
- package/zh/guides/topic-detail/generator-plugin/use.md +61 -0
- package/zh/guides/topic-detail/micro-frontend/_category_.json +4 -0
- package/zh/guides/topic-detail/micro-frontend/communicate.md +39 -0
- package/zh/guides/topic-detail/micro-frontend/debugging.md +168 -0
- package/zh/guides/topic-detail/micro-frontend/introduction.md +13 -0
- package/zh/guides/topic-detail/micro-frontend/mixed-stack.md +24 -0
- package/zh/guides/topic-detail/micro-frontend/route-mode.md +110 -0
- package/zh/guides/topic-detail/model/_category_.json +4 -0
- package/zh/guides/topic-detail/model/auto-actions.md +90 -0
- package/zh/guides/topic-detail/model/computed-state.md +151 -0
- package/zh/guides/topic-detail/model/define-model.md +66 -0
- package/zh/guides/topic-detail/model/faq.md +43 -0
- package/zh/guides/topic-detail/model/manage-effects.md +259 -0
- package/zh/guides/topic-detail/model/model-communicate.md +219 -0
- package/zh/guides/topic-detail/model/performance.md +173 -0
- package/zh/guides/topic-detail/model/quick-start.md +112 -0
- package/zh/guides/topic-detail/model/redux-integration.md +21 -0
- package/zh/guides/topic-detail/model/test-model.md +43 -0
- package/zh/guides/topic-detail/model/typescript-best-practice.md +71 -0
- package/zh/guides/topic-detail/model/use-model.md +244 -0
- package/zh/guides/topic-detail/model/use-out-of-modernjs.md +51 -0
- package/zh/guides/topic-detail/monorepo/_category_.json +4 -0
- package/zh/guides/topic-detail/monorepo/create-sub-project.md +64 -0
- package/zh/guides/topic-detail/monorepo/deploy.md +43 -0
- package/zh/guides/topic-detail/monorepo/intro.md +15 -0
- package/zh/guides/topic-detail/monorepo/publish.md +68 -0
- package/zh/guides/topic-detail/monorepo/sub-project-interface.md +170 -0
- package/zh/guides/troubleshooting/_category_.json +5 -0
- package/zh/guides/troubleshooting/compile.md +379 -0
- package/zh/guides/troubleshooting/dependencies.md +168 -0
- package/zh/tutorials/first-app/_category_.json +5 -0
- package/zh/tutorials/first-app/c01-getting-started/1.1-prerequisites.md +25 -0
- package/zh/tutorials/first-app/c01-getting-started/1.2-minimal-mwa.md +118 -0
- package/zh/tutorials/first-app/c01-getting-started/1.3-dev-command.md +29 -0
- package/zh/tutorials/first-app/c01-getting-started/1.4-enable-ssr.md +44 -0
- package/zh/tutorials/first-app/c01-getting-started/1.5-start-command.md +18 -0
- package/zh/tutorials/first-app/c01-getting-started/1.6-create-repo.md +31 -0
- package/zh/tutorials/first-app/c01-getting-started/_category_.json +3 -0
- package/zh/tutorials/first-app/c02-generator-and-studio/2.1-generator.md +87 -0
- package/zh/tutorials/first-app/c02-generator-and-studio/2.2-boilerplates.md +28 -0
- package/zh/tutorials/first-app/c02-generator-and-studio/2.3-configuration.md +21 -0
- package/zh/tutorials/first-app/c02-generator-and-studio/_category_.json +3 -0
- package/zh/tutorials/first-app/c03-ide/3.1-setting-up.md +55 -0
- package/zh/tutorials/first-app/c03-ide/3.2-hints-in-ide.md +66 -0
- package/zh/tutorials/first-app/c03-ide/3.3-autofix-in-ide.md +11 -0
- package/zh/tutorials/first-app/c03-ide/3.4-autofix-in-cli.md +63 -0
- package/zh/tutorials/first-app/c03-ide/_category_.json +3 -0
- package/zh/tutorials/first-app/c04-es6-plus-and-ts/4.1-use-es6-plus.md +67 -0
- package/zh/tutorials/first-app/c04-es6-plus-and-ts/4.2-use-typescript.md +111 -0
- package/zh/tutorials/first-app/c04-es6-plus-and-ts/4.3-compatibility.md +67 -0
- package/zh/tutorials/first-app/c04-es6-plus-and-ts/_category_.json +3 -0
- package/zh/tutorials/first-app/c05-component/5.1-use-ui-library.md +68 -0
- package/zh/tutorials/first-app/c05-component/5.2-use-standalone-component.md +92 -0
- package/zh/tutorials/first-app/c05-component/_category_.json +3 -0
- package/zh/tutorials/first-app/c06-css-and-component/6.1-css-in-js.md +110 -0
- package/zh/tutorials/first-app/c06-css-and-component/6.2-utility-class.md +148 -0
- package/zh/tutorials/first-app/c06-css-and-component/6.3-postcss.md +84 -0
- package/zh/tutorials/first-app/c06-css-and-component/6.4-design-system.md +83 -0
- package/zh/tutorials/first-app/c06-css-and-component/6.5-storybook.md +77 -0
- package/zh/tutorials/first-app/c06-css-and-component/6.6-testing.md +113 -0
- package/zh/tutorials/first-app/c06-css-and-component/_category_.json +3 -0
- package/zh/tutorials/first-app/c07-app-entry/7.1-intro.md +64 -0
- package/zh/tutorials/first-app/c07-app-entry/7.2-add-entry-in-cli.md +104 -0
- package/zh/tutorials/first-app/c07-app-entry/7.3-manage-entries-by-hand.md +74 -0
- package/zh/tutorials/first-app/c07-app-entry/_category_.json +3 -0
- package/zh/tutorials/first-app/c08-client-side-routing/8.1-code-based-routing.md +153 -0
- package/zh/tutorials/first-app/c08-client-side-routing/8.2-file-based-routing.md +318 -0
- package/zh/tutorials/first-app/c08-client-side-routing/_category_.json +3 -0
- package/zh/tutorials/first-app/c09-bff/9.1-serverless.md +30 -0
- package/zh/tutorials/first-app/c09-bff/9.2-enable-bff.md +93 -0
- package/zh/tutorials/first-app/c09-bff/9.3-fetch-bff.md +205 -0
- package/zh/tutorials/first-app/c09-bff/_category_.json +3 -0
- package/zh/tutorials/first-app/c10-model/10.1-application-architecture.md +23 -0
- package/zh/tutorials/first-app/c10-model/10.2-add-model.md +185 -0
- package/zh/tutorials/first-app/c10-model/10.3-use-model.md +54 -0
- package/zh/tutorials/first-app/c10-model/10.4-testing.md +69 -0
- package/zh/tutorials/first-app/c10-model/_category_.json +3 -0
- package/zh/tutorials/first-app/c11-container/11.1-use-model-with-app-state.md +274 -0
- package/zh/tutorials/first-app/c11-container/11.2-add-container.md +106 -0
- package/zh/tutorials/first-app/c11-container/11.3-use-loader.md +61 -0
- package/zh/tutorials/first-app/c11-container/11.4-testing.md +56 -0
- package/zh/tutorials/first-app/c11-container/_category_.json +3 -0
- package/zh/tutorials/first-app/overview.md +11 -0
- package/zh/tutorials/foundations/_category_.json +5 -0
- package/zh/tutorials/foundations/basic.md +8 -0
- package/zh/tutorials/foundations/introduction.md +41 -0
@@ -0,0 +1,35 @@
|
|
1
|
+
---
|
2
|
+
sidebar_position: 2
|
3
|
+
---
|
4
|
+
|
5
|
+
# AfterForged
|
6
|
+
|
7
|
+
afterForged 函数为生成器插件生命周期函数,其通常用于定义安装依赖、Git 等操作,专业些操作将会在 onForged 函数执行完成后进行。
|
8
|
+
|
9
|
+
该方法可直接在 context 上获取。
|
10
|
+
|
11
|
+
其类型定义为:
|
12
|
+
|
13
|
+
```ts
|
14
|
+
export type PluginAfterForgedFunc = (
|
15
|
+
api: AfterForgedAPI,
|
16
|
+
inputData: Record<string, unknown>,
|
17
|
+
) => Promise<void>;
|
18
|
+
|
19
|
+
export interface IPluginContext {
|
20
|
+
afterForged: (func: PluginAfterForgedFunc) => void;
|
21
|
+
...
|
22
|
+
}
|
23
|
+
```
|
24
|
+
|
25
|
+
## func
|
26
|
+
|
27
|
+
afterForged 参数是一个回调函数,函数参数为 api 和 inputData。
|
28
|
+
|
29
|
+
### api
|
30
|
+
|
31
|
+
在 afterForged 生命周期中支持的函数列表,具体可查看[Git API](/docs/apis/generator/plugin/git/isInGitRepo) 和[NPM API](/docs/apis/generator/plugin/npm/install)。
|
32
|
+
|
33
|
+
### inputData
|
34
|
+
|
35
|
+
当前用户输入,可用于获取用户当前的输入信息及配置信息。
|
@@ -0,0 +1,35 @@
|
|
1
|
+
---
|
2
|
+
sidebar_position: 1
|
3
|
+
---
|
4
|
+
|
5
|
+
# OnForged
|
6
|
+
|
7
|
+
onForged 函数为生成器插件生命周期函数,其通常用于定义文件类型操作,这些操作将在 base 的工程方案文件操作完成后进行。
|
8
|
+
|
9
|
+
该方法可直接在 context 上获取。
|
10
|
+
|
11
|
+
其类型定义为:
|
12
|
+
|
13
|
+
```ts
|
14
|
+
export type PluginForgedFunc = (
|
15
|
+
api: ForgedAPI,
|
16
|
+
inputData: Record<string, unknown>,
|
17
|
+
) => void | Promise<void>;
|
18
|
+
|
19
|
+
export interface IPluginContext {
|
20
|
+
onForged: (func: PluginForgedFunc) => void;
|
21
|
+
...
|
22
|
+
}
|
23
|
+
```
|
24
|
+
|
25
|
+
## func
|
26
|
+
|
27
|
+
onForged 参数是一个回调函数,函数参数为 api 和 inputData。
|
28
|
+
|
29
|
+
### api
|
30
|
+
|
31
|
+
在 onForged 生命周期中支持的函数列表,具体可查看[文件操作 API](/docs/apis/generator/plugin/file/introduce) 和[启用功能 API](/docs/apis/generator/plugin/new/introduce)。
|
32
|
+
|
33
|
+
### inputData
|
34
|
+
|
35
|
+
当前用户输入,可用于获取用户当前的输入信息及配置信息。
|
@@ -0,0 +1,22 @@
|
|
1
|
+
---
|
2
|
+
sidebar_position: 2
|
3
|
+
---
|
4
|
+
|
5
|
+
# isFileExit
|
6
|
+
|
7
|
+
判断文件是否存在。
|
8
|
+
|
9
|
+
该方法可直接在 context 上获取。
|
10
|
+
|
11
|
+
其类型定义为:
|
12
|
+
|
13
|
+
```ts
|
14
|
+
export interface IPluginContext {
|
15
|
+
isFileExit: (fileName: string) => Promise<boolean>;
|
16
|
+
...
|
17
|
+
}
|
18
|
+
```
|
19
|
+
|
20
|
+
## fileName
|
21
|
+
|
22
|
+
需要判断的文件名或者文件路径,基于创建的项目的相对路径即可。
|
@@ -0,0 +1,22 @@
|
|
1
|
+
---
|
2
|
+
sidebar_position: 3
|
3
|
+
---
|
4
|
+
|
5
|
+
# readDir
|
6
|
+
|
7
|
+
读取文件夹,获取文件列表。
|
8
|
+
|
9
|
+
该方法可直接在 context 上获取。
|
10
|
+
|
11
|
+
其类型定义为:
|
12
|
+
|
13
|
+
```ts
|
14
|
+
export interface IPluginContext {
|
15
|
+
readDir: (dir: string) => Promise<string[]>;
|
16
|
+
...
|
17
|
+
}
|
18
|
+
```
|
19
|
+
|
20
|
+
## dir
|
21
|
+
|
22
|
+
文件夹名称或路径,基于创建的项目的相对路径即可。
|
@@ -0,0 +1,48 @@
|
|
1
|
+
---
|
2
|
+
sidebar_position: 3
|
3
|
+
---
|
4
|
+
|
5
|
+
# addInputAfter
|
6
|
+
|
7
|
+
在默认输入后添加输入问题。
|
8
|
+
|
9
|
+
该方法可直接在 context 上获取。
|
10
|
+
|
11
|
+
其类型定义为:
|
12
|
+
|
13
|
+
```ts
|
14
|
+
export interface IPluginContext {
|
15
|
+
addInputAfter: (key: string, input: IInput) => void;
|
16
|
+
...
|
17
|
+
}
|
18
|
+
```
|
19
|
+
|
20
|
+
## key
|
21
|
+
|
22
|
+
Modern.js 工程方案的配置的问题关键字,具体配置可查看[生成器配置](/docs/configure/generator/introduce)。
|
23
|
+
|
24
|
+
## input
|
25
|
+
|
26
|
+
需要添加的问题,具体类型定义可查看[自定义输入相关类型定义](/docs/apis/generator/plugin/input/type)。
|
27
|
+
|
28
|
+
## 示例
|
29
|
+
|
30
|
+
在包管理工具后面添加输入:
|
31
|
+
|
32
|
+
```ts
|
33
|
+
context.addInputAfter('packageManager', {
|
34
|
+
key: 'test',
|
35
|
+
name: '测试输入',
|
36
|
+
type: 'input'
|
37
|
+
})
|
38
|
+
```
|
39
|
+
|
40
|
+
:::info
|
41
|
+
注意事项
|
42
|
+
|
43
|
+
1. 添加问题的 key 不能和 Modern.js 提供的项目类型自身的问题的 key 重复
|
44
|
+
|
45
|
+
2. 添加问题 `addInputAfter` 的优先级高于 `addInputBefore`,当同时对一个 `key` 添加 After 问题和对其后一个key 添加 Before 问题时,After 问题会在 Before 之前。
|
46
|
+
|
47
|
+
3. 当需要在相同 `key` 前面或者后面添加多个问题时,可多次调用该方法,问题的顺序会按照调用顺序进行排列。
|
48
|
+
:::
|
@@ -0,0 +1,48 @@
|
|
1
|
+
---
|
2
|
+
sidebar_position: 2
|
3
|
+
---
|
4
|
+
|
5
|
+
# addInputBefore
|
6
|
+
|
7
|
+
在默认输入前添加输入问题。
|
8
|
+
|
9
|
+
该方法可直接在 context 上获取。
|
10
|
+
|
11
|
+
其类型定义为:
|
12
|
+
|
13
|
+
```ts
|
14
|
+
export interface IPluginContext {
|
15
|
+
addInputBefore: (key: string, input: IInput) => void;
|
16
|
+
...
|
17
|
+
}
|
18
|
+
```
|
19
|
+
|
20
|
+
## key
|
21
|
+
|
22
|
+
Modern.js 工程方案的配置的问题关键字,具体配置可查看[生成器配置](/docs/configure/generator/introduce)。
|
23
|
+
|
24
|
+
## input
|
25
|
+
|
26
|
+
需要添加的问题,具体类型定义可查看[自定义输入相关类型定义](/docs/apis/generator/plugin/input/type)。
|
27
|
+
|
28
|
+
## 示例
|
29
|
+
|
30
|
+
在包管理工具后面添加输入:
|
31
|
+
|
32
|
+
```ts
|
33
|
+
context.addInputBefore('packageManager', {
|
34
|
+
key: 'test',
|
35
|
+
name: '测试输入',
|
36
|
+
type: 'input'
|
37
|
+
})
|
38
|
+
```
|
39
|
+
|
40
|
+
:::info
|
41
|
+
注意事项
|
42
|
+
|
43
|
+
1. 添加问题的 key 不能和 Modern.js 提供的项目类型自身的问题的 key 重复
|
44
|
+
|
45
|
+
2. 添加问题 `addInputAfter` 的优先级高于 `addInputBefore`,当同时对一个 `key` 添加 After 问题和对其后一个key 添加 Before 问题时,After 问题会在 Before 之前。
|
46
|
+
|
47
|
+
3. 当需要在相同 `key` 前面或者后面添加多个问题时,可多次调用该方法,问题的顺序会按照调用顺序进行排列。
|
48
|
+
:::
|
@@ -0,0 +1,45 @@
|
|
1
|
+
---
|
2
|
+
sidebar_position: 6
|
3
|
+
---
|
4
|
+
|
5
|
+
# addOptionAfter
|
6
|
+
|
7
|
+
在特定问题的默认选项后 Options 选项。
|
8
|
+
|
9
|
+
该方法可直接在 context 上获取。
|
10
|
+
|
11
|
+
其类型定义为:
|
12
|
+
|
13
|
+
```ts
|
14
|
+
export interface IPluginContext {
|
15
|
+
addOptionAfter: (key: string, optionKey: string, option: IOption) => void;
|
16
|
+
...
|
17
|
+
}
|
18
|
+
```
|
19
|
+
|
20
|
+
## key
|
21
|
+
|
22
|
+
问题关键字。
|
23
|
+
Modern.js 工程方案的配置的问题关键字,具体配置可查看[生成器配置](/docs/configure/generator/introduce)。
|
24
|
+
|
25
|
+
## optionKey
|
26
|
+
|
27
|
+
问题选项关键字。
|
28
|
+
Modern.js 工程方案的配置的问题选项关键字,具体配置可查看[生成器配置](/docs/configure/generator/introduce)。
|
29
|
+
|
30
|
+
## options
|
31
|
+
|
32
|
+
需要添加的选项,具体类型定义可查看[自定义输入相关类型定义](/docs/apis/generator/plugin/input/type)。
|
33
|
+
|
34
|
+
## 示例
|
35
|
+
|
36
|
+
```ts
|
37
|
+
context.addOptionAfter('packageManager', 'pnpm', {
|
38
|
+
key: "npm",
|
39
|
+
name: "NPM"
|
40
|
+
});
|
41
|
+
```
|
42
|
+
|
43
|
+
:::info
|
44
|
+
对于 Modern.js 工程类型提供的输入选项,暂时只支持删除,不支持增加,增加会造成代码中的逻辑判断存在问题。上方示例不可直接使用。
|
45
|
+
:::
|
@@ -0,0 +1,45 @@
|
|
1
|
+
---
|
2
|
+
sidebar_position: 5
|
3
|
+
---
|
4
|
+
|
5
|
+
# addOptionBefore
|
6
|
+
|
7
|
+
在特定问题的默认选项前 Options 选项。
|
8
|
+
|
9
|
+
该方法可直接在 context 上获取。
|
10
|
+
|
11
|
+
其类型定义为:
|
12
|
+
|
13
|
+
```ts
|
14
|
+
export interface IPluginContext {
|
15
|
+
addOptionBefore: (key: string, optionKey: string, option: IOption) => void;
|
16
|
+
...
|
17
|
+
}
|
18
|
+
```
|
19
|
+
|
20
|
+
## key
|
21
|
+
|
22
|
+
问题关键字。
|
23
|
+
Modern.js 工程方案的配置的问题关键字,具体配置可查看[生成器配置](/docs/configure/generator/introduce)。
|
24
|
+
|
25
|
+
## optionKey
|
26
|
+
|
27
|
+
问题选项关键字。
|
28
|
+
Modern.js 工程方案的配置的问题选项关键字,具体配置可查看[生成器配置](/docs/configure/generator/introduce)。
|
29
|
+
|
30
|
+
## options
|
31
|
+
|
32
|
+
需要添加的选项,具体类型定义可查看[自定义输入相关类型定义](/docs/apis/generator/plugin/input/type)。
|
33
|
+
|
34
|
+
## 示例
|
35
|
+
|
36
|
+
```ts
|
37
|
+
context.addOptionBefore('packageManager', 'pnpm', {
|
38
|
+
key: "npm",
|
39
|
+
name: "NPM"
|
40
|
+
});
|
41
|
+
```
|
42
|
+
|
43
|
+
:::info
|
44
|
+
对于 Modern.js 工程类型提供的输入选项,暂时只支持删除,不支持增加,增加会造成代码中的逻辑判断存在问题。上方示例不可直接使用。
|
45
|
+
:::
|
@@ -0,0 +1,42 @@
|
|
1
|
+
---
|
2
|
+
sidebar_position: 4
|
3
|
+
---
|
4
|
+
|
5
|
+
# setInput
|
6
|
+
|
7
|
+
设置问题属性。
|
8
|
+
|
9
|
+
该方法可直接在 context 上获取。
|
10
|
+
|
11
|
+
其类型定义为:
|
12
|
+
|
13
|
+
```ts
|
14
|
+
export interface IPluginContext {
|
15
|
+
setInput: (key: string, field: string, value: unknown) => void;
|
16
|
+
...
|
17
|
+
}
|
18
|
+
```
|
19
|
+
|
20
|
+
## key
|
21
|
+
|
22
|
+
问题关键字,可以为 Modern.js 工程方案的问题关键字,也可以为生成器插件中新增问题的关键字。
|
23
|
+
|
24
|
+
## filed
|
25
|
+
|
26
|
+
需设置的问题字段,可修改除了当前 Input 除 key 以外的其他字段,Input 具体类型定义可查看[自定义输入相关类型定义](/docs/apis/generator/plugin/input/type)。
|
27
|
+
|
28
|
+
## value
|
29
|
+
|
30
|
+
需设置的问题字段值。value 支持函数,函数参数为当前字段值,返回值需要为完整的新的字段值。
|
31
|
+
|
32
|
+
:::info
|
33
|
+
对于 Modern.js 工程类型提供的输入选项,暂时只支持删除,不支持增加,增加会造成代码中的逻辑判断存在问题。
|
34
|
+
:::
|
35
|
+
|
36
|
+
## 示例
|
37
|
+
|
38
|
+
修改 packageName 的展示名称
|
39
|
+
|
40
|
+
```ts
|
41
|
+
context.setInput('packageName', 'name', "展示名称");
|
42
|
+
```
|
@@ -0,0 +1,28 @@
|
|
1
|
+
---
|
2
|
+
sidebar_position: 7
|
3
|
+
---
|
4
|
+
|
5
|
+
# setInputValue
|
6
|
+
|
7
|
+
设置输入默认值。
|
8
|
+
|
9
|
+
该方法可直接在 context 上获取。
|
10
|
+
|
11
|
+
```ts
|
12
|
+
export interface IPluginContext {
|
13
|
+
setInputValue: (value: Record<string, unknown>) => void;
|
14
|
+
...
|
15
|
+
}
|
16
|
+
```
|
17
|
+
|
18
|
+
## 示例
|
19
|
+
|
20
|
+
```ts
|
21
|
+
context.setInputValue({
|
22
|
+
moduleRunWay: 'no',
|
23
|
+
});
|
24
|
+
```
|
25
|
+
|
26
|
+
:::warning
|
27
|
+
该方法只支持设置生成器插件集成的工程方案对应的配置参数值,不支持设置工程方案类型(solution)和项目场景(scenes),这两个配置可以通过执行时的 `--config` 参数设置默认值。
|
28
|
+
:::
|
@@ -0,0 +1,101 @@
|
|
1
|
+
---
|
2
|
+
sidebar_position: 1
|
3
|
+
---
|
4
|
+
|
5
|
+
# 自定义输入相关类型定义
|
6
|
+
|
7
|
+
## Input
|
8
|
+
|
9
|
+
输入类型结构,其类型定义为:
|
10
|
+
|
11
|
+
```ts
|
12
|
+
interface Input {
|
13
|
+
key: string;
|
14
|
+
name: string;
|
15
|
+
type: 'input' | 'radio' | 'checkbox';
|
16
|
+
options?: IOption[];
|
17
|
+
validate?: (value: any, data: Record<string, unknown>, extra?: Record<string, unknown>) => {
|
18
|
+
success: boolean;
|
19
|
+
error?: string;
|
20
|
+
} | Promise<{
|
21
|
+
success: boolean;
|
22
|
+
error?: string;
|
23
|
+
>
|
24
|
+
when?: (input: Record<string, any>, extra?: Record<string, any>) => Promise<boolean>
|
25
|
+
}
|
26
|
+
```
|
27
|
+
|
28
|
+
### key
|
29
|
+
|
30
|
+
关键字,作为输入字段的 key,可在生成器插件生命周期中通过 `input[key]` 获取到用户输入。
|
31
|
+
|
32
|
+
### name
|
33
|
+
|
34
|
+
展示名称。
|
35
|
+
|
36
|
+
### type
|
37
|
+
|
38
|
+
输入类型,包含三种值:
|
39
|
+
|
40
|
+
- input:直接输入类型。
|
41
|
+
|
42
|
+
- radio:单选类型,需配合 options 使用。
|
43
|
+
|
44
|
+
- checkbox:多选类型,需配合 options 使用。
|
45
|
+
|
46
|
+
### options
|
47
|
+
|
48
|
+
单选和多选类型时选项,选项结构后续介绍。
|
49
|
+
|
50
|
+
### validate
|
51
|
+
|
52
|
+
验证函数,当用户输入之后,可在该函数中对输入进行验证。其中:
|
53
|
+
|
54
|
+
- value 为当前输入字段值
|
55
|
+
|
56
|
+
- data 为当前表单的所有输入字段值
|
57
|
+
|
58
|
+
- extra 为从 config 参数额外传入的参数
|
59
|
+
|
60
|
+
### when
|
61
|
+
|
62
|
+
条件函数,用于控制问题是否展示,当该函数返回 true 时,问题展示。其中:
|
63
|
+
|
64
|
+
- input 为当前表单的所有输入字段值
|
65
|
+
|
66
|
+
- extra 为从 config 参数额外传入的参数
|
67
|
+
|
68
|
+
## Option
|
69
|
+
|
70
|
+
option 为输入选项,当自定义 Input 类型为 `radio` 或 `checkbox` 时,需要该配置。
|
71
|
+
|
72
|
+
option 类型定义为:
|
73
|
+
|
74
|
+
```ts
|
75
|
+
interface IOption {
|
76
|
+
key: string;
|
77
|
+
name: string;
|
78
|
+
isDefault?: boolean; // 是否为默认值,存在多个,以第一个选项为主,当前默认选项正好不展示,将会取第一个展示的选项值
|
79
|
+
when?: (input: Record<string, any>, extra?: Record<string, any>) => Promise<boolean> // 问题可根据之前输入决定是否展示
|
80
|
+
}
|
81
|
+
```
|
82
|
+
|
83
|
+
### key
|
84
|
+
|
85
|
+
关键字,option 选项的关键字,当选中该选项是,对应 `input` 的值为该字段值。
|
86
|
+
|
87
|
+
### name
|
88
|
+
|
89
|
+
展示名称。
|
90
|
+
|
91
|
+
### isDefault
|
92
|
+
|
93
|
+
是否为默认值,设置为 true 时,展示问题会默认选择该选项
|
94
|
+
|
95
|
+
### when
|
96
|
+
|
97
|
+
条件函数,用于控制选项是否展示,当该函数返回 true 时,问题展示。其中:
|
98
|
+
|
99
|
+
- input 为当前表单的所有输入字段值
|
100
|
+
|
101
|
+
- extra 为从 config 参数额外传入的参数
|
@@ -0,0 +1,93 @@
|
|
1
|
+
---
|
2
|
+
sidebar_position: 1
|
3
|
+
---
|
4
|
+
|
5
|
+
# 介绍
|
6
|
+
|
7
|
+
Modern.js 支持通过生成器插件的方式对提供的工程方案进行定制化或针对工程方案进行特定场景的定制化。
|
8
|
+
|
9
|
+
## 生成器插件构成
|
10
|
+
|
11
|
+
生成器插件是一个模块,可以直接使用 Modern.js 的模块工程方案开发。当然,Modern.js 也提供了对应的生成器插件(`@modern-js/generator-plugin-plugin`)直接新建生成器插件项目。
|
12
|
+
|
13
|
+
一个生成器插件项目目录如下:
|
14
|
+
|
15
|
+
```bash
|
16
|
+
.
|
17
|
+
├── README.md
|
18
|
+
├── package.json
|
19
|
+
├── src
|
20
|
+
│ ├── index.ts
|
21
|
+
│ └── modern-app-env.d.ts
|
22
|
+
├── templates
|
23
|
+
└── tsconfig.json
|
24
|
+
```
|
25
|
+
|
26
|
+
`src/index.ts` 中为源码目录,用于开发生成器插件逻辑。插件默认导出一个函数,函数参数为 `context`,`context` 上提供一些方法可直接对当前项目进行操作,本章节后续将详细介绍这些方法。
|
27
|
+
|
28
|
+
`templates` 目录为模板目录,用于存在生成器插件中需要使用的模板文件。
|
29
|
+
|
30
|
+
|
31
|
+
## 生成器插件分类
|
32
|
+
|
33
|
+
生成器插件分为两种:
|
34
|
+
|
35
|
+
1. 扩展工程方案:直接对默认提供的三大工程方案进行定制化
|
36
|
+
|
37
|
+
2. 创建工程方案场景:基于默认的三大工程方案创建对应的工程方案场景
|
38
|
+
|
39
|
+
### 类型定义
|
40
|
+
|
41
|
+
生成器插件的分类通过 `package.json` 中的 `meta` 信息提供。
|
42
|
+
|
43
|
+
#### 扩展工程方案
|
44
|
+
|
45
|
+
```json
|
46
|
+
{
|
47
|
+
"meta": {
|
48
|
+
"extend": "mwa"
|
49
|
+
}
|
50
|
+
}
|
51
|
+
```
|
52
|
+
|
53
|
+
`extend` 为扩展的工程方案名称,Modern.js 的工程方案名称分别为 `mwa`、`module`、 `monorepo`。
|
54
|
+
|
55
|
+
#### 创建工程方案场景
|
56
|
+
|
57
|
+
```json
|
58
|
+
{
|
59
|
+
"meta": {
|
60
|
+
"key": "new_solution",
|
61
|
+
"name": "新工程方案",
|
62
|
+
"type": "mwa"
|
63
|
+
}
|
64
|
+
}
|
65
|
+
```
|
66
|
+
|
67
|
+
`key` 为场景方案名称,值为字符串。
|
68
|
+
`name` 为场景方案展示名称,用与使用时选项的展示,值为字符串。
|
69
|
+
`type` 为工程方案类型,除了和 `extend` 一样支持三种工程方案之外,还支持自定义(custom)类型。
|
70
|
+
|
71
|
+
### 自定义(custom)类型
|
72
|
+
|
73
|
+
自定义类型提供了完全自定义工程方案的实现能力,当使用该类型新建工程方案场景时,只提供了少量的开发层面的最佳实践的代码,比如 `.gitignore`、`.editorConfig` 等文件,具体为下方目录结构:
|
74
|
+
|
75
|
+
```
|
76
|
+
.
|
77
|
+
├── .editorconfig
|
78
|
+
├── .gitignore
|
79
|
+
├── .idea
|
80
|
+
│ ├── codeStyles
|
81
|
+
│ │ ├── Project.xml
|
82
|
+
│ │ └── codeStyleConfig.xml
|
83
|
+
│ ├── inspectionProfiles
|
84
|
+
│ │ └── Project_Default.xml
|
85
|
+
│ └── jsLinters
|
86
|
+
│ └── eslint.xml
|
87
|
+
├── .nvmrc
|
88
|
+
└── .vscode
|
89
|
+
├── extensions.json
|
90
|
+
└── settings.json
|
91
|
+
```
|
92
|
+
|
93
|
+
自定义类型保证了可根据自身对工程方案的需求灵活进行配置。
|
@@ -0,0 +1,33 @@
|
|
1
|
+
---
|
2
|
+
sidebar_position: 2
|
3
|
+
---
|
4
|
+
|
5
|
+
# createElement
|
6
|
+
|
7
|
+
创建工程元素,只支持应用工程方案。
|
8
|
+
|
9
|
+
该方法可在 onForged 生命周期的 api 参数上获取。
|
10
|
+
|
11
|
+
其类型定义为:
|
12
|
+
|
13
|
+
```ts
|
14
|
+
export enum ActionElement {
|
15
|
+
Entry = 'entry',
|
16
|
+
Server = 'server',
|
17
|
+
}
|
18
|
+
export type ForgedAPI = {
|
19
|
+
createElement: (
|
20
|
+
element: ActionElement,
|
21
|
+
params: Record<string, unknown>,
|
22
|
+
) => Promise<void>;
|
23
|
+
...
|
24
|
+
};
|
25
|
+
```
|
26
|
+
|
27
|
+
## element
|
28
|
+
|
29
|
+
工程元素类型,支持 entry 和 server。
|
30
|
+
|
31
|
+
## params
|
32
|
+
|
33
|
+
创建元素的其他参数,详细参考[应用 New 命令](/docs/configure/generator/mwa#new-%E5%91%BD%E4%BB%A4)。
|