@modern-js/main-doc 2.0.0-beta.1 → 2.0.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +1 -1
- package/en/docusaurus-plugin-content-docs/current/apis/app/commands/build.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/apis/app/commands/dev.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/apis/app/commands/lint.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/apis/app/commands/new.md +1 -4
- package/en/docusaurus-plugin-content-docs/current/apis/app/commands/start.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/apis/app/commands/test.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/apis/app/overview.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/core/bootstrap.md +17 -3
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/auto-actions.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/connect.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/create-app.md +2 -2
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/create-store.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/handle-effect.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/model_.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/use-local-model.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/use-model.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/use-static-model.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/use-store.md +1 -23
- package/en/docusaurus-plugin-content-docs/current/components/command-tip.md +56 -0
- package/en/docusaurus-plugin-content-docs/current/components/reduck-migration.md +1 -0
- package/en/docusaurus-plugin-content-docs/current/components/reduck-tip.md +5 -0
- package/en/docusaurus-plugin-content-docs/current/configure/app/dev/asset-prefix.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/dev/hmr.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/dev/https.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/dev/port.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/dev/progress-bar.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/dev/start-url.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/experiments/lazy-compilation.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/html/app-icon.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/html/crossorigin.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/html/disable-html-folder.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/html/favicon-by-entries.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/html/favicon.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/html/inject-by-entries.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/html/inject.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/html/meta-by-entries.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/html/meta.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/html/mount-id.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/html/template-by-entries.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/html/template-parameters-by-entries.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/html/template-parameters.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/html/template.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/html/title-by-entries.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/html/title.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/asset-prefix.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/assets-retry.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/charset.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/clean-dist-path.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/convert-to-rem.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/copy.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/css-module-local-ident-name.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/data-uri-limit.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-css-extract.md +12 -0
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-css-module-extension.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-filename-hash.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-inline-runtime-chunk.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-minimize.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-source-map.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-ts-checker.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/dist-path.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-asset-fallback.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-asset-manifest.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-css-module-tsdeclaration.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-inline-scripts.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-inline-styles.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-latest-decorators.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/externals.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/filename.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/legal-comments.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/override-browserslist.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/polyfill.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/output/svg-default-export.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/performance/build-cache.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/performance/bundle-analyze.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/performance/chunk-split.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/performance/print-file-size.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/performance/profile.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/performance/remove-console.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/performance/remove-moment-locale.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/plugins.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/runtime/router.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/security/sri.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/source/alias.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/source/compile-js-data-uri.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/source/define.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/source/exclude.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/source/global-vars.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/source/include.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/source/module-scopes.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/source/pre-entry.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/source/resolve-extension-prefix.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/source/resolve-main-fields.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/autoprefixer.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/babel.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/css-extract.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/css-loader.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/dev-server.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/html-plugin.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/inspector.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/less.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/minify-css.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/postcss.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/pug.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/sass.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/style-loader.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/styled-components.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/swc.md +42 -0
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/terser.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/ts-checker.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/ts-loader.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/webpack-chain.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/configure/app/tools/webpack.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/guides/basic-features/builder.md +46 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/_category_.json +4 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/_category_.json +4 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/_category_.json +4 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/app.md +152 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/ejs.md +56 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/fs.md +54 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/git.md +49 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/handlebars.md +58 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/json.md +59 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/npm.md +49 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/develop.md +52 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/introduce.md +46 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/run-in-js.md +48 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/structure.md +87 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/config/_category_.json +4 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/config/common.md +106 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/config/module.md +39 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/config/monorepo.md +28 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/config/mwa.md +89 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/_category_.json +4 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/abstract.md +26 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/_category_.json +4 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/_category_.json +4 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/addFile.md +52 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/addHelper.md +26 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/addManyFile.md +58 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/addPartial.md +26 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/introduce.md +38 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/rmDir.md +24 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/rmFile.md +24 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/updateJSONFile.md +54 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/updateModernConfig.md +26 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/updateTextRawFile.md +33 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/git/_category_.json +4 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/git/gitAddAndCommit.md +20 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/git/initGitRepo.md +16 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/git/isInGitRepo.md +16 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/hook/_category_.json +4 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/hook/afterForged.md +35 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/hook/onForged.md +36 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/info/_category_.json +4 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/info/isFileExit.md +22 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/info/locale.md +17 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/info/readDir.md +22 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/input/_category_.json +4 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/input/addInputAfter.md +57 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/input/addInputBefore.md +56 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/input/setInput.md +42 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/input/setInputValue.md +30 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/input/type.md +65 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/introduce.md +91 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/new/_category_.json +4 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/new/createElement.md +33 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/new/createSubProject.md +35 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/new/enableFunc.md +44 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/new/introduce.md +15 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/npm/_category_.json +4 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/npm/install.md +18 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/develop.md +125 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/use.md +61 -0
- package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/project.md +118 -0
- package/en/docusaurus-plugin-content-docs/current.json +57 -21
- package/package.json +3 -3
- package/scripts/config.ts +2 -2
- package/scripts/summary.en.json +1 -1
- package/scripts/summary.zh.json +1 -1
- package/zh/apis/app/commands/new.md +0 -3
- package/zh/apis/app/hooks/server/test.md +2 -2
- package/zh/apis/app/runtime/app/_category_.json +1 -1
- package/zh/apis/app/runtime/bff/_category_.json +1 -1
- package/zh/apis/app/runtime/core/_category_.json +1 -1
- package/zh/apis/app/runtime/core/bootstrap.md +17 -3
- package/zh/apis/app/runtime/model/_category_.json +1 -1
- package/zh/apis/app/runtime/model/create-app.md +1 -1
- package/zh/apis/app/runtime/model/use-store.md +1 -23
- package/zh/apis/app/runtime/router/_category_.json +1 -1
- package/zh/apis/app/runtime/ssr/_category_.json +1 -1
- package/zh/apis/app/runtime/testing/_category_.json +1 -1
- package/zh/apis/app/runtime/utility/_category_.json +1 -1
- package/zh/apis/app/runtime/web-server/_category_.json +1 -1
- package/zh/apis/app/runtime/web-server/hook.md +4 -4
- package/zh/apis/app/runtime/web-server/middleware.md +4 -4
- package/zh/components/reduck-migration.md +1 -0
- package/zh/configure/app/dev/asset-prefix.md +1 -1
- package/zh/configure/app/dev/hmr.md +1 -1
- package/zh/configure/app/dev/https.md +1 -1
- package/zh/configure/app/dev/port.md +1 -1
- package/zh/configure/app/dev/progress-bar.md +1 -1
- package/zh/configure/app/dev/start-url.md +1 -1
- package/zh/configure/app/experiments/_category_.json +4 -0
- package/zh/configure/app/experiments/lazy-compilation.md +1 -1
- package/zh/configure/app/html/_category_.json +4 -0
- package/zh/configure/app/html/app-icon.md +1 -1
- package/zh/configure/app/html/crossorigin.md +1 -1
- package/zh/configure/app/html/disable-html-folder.md +1 -1
- package/zh/configure/app/html/favicon-by-entries.md +1 -1
- package/zh/configure/app/html/favicon.md +1 -1
- package/zh/configure/app/html/inject-by-entries.md +1 -1
- package/zh/configure/app/html/inject.md +1 -1
- package/zh/configure/app/html/meta-by-entries.md +1 -1
- package/zh/configure/app/html/meta.md +1 -1
- package/zh/configure/app/html/mount-id.md +1 -1
- package/zh/configure/app/html/template-by-entries.md +1 -1
- package/zh/configure/app/html/template-parameters-by-entries.md +1 -1
- package/zh/configure/app/html/template-parameters.md +1 -1
- package/zh/configure/app/html/template.md +1 -1
- package/zh/configure/app/html/title-by-entries.md +1 -1
- package/zh/configure/app/html/title.md +1 -1
- package/zh/configure/app/output/asset-prefix.md +1 -1
- package/zh/configure/app/output/assets-retry.md +1 -1
- package/zh/configure/app/output/charset.md +1 -1
- package/zh/configure/app/output/clean-dist-path.md +1 -1
- package/zh/configure/app/output/convert-to-rem.md +1 -1
- package/zh/configure/app/output/copy.md +1 -1
- package/zh/configure/app/output/css-module-local-ident-name.md +1 -1
- package/zh/configure/app/output/data-uri-limit.md +1 -1
- package/zh/configure/app/output/disable-css-extract.md +12 -0
- package/zh/configure/app/output/disable-css-module-extension.md +1 -1
- package/zh/configure/app/output/disable-filename-hash.md +1 -1
- package/zh/configure/app/output/disable-inline-runtime-chunk.md +1 -1
- package/zh/configure/app/output/disable-minimize.md +1 -1
- package/zh/configure/app/output/disable-source-map.md +1 -1
- package/zh/configure/app/output/disable-ts-checker.md +1 -1
- package/zh/configure/app/output/dist-path.md +1 -1
- package/zh/configure/app/output/enable-asset-fallback.md +1 -1
- package/zh/configure/app/output/enable-asset-manifest.md +1 -1
- package/zh/configure/app/output/enable-css-module-tsdeclaration.md +1 -1
- package/zh/configure/app/output/enable-inline-scripts.md +1 -1
- package/zh/configure/app/output/enable-inline-styles.md +1 -1
- package/zh/configure/app/output/enable-latest-decorators.md +1 -1
- package/zh/configure/app/output/externals.md +1 -1
- package/zh/configure/app/output/filename.md +1 -1
- package/zh/configure/app/output/legal-comments.md +1 -1
- package/zh/configure/app/output/override-browserslist.md +1 -1
- package/zh/configure/app/output/polyfill.md +1 -1
- package/zh/configure/app/output/ssg.md +118 -114
- package/zh/configure/app/output/svg-default-export.md +1 -1
- package/zh/configure/app/performance/_category_.json +4 -0
- package/zh/configure/app/performance/build-cache.md +1 -1
- package/zh/configure/app/performance/bundle-analyze.md +1 -1
- package/zh/configure/app/performance/chunk-split.md +1 -1
- package/zh/configure/app/performance/print-file-size.md +1 -1
- package/zh/configure/app/performance/profile.md +1 -1
- package/zh/configure/app/performance/remove-console.md +1 -1
- package/zh/configure/app/performance/remove-moment-locale.md +1 -1
- package/zh/configure/app/plugins.md +1 -1
- package/zh/configure/app/runtime/state.md +13 -0
- package/zh/configure/app/security/_category_.json +4 -0
- package/zh/configure/app/security/sri.md +1 -1
- package/zh/configure/app/server/ssr.md +0 -2
- package/zh/configure/app/source/alias.md +1 -1
- package/zh/configure/app/source/compile-js-data-uri.md +1 -1
- package/zh/configure/app/source/define.md +1 -1
- package/zh/configure/app/source/exclude.md +1 -1
- package/zh/configure/app/source/global-vars.md +1 -1
- package/zh/configure/app/source/include.md +1 -1
- package/zh/configure/app/source/module-scopes.md +1 -1
- package/zh/configure/app/source/pre-entry.md +1 -1
- package/zh/configure/app/source/resolve-extension-prefix.md +1 -1
- package/zh/configure/app/source/resolve-main-fields.md +1 -1
- package/zh/configure/app/tools/autoprefixer.md +1 -1
- package/zh/configure/app/tools/babel.md +1 -1
- package/zh/configure/app/tools/css-extract.md +1 -1
- package/zh/configure/app/tools/css-loader.md +1 -1
- package/zh/configure/app/tools/dev-server.md +1 -1
- package/zh/configure/app/tools/html-plugin.md +1 -1
- package/zh/configure/app/tools/inspector.md +1 -1
- package/zh/configure/app/tools/less.md +1 -1
- package/zh/configure/app/tools/minify-css.md +1 -1
- package/zh/configure/app/tools/postcss.md +1 -1
- package/zh/configure/app/tools/pug.md +1 -1
- package/zh/configure/app/tools/sass.md +1 -1
- package/zh/configure/app/tools/style-loader.md +1 -1
- package/zh/configure/app/tools/styled-components.md +1 -1
- package/zh/configure/app/tools/swc.md +42 -0
- package/zh/configure/app/tools/terser.md +1 -1
- package/zh/configure/app/tools/ts-checker.md +1 -1
- package/zh/configure/app/tools/ts-loader.md +1 -1
- package/zh/configure/app/tools/webpack-chain.md +1 -1
- package/zh/configure/app/tools/webpack.md +1 -1
- package/zh/guides/advanced-features/bff/_category_.json +5 -1
- package/zh/guides/advanced-features/bff/bff-proxy.md +5 -3
- package/zh/guides/advanced-features/bff/frameworks.md +72 -51
- package/zh/guides/advanced-features/bff/function.md +16 -30
- package/zh/guides/advanced-features/bff/index.md +20 -0
- package/zh/guides/advanced-features/bff/type.md +43 -0
- package/zh/guides/advanced-features/custom-app.md +69 -1
- package/zh/guides/advanced-features/ssg.md +74 -63
- package/zh/guides/advanced-features/ssr.md +74 -11
- package/zh/guides/advanced-features/web-server.md +21 -110
- package/zh/guides/basic-features/builder.md +46 -0
- package/zh/guides/basic-features/css/_category_.json +1 -1
- package/zh/guides/basic-features/css/less-sass.md +1 -14
- package/zh/guides/basic-features/data-fetch.md +62 -1
- package/zh/guides/basic-features/env-vars.md +122 -41
- package/zh/guides/basic-features/routes.md +264 -0
- package/zh/guides/concept/entries.md +112 -0
- package/zh/guides/concept/lifecycle.md +10 -0
- package/zh/guides/get-started/quick-start.md +199 -1
- package/zh/guides/get-started/upgrade.md +75 -1
- package/zh/guides/topic-detail/framework-plugin/extend.md +3 -4
- package/zh/{apis/app/runtime/plugin/hook-api.md → guides/topic-detail/framework-plugin/hook-list.md} +42 -135
- package/zh/{apis/app/runtime/plugin → guides/topic-detail/framework-plugin}/hook.md +2 -3
- package/zh/guides/topic-detail/framework-plugin/implement.md +21 -10
- package/zh/guides/topic-detail/framework-plugin/introduction.md +49 -0
- package/{en/docusaurus-plugin-content-docs/current/apis/app/runtime/plugin → zh/guides/topic-detail/framework-plugin}/plugin-api.md +3 -4
- package/zh/guides/topic-detail/framework-plugin/relationship.md +2 -3
- package/zh/guides/topic-detail/generator/codesmith/api/_category_.json +4 -0
- package/zh/guides/topic-detail/generator/codesmith/api/app.md +152 -0
- package/zh/guides/topic-detail/generator/codesmith/api/ejs.md +56 -0
- package/zh/guides/topic-detail/generator/codesmith/api/fs.md +54 -0
- package/zh/guides/topic-detail/generator/codesmith/api/git.md +48 -0
- package/zh/guides/topic-detail/generator/codesmith/api/handlebars.md +56 -0
- package/zh/guides/topic-detail/generator/codesmith/api/json.md +58 -0
- package/zh/guides/topic-detail/generator/codesmith/api/npm.md +45 -0
- package/zh/guides/topic-detail/generator/codesmith/develop.md +52 -0
- package/zh/guides/topic-detail/generator/codesmith/introduce.md +42 -1
- package/zh/guides/topic-detail/generator/codesmith/run-in-js.md +48 -0
- package/zh/guides/topic-detail/generator/codesmith/structure.md +86 -0
- package/zh/guides/topic-detail/generator/config/mwa.md +4 -8
- package/zh/guides/topic-detail/generator/plugin/api/file/addFile.md +1 -1
- package/zh/guides/topic-detail/generator/plugin/api/file/addHelper.md +1 -1
- package/zh/guides/topic-detail/generator/plugin/api/file/addPartial.md +2 -2
- package/zh/guides/topic-detail/generator/plugin/api/file/introduce.md +1 -1
- package/zh/guides/topic-detail/generator/plugin/api/file/rmDir.md +1 -1
- package/zh/guides/topic-detail/generator/plugin/api/file/rmFile.md +1 -1
- package/zh/guides/topic-detail/generator/plugin/api/file/updateJSONFile.md +3 -2
- package/zh/guides/topic-detail/generator/plugin/api/file/updateModernConfig.md +2 -2
- package/zh/guides/topic-detail/generator/plugin/api/file/updateTextRawFile.md +1 -1
- package/zh/guides/topic-detail/generator/plugin/api/hook/afterForged.md +3 -3
- package/zh/guides/topic-detail/generator/plugin/api/hook/onForged.md +3 -3
- package/zh/guides/topic-detail/generator/plugin/api/input/addInputAfter.md +1 -1
- package/zh/guides/topic-detail/generator/plugin/api/input/addInputBefore.md +1 -1
- package/zh/guides/topic-detail/generator/plugin/api/input/type.md +1 -1
- package/zh/guides/topic-detail/generator/plugin/api/new/createElement.md +1 -1
- package/zh/guides/topic-detail/generator/plugin/api/new/createSubProject.md +1 -1
- package/zh/guides/topic-detail/generator/plugin/api/new/enableFunc.md +1 -1
- package/zh/guides/topic-detail/generator/plugin/api/npm/install.md +1 -1
- package/zh/guides/topic-detail/generator/plugin/develop.md +11 -7
- package/zh/guides/topic-detail/model/quick-start.md +4 -0
- package/zh/guides/topic-detail/monorepo/sub-project-interface.md +0 -2
- package/zh/tutorials/first-app/c01-getting-started/1.1-prerequisites.md +2 -2
- package/zh/tutorials/first-app/c01-getting-started/1.2-minimal-mwa.md +2 -2
- package/zh/tutorials/first-app/c01-getting-started/1.4-enable-ssr.md +5 -2
- package/zh/tutorials/first-app/c02-generator-and-studio/2.1-generator.md +0 -8
- package/zh/tutorials/first-app/c02-generator-and-studio/2.2-boilerplates.md +12 -6
- package/zh/tutorials/first-app/c02-generator-and-studio/2.3-configuration.md +2 -4
- package/zh/tutorials/first-app/c03-ide/3.1-setting-up.md +1 -1
- package/zh/tutorials/first-app/c03-ide/3.2-hints-in-ide.md +44 -50
- package/zh/tutorials/first-app/c03-ide/3.3-autofix-in-ide.md +1 -1
- package/zh/tutorials/first-app/c03-ide/3.4-autofix-in-cli.md +4 -4
- package/zh/tutorials/first-app/c04-es6-plus-and-ts/4.1-use-es6-plus.md +8 -21
- package/zh/tutorials/first-app/c04-es6-plus-and-ts/4.2-use-typescript.md +37 -13
- package/zh/tutorials/first-app/c05-component/5.1-use-ui-library.md +3 -13
- package/zh/tutorials/first-app/c05-component/5.2-use-standalone-component.md +1 -21
- package/zh/tutorials/first-app/c06-css-and-component/6.1-css-in-js.md +9 -9
- package/zh/tutorials/first-app/c06-css-and-component/6.2-utility-class.md +9 -14
- package/zh/tutorials/first-app/c06-css-and-component/6.3-postcss.md +7 -7
- package/zh/tutorials/first-app/c06-css-and-component/6.4-design-system.md +1 -1
- package/zh/tutorials/first-app/c06-css-and-component/6.5-storybook.md +2 -2
- package/zh/tutorials/first-app/c06-css-and-component/6.6-testing.md +8 -17
- package/zh/tutorials/first-app/c07-app-entry/7.1-intro.md +24 -19
- package/zh/tutorials/first-app/c07-app-entry/7.2-add-entry-in-cli.md +31 -35
- package/zh/tutorials/first-app/c07-app-entry/7.3-manage-entries-by-hand.md +4 -9
- package/zh/tutorials/first-app/c08-client-side-routing/8.1-code-based-routing.md +66 -63
- package/zh/tutorials/first-app/c09-bff/9.2-enable-bff.md +35 -33
- package/zh/tutorials/first-app/c09-bff/9.3-fetch-bff.md +28 -102
- package/zh/tutorials/first-app/c10-model/10.1-application-architecture.md +4 -6
- package/zh/tutorials/first-app/c10-model/10.2-add-model.md +3 -3
- package/zh/tutorials/first-app/c10-model/10.3-use-model.md +21 -20
- package/zh/tutorials/first-app/c10-model/10.4-testing.md +2 -2
- package/zh/tutorials/first-app/c11-container/11.1-use-model-with-app-state.md +34 -68
- package/zh/tutorials/first-app/c11-container/11.2-add-container.md +40 -37
- package/zh/tutorials/first-app/c11-container/11.3-use-loader.md +6 -4
- package/zh/tutorials/first-app/c11-container/11.4-testing.md +2 -2
- package/zh/tutorials/foundations/introduction.md +1 -1
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/default-alias.md +0 -25
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/env.md +0 -72
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/plugin/_category_.json +0 -4
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/plugin/abstract.md +0 -26
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/plugin/hook-api.md +0 -896
- package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/plugin/hook.md +0 -170
- package/zh/apis/app/runtime/default-alias.md +0 -23
- package/zh/apis/app/runtime/env.md +0 -70
- package/zh/apis/app/runtime/plugin/_category_.json +0 -4
- package/zh/apis/app/runtime/plugin/abstract.md +0 -26
- package/zh/apis/app/runtime/plugin/plugin-api.md +0 -117
- package/zh/components/deploy.md +0 -60
- package/zh/components/dev-ide.md +0 -1
- package/zh/components/entry-name.md +0 -15
- package/zh/components/env-prepare.md +0 -1
- package/zh/components/launch-bff-choices.md +0 -6
- package/zh/guides/advanced-features/bff/bff-server.md +0 -142
- package/zh/guides/advanced-features/typescript.md +0 -4
- package/zh/guides/basic-features/image.md +0 -43
- package/zh/guides/concept/integrated.md +0 -4
- package/zh/guides/concept/solutions.md +0 -4
- package/zh/guides/topic-detail/compile-speed.md +0 -182
- package/zh/guides/topic-detail/framework-plugin/abstract.md +0 -27
- package/zh/guides/troubleshooting/compile.md +0 -379
- package/zh/tutorials/first-app/c08-client-side-routing/8.2-file-based-routing.md +0 -318
|
@@ -2,4 +2,45 @@
|
|
|
2
2
|
sidebar_position: 1
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
#
|
|
5
|
+
# 什么是微生成器
|
|
6
|
+
|
|
7
|
+
Modern.js 提供了 `@modern-js/create` 工具和 `new` 命令分别用于初始化创建项目和提供开启一些插件功能的能力,这些工具都是基于微生成器也就是 codesmith 实现的。
|
|
8
|
+
|
|
9
|
+
codesmith 致力于提供一套微生成器的运行机制,并维护微生成器执行过程中的上下文信息,从而实现各种基于文件、命令等操作,完成复杂的操作。
|
|
10
|
+
|
|
11
|
+
codesmith 还将常用的方法进行了封装,可以直接使用其提供的 API 函数,可以更方便的实现自身的微生成器。
|
|
12
|
+
|
|
13
|
+
## 核心概念
|
|
14
|
+
|
|
15
|
+
### GeneratorCore
|
|
16
|
+
|
|
17
|
+
GeneratorCore 是 codesmith 运行生成器的核心,维护这生成器执行过程中的上下文及运行方法。
|
|
18
|
+
|
|
19
|
+
```typescript
|
|
20
|
+
class GeneratorCore {
|
|
21
|
+
logger: ILogger; // 日志
|
|
22
|
+
materialsManager: MaterialsManager; // 资源
|
|
23
|
+
outputPath: string; // 输出路径
|
|
24
|
+
output: { // 输出方法
|
|
25
|
+
fs: (file: string | number, data: any, options?: fs.WriteFileOptions | string) => Promise<void>;
|
|
26
|
+
};
|
|
27
|
+
_context: GeneratorContext; // 上下文信息
|
|
28
|
+
addMaterial(key: string, material: FsMaterial): void; // 添加资源
|
|
29
|
+
runGenerator(generator: string, config?: Record<string, unknown>): Promise<void>; // 运行生成器
|
|
30
|
+
runSubGenerator(subGenerator: string, relativePwdPath?: string, config?: Record<string, any>): Promise<void>; // 运行子生成器
|
|
31
|
+
}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Materials
|
|
35
|
+
|
|
36
|
+
微生成器资源信息,目前只包含文件资源(fsMaterials),通过该字段可以获取到生成器执行过程中的 template 资源,并通过 API 对其进行操作。
|
|
37
|
+
|
|
38
|
+
```typescript
|
|
39
|
+
class MaterialsManager {
|
|
40
|
+
materialMap: { // 资源映射关系
|
|
41
|
+
[materialUri: string]: FsMaterial;
|
|
42
|
+
};
|
|
43
|
+
loadLocalGenerator(generator: string): Promise<FsMaterial>; // 加载本地生成器资源(绝对路径)
|
|
44
|
+
loadRemoteGenerator(generator: string): Promise<FsMaterial>; // 加载远程生成器资源(npm 包)
|
|
45
|
+
}
|
|
46
|
+
```
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 4
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
# 使用 JS 代码执行微生成器
|
|
7
|
+
|
|
8
|
+
除了使用 cli 的方式执行微生成器,我们免不了需要在代码中执行微生成器,下面就介绍在 js 代码中如何执行微生成器。
|
|
9
|
+
|
|
10
|
+
## 安装 codesmith 依赖
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
pnpm add @modern-js/codesmith
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## 创建 codesmith 实例
|
|
17
|
+
|
|
18
|
+
```typescript
|
|
19
|
+
import { CodeSmith, Logger } from '@modern-js/codesmith';
|
|
20
|
+
|
|
21
|
+
const smith = new CodeSmith({
|
|
22
|
+
debug: false, // 是否开启 debug 模式,为 true 时会展示生成器中的 debug 信息
|
|
23
|
+
});
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## 调用 forge 方法执行生成器
|
|
27
|
+
|
|
28
|
+
```typescript
|
|
29
|
+
type RunnerTask = Array<{
|
|
30
|
+
name: string;
|
|
31
|
+
config: Record<string, any>;
|
|
32
|
+
}>;
|
|
33
|
+
|
|
34
|
+
const task: RunnerTask = [
|
|
35
|
+
{
|
|
36
|
+
name: "generator", // 生成器 npm 包名称
|
|
37
|
+
config: {}, // 生成器执行的默认配置
|
|
38
|
+
},
|
|
39
|
+
];
|
|
40
|
+
|
|
41
|
+
await smith.forge({
|
|
42
|
+
tasks: task.map(runner => ({
|
|
43
|
+
generator: runner.name,
|
|
44
|
+
config: runner.config,
|
|
45
|
+
})),
|
|
46
|
+
pwd: '.', // 生成器执行路径
|
|
47
|
+
});
|
|
48
|
+
```
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 2
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# 微生成器的组成
|
|
6
|
+
|
|
7
|
+
一个微生成器项目为一个模块项目或者一个 Npm 包,包中包含几个基本部分:
|
|
8
|
+
|
|
9
|
+
## package.json
|
|
10
|
+
|
|
11
|
+
npm 包描述信息,包含 name、version、main 等字段。
|
|
12
|
+
|
|
13
|
+
## 入口文件
|
|
14
|
+
|
|
15
|
+
上述 main 字段对应的 js 文件。文件为默认导出一个生成器函数,函数格式如下:
|
|
16
|
+
|
|
17
|
+
```typescript
|
|
18
|
+
export default async (context: GeneratorContext, generator: GeneratorCore) => {
|
|
19
|
+
|
|
20
|
+
};
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
该函数参数为 context 和 generator:
|
|
24
|
+
|
|
25
|
+
### context
|
|
26
|
+
|
|
27
|
+
context 提供 codesmith 运行时维护的上下文信息。其类型定义为:
|
|
28
|
+
|
|
29
|
+
```typescript
|
|
30
|
+
interface GeneratorContext {
|
|
31
|
+
materials: Record<string, FsMaterial>; // 资源
|
|
32
|
+
config: Record<string, any>; // 用户 config 配置
|
|
33
|
+
data?: Record<string, any>; // 用户 data 配置
|
|
34
|
+
current: { material: FsMaterial; } | null; // 当前生成器运行可获取的文件资源
|
|
35
|
+
[key: string]: any; // 其他补充字段
|
|
36
|
+
}
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
materials 是 codesmith 的抽象文件系统,维护这生成器名称和可操作文件的映射关系。
|
|
40
|
+
|
|
41
|
+
materials 中还维护这一个 default 的映射关系,用于维护当前生成器执行目录的资源信息,通过该字段可以对目标项目资源进行操作。
|
|
42
|
+
|
|
43
|
+
例如当需要修改当前项目的 `package.json` 中的字段:
|
|
44
|
+
|
|
45
|
+
```typescript
|
|
46
|
+
const resource = context.materials.default.get(path.join(appDir, 'package.json'))
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
将获取到的 resource 传递给 codesmith 提供的 JSON API 即可实现 json 操作。
|
|
50
|
+
|
|
51
|
+
GeneratorContext 的 current 字段上维护这当前运行的生成器文件资源,可以通过 `current.material` 获取到当前的 `FsMaterial`.
|
|
52
|
+
|
|
53
|
+
FsMaterial 中提供了 get 方法用于获取资源文件并将资源文件传给生成器支持的 API 即可对模板文件进行处理。
|
|
54
|
+
|
|
55
|
+
例如:
|
|
56
|
+
|
|
57
|
+
```typescript
|
|
58
|
+
const resourceMap = await material.find('templates/**/*');
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
通过上述方式可以获取到生成器中符合 `templates/**/*` 规则的所有模板文件,遍历该对象即可对资源文件进行操作。
|
|
62
|
+
|
|
63
|
+
### generator
|
|
64
|
+
|
|
65
|
+
generator 提供 codesmith 运行时的函数方法。其类型定义为:
|
|
66
|
+
|
|
67
|
+
```typescript
|
|
68
|
+
interface GeneratorCore {
|
|
69
|
+
logger: Logger; // log 函数,支持 info、warning、debug、error、verbose、stream
|
|
70
|
+
outputPath: string; // 输出文件路径
|
|
71
|
+
output: {
|
|
72
|
+
fs: (file: string | number, data: any, options?: string | fs.WriteFileOptions | undefined) => Promise<void>
|
|
73
|
+
}; // 写文件方法
|
|
74
|
+
runSubGenerator: (subGenerator: string, relativePwdPath?: string | undefined, config?: Record<string, any> | undefined): Promise<void> // 运行子生成器
|
|
75
|
+
}
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
其中 outputPath 和 context 中的 `materials.default` 指向相同的目录,outputPath 用于直接计算目标路径并操作,`materials.default` 用于获取资源文件。
|
|
79
|
+
|
|
80
|
+
runSubGenerator 提供了在一个微生成器中去运行其他微生成器的方法,该方法将自动更新和维护新的 context 上下文信息。
|
|
81
|
+
|
|
82
|
+
## Template 文件
|
|
83
|
+
|
|
84
|
+
生成器模板文件。
|
|
85
|
+
|
|
86
|
+
推荐在项目根目录创建一个 templates 目录,用于维护该微生成器的模板文件,微生成器执行过程中只能使用自身的模板文件,对于需要共用的模板文件,建议通过共用子生成器实现。
|
|
@@ -32,7 +32,7 @@ New 命令的操作类型(actionType),类型支持两种:
|
|
|
32
32
|
|
|
33
33
|
- 创建应用入口(entry)
|
|
34
34
|
|
|
35
|
-
-
|
|
35
|
+
- 新建自定义 Web Serve 源码目录(server)
|
|
36
36
|
|
|
37
37
|
这两个选项还需要配置具体的配合使用,介绍如下:
|
|
38
38
|
|
|
@@ -40,11 +40,9 @@ New 命令的操作类型(actionType),类型支持两种:
|
|
|
40
40
|
|
|
41
41
|
入口名称(name), 字符串类型。
|
|
42
42
|
|
|
43
|
-
创建入口除了`name`之外,还需要 `needModifyMWAConfig`、`clientRoute` 字段。
|
|
44
|
-
|
|
45
43
|
#### framework
|
|
46
44
|
|
|
47
|
-
自定义
|
|
45
|
+
自定义 Web Serve 运行时框架(framework),支持两个选项:
|
|
48
46
|
|
|
49
47
|
- Express(express)
|
|
50
48
|
|
|
@@ -66,13 +64,11 @@ New 命令的操作类型(actionType),类型支持两种:
|
|
|
66
64
|
|
|
67
65
|
- Storybook(mwa_storybook)
|
|
68
66
|
|
|
69
|
-
- 部署(deploy)
|
|
70
|
-
|
|
71
67
|
- 启用「基于 UA 的 Polyfill」功能(polyfill)
|
|
72
68
|
|
|
73
69
|
- 启用「全局代理」(proxy)
|
|
74
70
|
|
|
75
|
-
`bff`
|
|
71
|
+
`bff` 和还需要配置具体的配合使用,介绍如下:
|
|
76
72
|
|
|
77
73
|
#### BFF 相关参数
|
|
78
74
|
|
|
@@ -86,7 +82,7 @@ BFF 类型(bffType),支持两个选项:
|
|
|
86
82
|
|
|
87
83
|
##### framework
|
|
88
84
|
|
|
89
|
-
|
|
85
|
+
BFF 运行时框架(framework),支持两个选项:
|
|
90
86
|
|
|
91
87
|
- Express(express)
|
|
92
88
|
|
|
@@ -6,7 +6,7 @@ sidebar_position: 3
|
|
|
6
6
|
|
|
7
7
|
针对于文本类型文件,增加 Handlebars 的自定义 Partial 片段,具体可查看文档[Partials](https://handlebarsjs.com/guide/#partials)。
|
|
8
8
|
|
|
9
|
-
该方法可在 onForged 生命周期的 api 参数上获取。
|
|
9
|
+
该方法可在 `onForged` 生命周期的 api 参数上获取。
|
|
10
10
|
|
|
11
11
|
其类型定义为:
|
|
12
12
|
|
|
@@ -19,7 +19,7 @@ export type ForgedAPI = {
|
|
|
19
19
|
|
|
20
20
|
## name
|
|
21
21
|
|
|
22
|
-
partial名称。
|
|
22
|
+
partial 名称。
|
|
23
23
|
|
|
24
24
|
## str
|
|
25
25
|
|
|
@@ -8,7 +8,7 @@ sidebar_position: 6
|
|
|
8
8
|
|
|
9
9
|
该方法适用于 JSON 文件类型,可批量更新 JSON 文件中字段值。
|
|
10
10
|
|
|
11
|
-
该方法可在 onForged 生命周期的 api 参数上获取。
|
|
11
|
+
该方法可在 `onForged` 生命周期的 api 参数上获取。
|
|
12
12
|
|
|
13
13
|
其类型定义为:
|
|
14
14
|
|
|
@@ -29,7 +29,8 @@ JSON 文件的文件名或者文件路径。
|
|
|
29
29
|
## updateInfo
|
|
30
30
|
|
|
31
31
|
字段更新信息。
|
|
32
|
-
|
|
32
|
+
|
|
33
|
+
该信息使用 `Record` 形式表示。
|
|
33
34
|
|
|
34
35
|
例如需要更新 name 字段:
|
|
35
36
|
|
|
@@ -6,7 +6,7 @@ sidebar_position: 8
|
|
|
6
6
|
|
|
7
7
|
更新 `package.json` 中 `modernConfig` 字段。
|
|
8
8
|
|
|
9
|
-
该方法可在 onForged 生命周期的 api 参数上获取。
|
|
9
|
+
该方法可在 `onForged` 生命周期的 api 参数上获取。
|
|
10
10
|
|
|
11
11
|
其类型定义为:
|
|
12
12
|
|
|
@@ -22,5 +22,5 @@ export type ForgedAPI = {
|
|
|
22
22
|
字段更新信息。
|
|
23
23
|
|
|
24
24
|
:::info
|
|
25
|
-
该函数为 updateJSONFile 的封装,将自动更新 `package.json` 的 `modernConfig` 字段 updateInfo 中只需填写相对于 `modernConfig` 的更新信息即可。
|
|
25
|
+
该函数为 updateJSONFile 的封装,将自动更新 `package.json` 的 `modernConfig` 字段 `updateInfo` 中只需填写相对于 `modernConfig` 的更新信息即可。
|
|
26
26
|
:::
|
|
@@ -4,7 +4,7 @@ sidebar_position: 2
|
|
|
4
4
|
|
|
5
5
|
# AfterForged
|
|
6
6
|
|
|
7
|
-
afterForged 函数为生成器插件生命周期函数,其通常用于定义安装依赖、Git
|
|
7
|
+
`afterForged` 函数为生成器插件生命周期函数,其通常用于定义安装依赖、Git 等操作,这些操作将会在 `onForged` 函数执行完成后进行。
|
|
8
8
|
|
|
9
9
|
该方法可直接在 context 上获取。
|
|
10
10
|
|
|
@@ -24,11 +24,11 @@ export interface IPluginContext {
|
|
|
24
24
|
|
|
25
25
|
## func
|
|
26
26
|
|
|
27
|
-
afterForged 参数是一个回调函数,函数参数为 api 和 inputData
|
|
27
|
+
`afterForged` 参数是一个回调函数,函数参数为 `api` 和 `inputData。`
|
|
28
28
|
|
|
29
29
|
### api
|
|
30
30
|
|
|
31
|
-
在 afterForged 生命周期中支持的函数列表,具体可查看 [Git API](/docs/guides/topic-detail/generator/plugin/api/git/isInGitRepo) 和 [NPM API](/docs/guides/topic-detail/generator/plugin/api/npm/install)。
|
|
31
|
+
在 `afterForged` 生命周期中支持的函数列表,具体可查看 [Git API](/docs/guides/topic-detail/generator/plugin/api/git/isInGitRepo) 和 [NPM API](/docs/guides/topic-detail/generator/plugin/api/npm/install)。
|
|
32
32
|
|
|
33
33
|
### inputData
|
|
34
34
|
|
|
@@ -4,7 +4,7 @@ sidebar_position: 1
|
|
|
4
4
|
|
|
5
5
|
# OnForged
|
|
6
6
|
|
|
7
|
-
onForged 函数为生成器插件生命周期函数,其通常用于定义文件类型操作,这些操作将在 base 的工程方案文件操作完成后进行。
|
|
7
|
+
`onForged` 函数为生成器插件生命周期函数,其通常用于定义文件类型操作,这些操作将在 base 的工程方案文件操作完成后进行。
|
|
8
8
|
|
|
9
9
|
该方法可直接在 context 上获取。
|
|
10
10
|
|
|
@@ -24,11 +24,11 @@ export interface IPluginContext {
|
|
|
24
24
|
|
|
25
25
|
## func
|
|
26
26
|
|
|
27
|
-
onForged 参数是一个回调函数,函数参数为 api 和 inputData。
|
|
27
|
+
`onForged` 参数是一个回调函数,函数参数为 api 和 inputData。
|
|
28
28
|
|
|
29
29
|
### api
|
|
30
30
|
|
|
31
|
-
在 onForged 生命周期中支持的函数列表,具体可查看[文件操作 API](/docs/guides/topic-detail/generator/plugin/api/file/introduce) 和[启用功能 API](/docs/guides/topic-detail/generator/plugin/api/new/introduce)。
|
|
31
|
+
在 `onForged` 生命周期中支持的函数列表,具体可查看[文件操作 API](/docs/guides/topic-detail/generator/plugin/api/file/introduce) 和[启用功能 API](/docs/guides/topic-detail/generator/plugin/api/new/introduce)。
|
|
32
32
|
|
|
33
33
|
### inputData
|
|
34
34
|
|
|
@@ -61,11 +61,15 @@ npx @modern-js/create plugin --plugin @modern-js/generator-plugin-plugin
|
|
|
61
61
|
在默认的输入前添加输入,比如在`选择包管理工具`问题前添加问题,具体 Modern.js 每个问题的配置可查看[工程方案配置](/docs/guides/topic-detail/generator/config/common)。
|
|
62
62
|
|
|
63
63
|
```ts
|
|
64
|
-
context.addInputBefore('
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
64
|
+
context.addInputBefore('input2', {
|
|
65
|
+
type: 'object',
|
|
66
|
+
properties: {
|
|
67
|
+
'input1.2': {
|
|
68
|
+
type: 'string',
|
|
69
|
+
title: 'input1.2',
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
});
|
|
69
73
|
```
|
|
70
74
|
|
|
71
75
|
- setInput
|
|
@@ -73,8 +77,8 @@ context.addInputBefore('packageManager', {
|
|
|
73
77
|
设置已经存在问题的属性
|
|
74
78
|
|
|
75
79
|
```ts
|
|
76
|
-
context.setInput('test', 'type', '
|
|
77
|
-
context.setInput('test', '
|
|
80
|
+
context.setInput('test', 'type', 'number')
|
|
81
|
+
context.setInput('test', 'enum', [{ value: 'option1', label: '选项一' }])
|
|
78
82
|
```
|
|
79
83
|
|
|
80
84
|
### onForged
|
|
@@ -3,6 +3,10 @@ sidebar_position: 1
|
|
|
3
3
|
title: 快速上手
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
+
import ReduckMigration from '@site-docs/components/reduck-migration.md'
|
|
7
|
+
|
|
8
|
+
<ReduckMigration />
|
|
9
|
+
|
|
6
10
|
[Reduck](https://github.com/modern-js-dev/reduck) 是 Modern.js 团队开发的遵循 MVC 模式的状态管理库,底层状态存储基于 [Redux](https://redux.js.org/) 实现,同时提供更高层级的抽象,并完全兼容 Redux 生态。
|
|
7
11
|
|
|
8
12
|
Reduck 的目标是以 MVC 模式组织 React 应用开发结构,将业务逻辑维护在 Model 层,业务逻辑与 UI 解耦,让开发业务逻辑更集中、更简单,同时通过更高层级的抽象,减少重复工作(样板代码)。
|
|
@@ -10,11 +10,11 @@ title: 环境准备
|
|
|
10
10
|
|
|
11
11
|
## 1. Node.js
|
|
12
12
|
|
|
13
|
-
需要 [Node.js LTS](https://github.com/nodejs/Release),并确保 Node 版本大于等于 14.
|
|
13
|
+
需要 [Node.js LTS](https://github.com/nodejs/Release),并确保 Node 版本大于等于 14.19.0, 推荐使用 16.x 版本。
|
|
14
14
|
|
|
15
15
|
Modern.js 推荐在开发环境里先安装 [nvm](https://github.com/nvm-sh/nvm#install--update-script),在 shell 里集成[自动切换 node 版本的脚本](https://github.com/nvm-sh/nvm#deeper-shell-integration)。
|
|
16
16
|
|
|
17
|
-
然后只要仓库根目录下有内容为 `lts/fermium` 或 `lts/
|
|
17
|
+
然后只要仓库根目录下有内容为 `lts/fermium` 或 `lts/gallium` 的 `.nvmrc` 文件,进入这个仓库时就会自动安装或切换到正确的 Node.js 版本。
|
|
18
18
|
|
|
19
19
|
## 2. pnpm
|
|
20
20
|
|
|
@@ -75,10 +75,10 @@ ni package.json
|
|
|
75
75
|
"dependencies": {
|
|
76
76
|
"react": "^17",
|
|
77
77
|
"react-dom": "^17",
|
|
78
|
-
"@modern-js/runtime": "^
|
|
78
|
+
"@modern-js/runtime": "^2.0.0"
|
|
79
79
|
},
|
|
80
80
|
"devDependencies": {
|
|
81
|
-
"@modern-js/app-tools": "^
|
|
81
|
+
"@modern-js/app-tools": "^2.0.0"
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
```
|
|
@@ -6,18 +6,21 @@ title: 启用 SSR
|
|
|
6
6
|
|
|
7
7
|
在项目根目录下创建 `modern.config.js`:
|
|
8
8
|
|
|
9
|
+
import Tabs from '@theme/Tabs';
|
|
10
|
+
import TabItem from '@theme/TabItem';
|
|
11
|
+
|
|
9
12
|
<Tabs>
|
|
10
13
|
<TabItem value="macOS" label="macOS" default>
|
|
11
14
|
|
|
12
15
|
```bash
|
|
13
|
-
touch modern.config.
|
|
16
|
+
touch modern.config.ts
|
|
14
17
|
```
|
|
15
18
|
|
|
16
19
|
</TabItem>
|
|
17
20
|
<TabItem value="Windows" label="Windows">
|
|
18
21
|
|
|
19
22
|
```bash
|
|
20
|
-
ni modern.config.
|
|
23
|
+
ni modern.config.ts
|
|
21
24
|
```
|
|
22
25
|
|
|
23
26
|
</TabItem>
|
|
@@ -6,17 +6,23 @@ title: 样板文件
|
|
|
6
6
|
|
|
7
7
|
```md
|
|
8
8
|
.
|
|
9
|
-
├── .
|
|
10
|
-
├── src/
|
|
11
|
-
│ ├── .eslintrc.json
|
|
12
|
-
│ ├── App.css
|
|
13
|
-
│ └── App.jsx
|
|
14
|
-
├── .editorconfig
|
|
9
|
+
├── .eslintrc.js
|
|
15
10
|
├── .gitignore
|
|
11
|
+
├── .husky
|
|
12
|
+
├── .idea
|
|
16
13
|
├── .npmrc
|
|
17
14
|
├── .nvmrc
|
|
15
|
+
├── .prettierrc
|
|
16
|
+
├── .vscode
|
|
18
17
|
├── README.md
|
|
18
|
+
├── modern.config.js
|
|
19
19
|
├── package.json
|
|
20
|
+
├── src
|
|
21
|
+
│ ├── .eslintrc.js
|
|
22
|
+
│ └── routes
|
|
23
|
+
│ ├── index.css
|
|
24
|
+
│ ├── layout.jsx
|
|
25
|
+
│ └── page.jsx
|
|
20
26
|
└── pnpm-lock.yaml
|
|
21
27
|
```
|
|
22
28
|
|
|
@@ -2,11 +2,9 @@
|
|
|
2
2
|
title: 配置项目
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
通过命令行工具创建的 Modern.js
|
|
5
|
+
通过命令行工具创建的 Modern.js 项目,会默认生成 `modern.config.js` 配置文件。
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
这两处都可以进行 Modern.js 项目的配置,并且 `modernConfig` 字段中的配置优先级高于 `modern.config.js` 中相同的内容。
|
|
7
|
+
Modern.js 也支持使用 `package.json` 文件中的 `modernConfig` 字段进行配置,两个位置不支持同时配置同一字段,推荐使用 `modern.config.js` 配置文件进行配置。
|
|
10
8
|
|
|
11
9
|
:::info 注
|
|
12
10
|
|
|
@@ -15,7 +15,7 @@ cd hello-modern/
|
|
|
15
15
|
code .
|
|
16
16
|
```
|
|
17
17
|
|
|
18
|
-

|
|
19
19
|
|
|
20
20
|
:::info 补充信息
|
|
21
21
|
必须打开项目根目录,不能打开其他子目录或父目录,否则 IDE 支持不会生效。
|