@modern-js/main-doc 2.0.0-beta.1 → 2.0.0-beta.3
Sign up to get free protection for your applications and to get access to all the features.
- package/.turbo/turbo-build.log +1 -1
- package/en/docusaurus-plugin-content-docs/current/apis/app/commands/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,65 +2,59 @@
|
|
2
2
|
title: IDE 中的自动提示
|
3
3
|
---
|
4
4
|
|
5
|
-
打开任意 JS/TS 文件(比如 `src/
|
5
|
+
打开任意 JS/TS 文件(比如 `src/routes/page.tsx`),底部状态栏右侧应该有显示 ESLint,点击可以看到运行 log,应该没有报错。
|
6
6
|
|
7
|
-
接下来对 `
|
7
|
+
接下来对 `page.jsx` 代码做如下修改(修改过程中不要保存),增加无用的函数参数、去掉换行、单引号改成双引号、增加缩进(可以直接复制下面的代码替换 App.jsx 的内容),注意修改过程中**先不要保存文件**。
|
8
8
|
|
9
9
|
```js
|
10
|
-
import
|
10
|
+
import './index.css';
|
11
11
|
|
12
|
-
|
13
|
-
|
14
|
-
const App = (a) => (
|
15
|
-
<Switch>
|
16
|
-
<Route exact={true} path="/">
|
12
|
+
const Index = (a) => (
|
17
13
|
<div className="container-box">
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
</main>
|
48
|
-
<footer className="footer">
|
49
|
-
<a href="#" target="_blank" rel="noopener noreferrer">
|
50
|
-
Powered by Modern.JS
|
51
|
-
</a>
|
52
|
-
</footer>
|
14
|
+
<main>
|
15
|
+
<div className='logo'>
|
16
|
+
<img
|
17
|
+
src="https://lf3-static.bytednsdoc.com/obj/eden-cn/ylaelkeh7nuhfnuhf/modernjs-cover.png"
|
18
|
+
width="300"
|
19
|
+
alt="Modern.js Logo"
|
20
|
+
/>
|
21
|
+
</div>
|
22
|
+
<p className="description">
|
23
|
+
Get started by editing <code className="code">src/routes/page.tsx</code>
|
24
|
+
</p>
|
25
|
+
<div className="grid">
|
26
|
+
<a href="https://modernjs.dev/docs/start" className="card">
|
27
|
+
<h2>Quick Start</h2>
|
28
|
+
</a>
|
29
|
+
<a href="https://modernjs.dev/docs/guides" className="card">
|
30
|
+
<h2>Handbook</h2>
|
31
|
+
</a>
|
32
|
+
<a href="https://modernjs.dev/docs/apis/app/overview" className="card">
|
33
|
+
<h2>API Reference </h2>
|
34
|
+
</a>
|
35
|
+
<a
|
36
|
+
href="https://modernjs.dev/blog"
|
37
|
+
target="_blank"
|
38
|
+
rel="noopener noreferrer"
|
39
|
+
className="card"
|
40
|
+
>
|
41
|
+
<h2>Blog</h2>
|
42
|
+
</a>
|
53
43
|
</div>
|
54
|
-
</
|
55
|
-
<
|
56
|
-
<
|
57
|
-
|
58
|
-
|
44
|
+
</main>
|
45
|
+
<footer className="footer">
|
46
|
+
<a href="https://modernjs.dev" target="_blank" rel="noopener noreferrer">
|
47
|
+
Powered by Modern.js
|
48
|
+
</a>
|
49
|
+
</footer>
|
50
|
+
</div>
|
59
51
|
);
|
60
52
|
|
61
|
-
export default
|
53
|
+
export default Index;
|
54
|
+
|
55
|
+
|
62
56
|
```
|
63
57
|
|
64
58
|
可以在 VS Code 中看到修改过的代码出现了问题提示,点击底部界面中的 Problems 一栏,可以看到问题列表。
|
65
59
|
|
66
|
-

|
@@ -6,6 +6,6 @@ title: IDE 中的自动修复
|
|
6
6
|
|
7
7
|
只剩下**无用的函数参数**问题,需要人工修复:
|
8
8
|
|
9
|
-

|
10
10
|
|
11
11
|
问题提示中,显示了这个问题来自 ESLint 的 `no-unused-vars` 规则,带下划线的是 ESLint 规则名称,按住 CMD/Alt 键点击,可以打开这条规则的文档,查看问题的解释和解决方法。
|
@@ -7,10 +7,10 @@ title: 命令行中的自动修复
|
|
7
7
|
我们添加一段可自动修复的问题代码(如果在 VS Code 里添加,保存时会自动修复,所以用 CLI 来添加):
|
8
8
|
|
9
9
|
```bash
|
10
|
-
echo ';' >> src/
|
10
|
+
echo ';' >> src/routes/page.jsx
|
11
11
|
```
|
12
12
|
|
13
|
-
打开 `
|
13
|
+
打开 `page.tsx`,可以看到末尾多了一个 ';',有问题提示。
|
14
14
|
|
15
15
|
提交代码:
|
16
16
|
|
@@ -24,7 +24,7 @@ git status
|
|
24
24
|
手动把参数 a 的问题修复(删除 a),再次添加 ';',提交代码:
|
25
25
|
|
26
26
|
```bash
|
27
|
-
echo ';' >> src/
|
27
|
+
echo ';' >> src/routes/page.jsx
|
28
28
|
git commit -am "test: 再次测试准入检查"
|
29
29
|
git log HEAD --stat --graph --name-status
|
30
30
|
```
|
@@ -43,7 +43,7 @@ git log HEAD --stat --graph --name-status
|
|
43
43
|
如果要对整个仓库的所有文件做 lint 检查和自动修复,可以手动执行 `lint` 命令,比如:
|
44
44
|
|
45
45
|
```bash
|
46
|
-
echo ';' >> src/
|
46
|
+
echo ';' >> src/routes/page.jsx
|
47
47
|
pnpm run lint
|
48
48
|
```
|
49
49
|
|
@@ -6,22 +6,9 @@ title: 使用 ES6+ 语法
|
|
6
6
|
|
7
7
|
这一章节中,我们沿用上一章节的项目和编码环境,实现一个最简单的联系人列表。
|
8
8
|
|
9
|
-
Modern.js 支持 `src` 目录下直接使用 ES6+(ES2015
|
9
|
+
Modern.js 支持 `src` 目录下直接使用 ES6+(ES2015+)语法。
|
10
10
|
|
11
|
-
|
12
|
-
2. 部分很有用且确定性较强(重构也容易)的 [Stage 1(提案阶段)](https://github.com/tc39/proposals/blob/master/stage-1-proposals.md)、[Stage 2(草案阶段)](https://github.com/tc39/proposals#stage-2)、[Stage 3(候选阶段)](https://github.com/tc39/proposals#stage-3)语法,比如:
|
13
|
-
|
14
|
-
- [Decorators](https://babeljs.io/docs/en/babel-plugin-proposal-decorators)(默认使用 legacy 提案,可通过 `output.enableLatestDecorators` 使用新版提案)
|
15
|
-
- [Class Public Properties](https://babeljs.io/docs/en/babel-plugin-proposal-class-properties)
|
16
|
-
- [Class Private Properties](https://babeljs.io/docs/en/babel-plugin-proposal-private-property-in-object)、[Class Private Methods](https://babeljs.io/docs/en/babel-plugin-proposal-private-methods)
|
17
|
-
- [Pipeline Operator](https://babeljs.io/docs/en/babel-plugin-proposal-pipeline-operator)(默认为 minimal 提案)
|
18
|
-
- [Partial Application](https://babeljs.io/docs/en/babel-plugin-proposal-partial-application)
|
19
|
-
- [Bind Operator](https://babeljs.io/docs/en/babel-plugin-proposal-function-bind)
|
20
|
-
- [export default from](https://babeljs.io/docs/en/babel-plugin-proposal-export-default-from), [export namespace from](https://babeljs.io/docs/en/babel-plugin-proposal-export-namespace-from)
|
21
|
-
- [Optional Catch Binding](https://babeljs.io/docs/en/babel-plugin-proposal-optional-catch-binding)
|
22
|
-
- [Numeric Separator](https://babeljs.io/docs/en/babel-plugin-proposal-numeric-separator)
|
23
|
-
|
24
|
-
我们把 `src/App.jsx` 改成:
|
11
|
+
我们把 `routes/page.jsx` 改成:
|
25
12
|
|
26
13
|
```js
|
27
14
|
const getAvatar = users =>
|
@@ -30,18 +17,18 @@ const getAvatar = users =>
|
|
30
17
|
avatar: `https://avatars.dicebear.com/v2/identicon/${user.name}.svg`,
|
31
18
|
}));
|
32
19
|
|
33
|
-
const
|
34
|
-
[
|
20
|
+
const getMockData = () =>
|
21
|
+
getAvatar([
|
35
22
|
{ name: 'Thomas', email: 'w.kccip@bllmfbgv.dm' },
|
36
23
|
{ name: 'Chow', email: 'f.lfqljnlk@ywoefljhc.af' },
|
37
24
|
{ name: 'Bradley', email: 'd.wfovsqyo@gpkcjwjgb.fr' },
|
38
25
|
{ name: 'Davis', email: '"t.kqkoj@utlkwnpwk.nu' },
|
39
|
-
]
|
26
|
+
]);
|
40
27
|
|
41
|
-
function
|
28
|
+
function Index() {
|
42
29
|
return (
|
43
30
|
<ul>
|
44
|
-
{
|
31
|
+
{getMockData().map(({ name, avatar, email }) => (
|
45
32
|
<li key={name}>
|
46
33
|
<img src={avatar} width={60} height={60} /> ---
|
47
34
|
<span>{name}</span> ---
|
@@ -52,7 +39,7 @@ function App() {
|
|
52
39
|
);
|
53
40
|
}
|
54
41
|
|
55
|
-
export default
|
42
|
+
export default Index;
|
56
43
|
```
|
57
44
|
|
58
45
|
可以看到其中使用了多种 ES6+ 语法(注意生成 mockData 过程中使用了 [Pipeline Operator](https://babeljs.io/docs/en/babel-plugin-proposal-pipeline-operator) 语法),都不需要做任何配置。
|
@@ -15,7 +15,10 @@ import TabItem from '@theme/TabItem';
|
|
15
15
|
<TabItem value="macOS" label="macOS" default>
|
16
16
|
|
17
17
|
```bash
|
18
|
-
mv src/
|
18
|
+
mv src/routes/layout.jsx src/routes/layout.tsx
|
19
|
+
mv src/routes/page.jsx src/routes/page.tsx
|
20
|
+
mv modern.config.js modern.config.ts
|
21
|
+
touch src/modern-app-env.d.ts
|
19
22
|
|
20
23
|
pnpm add typescript @types/react @types/react-dom @types/node -D
|
21
24
|
|
@@ -26,7 +29,10 @@ touch tsconfig.json
|
|
26
29
|
<TabItem value="Windows" label="Windows">
|
27
30
|
|
28
31
|
```bash
|
29
|
-
mv src/
|
32
|
+
mv src/routes/layout.jsx src/routes/layout.tsx
|
33
|
+
mv src/routes/page.jsx src/routes/page.tsx
|
34
|
+
mv modern.config.js modern.config.ts
|
35
|
+
ni src/modern-app-env.d.ts
|
30
36
|
|
31
37
|
pnpm add typescript @types/react @types/react-dom @types/node -D
|
32
38
|
|
@@ -57,28 +63,46 @@ ni tsconfig.json
|
|
57
63
|
}
|
58
64
|
```
|
59
65
|
|
60
|
-
|
66
|
+
`modern.config.ts` 内容修改如下:
|
61
67
|
|
62
68
|
```ts
|
63
|
-
import
|
69
|
+
import { defineConfig } from '@modern-js/app-tools';
|
64
70
|
|
71
|
+
export default defineConfig({
|
72
|
+
runtime: {
|
73
|
+
router: true,
|
74
|
+
state: true,
|
75
|
+
},
|
76
|
+
});
|
77
|
+
```
|
78
|
+
|
79
|
+
`modern-app-env.d.ts` 内容如下
|
80
|
+
|
81
|
+
```ts
|
82
|
+
/// <reference types='@modern-js/app-tools/types' />
|
83
|
+
```
|
84
|
+
|
85
|
+
打开 `src/routes/page.tsx`,把代码改成以下内容:
|
86
|
+
|
87
|
+
```ts
|
65
88
|
const getAvatar = (users: Array<{ name: string; email: string }>) =>
|
66
89
|
users.map(user => ({
|
67
90
|
...user,
|
68
91
|
avatar: `https://avatars.dicebear.com/v2/identicon/${user.name}.svg`,
|
69
92
|
}));
|
70
93
|
|
71
|
-
const
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
94
|
+
const getMockData = () =>
|
95
|
+
getAvatar([
|
96
|
+
{ name: 'Thomas', email: 'w.kccip@bllmfbgv.dm' },
|
97
|
+
{ name: 'Chow', email: 'f.lfqljnlk@ywoefljhc.af' },
|
98
|
+
{ name: 'Bradley', email: 'd.wfovsqyo@gpkcjwjgb.fr' },
|
99
|
+
{ name: 'Davis', email: '"t.kqkoj@utlkwnpwk.nu' },
|
100
|
+
]);
|
77
101
|
|
78
|
-
function
|
102
|
+
function Index() {
|
79
103
|
return (
|
80
104
|
<ul>
|
81
|
-
{
|
105
|
+
{getMockData().map(({ name, avatar, email }) => (
|
82
106
|
<li key={name}>
|
83
107
|
<img src={avatar} width={60} height={60} /> ---
|
84
108
|
<span>{name}</span> ---
|
@@ -89,7 +113,7 @@ function App() {
|
|
89
113
|
);
|
90
114
|
}
|
91
115
|
|
92
|
-
export default
|
116
|
+
export default Index;
|
93
117
|
```
|
94
118
|
|
95
119
|
可以看到,跟 ES6+ 的代码相比有以下不同:
|
@@ -14,26 +14,16 @@ title: 使用主流组件库
|
|
14
14
|
pnpm add antd
|
15
15
|
```
|
16
16
|
|
17
|
-
|
18
|
-
|
19
|
-
```bash
|
20
|
-
# 启用可选功能
|
21
|
-
启用 Tailwind CSS 支持
|
22
|
-
❯ 启用 Less 支持
|
23
|
-
启用 Sass 支持
|
24
|
-
...
|
25
|
-
```
|
26
|
-
|
27
|
-
修改 `src/App.tsx`,在顶部导入组件:
|
17
|
+
修改 `src/routes/page.tsx`,在顶部导入组件:
|
28
18
|
|
29
19
|
```js
|
30
20
|
import { List } from 'antd';
|
31
21
|
```
|
32
22
|
|
33
|
-
修改
|
23
|
+
修改 Index 组件的实现:
|
34
24
|
|
35
25
|
```ts
|
36
|
-
function
|
26
|
+
function Index() {
|
37
27
|
return (
|
38
28
|
<div>
|
39
29
|
<List
|
@@ -12,7 +12,7 @@ title: 使用独立开源组件
|
|
12
12
|
pnpm add react-ladda ladda
|
13
13
|
```
|
14
14
|
|
15
|
-
在 `src/
|
15
|
+
在 `src/routes/page.tsx` 里导入组件,同时手动导入需要的 CSS:
|
16
16
|
|
17
17
|
```ts
|
18
18
|
import LaddaButton, { S, SLIDE_UP } from 'react-ladda';
|
@@ -46,26 +46,6 @@ import 'ladda/dist/ladda.min.css';
|
|
46
46
|
|
47
47
|
`react-ladda` 组件库没有提供 types 文件,我们添加一个 `.d.ts` 文件:
|
48
48
|
|
49
|
-
import Tabs from '@theme/Tabs';
|
50
|
-
import TabItem from '@theme/TabItem';
|
51
|
-
|
52
|
-
<Tabs>
|
53
|
-
<TabItem value="macOS" label="macOS" default>
|
54
|
-
|
55
|
-
```bash
|
56
|
-
touch src/modern-app-env.d.ts
|
57
|
-
```
|
58
|
-
|
59
|
-
</TabItem>
|
60
|
-
<TabItem value="Windows" label="Windows">
|
61
|
-
|
62
|
-
```bash
|
63
|
-
ni src/modern-app-env.d.ts
|
64
|
-
```
|
65
|
-
|
66
|
-
</TabItem>
|
67
|
-
</Tabs>
|
68
|
-
|
69
49
|
在 `modern-app-env.d.ts` 中添加模块定义:
|
70
50
|
|
71
51
|
```ts
|
@@ -21,7 +21,7 @@ Modern.js 开箱即用的支持 CSS Modules,但我们更推荐优先采用 CSS
|
|
21
21
|
|
22
22
|
Modern.js 同样开箱即用的支持 styled-components,既不需要安装依赖,也不需要做任何配置。
|
23
23
|
|
24
|
-
在 `src/
|
24
|
+
在 `src/routes/page.tsx` 里修改顶部的代码:
|
25
25
|
|
26
26
|
```js
|
27
27
|
import styled from '@modern-js/runtime/styled';
|
@@ -63,30 +63,30 @@ import TabItem from '@theme/TabItem';
|
|
63
63
|
<TabItem value="macOS" label="macOS" default>
|
64
64
|
|
65
65
|
```bash
|
66
|
-
mkdir -p src/components/Avatar
|
67
|
-
touch src/components/Avatar/index.tsx
|
66
|
+
mkdir -p src/routes/components/Avatar
|
67
|
+
touch src/routes/components/Avatar/index.tsx
|
68
68
|
```
|
69
69
|
|
70
70
|
</TabItem>
|
71
71
|
<TabItem value="Windows" label="Windows">
|
72
72
|
|
73
73
|
```powershell
|
74
|
-
mkdir -p src/components/Avatar
|
75
|
-
ni src/components/Avatar/index.tsx
|
74
|
+
mkdir -p src/routes/components/Avatar
|
75
|
+
ni src/routes/components/Avatar/index.tsx
|
76
76
|
```
|
77
77
|
|
78
78
|
</TabItem>
|
79
79
|
</Tabs>
|
80
80
|
|
81
|
-
把 `src/
|
81
|
+
把 `src/routes/page.tsx` 里的 Avatar 实现删掉,改成:
|
82
82
|
|
83
|
-
```
|
83
|
+
```ts
|
84
84
|
import Avatar from './components/Avatar';
|
85
85
|
```
|
86
86
|
|
87
|
-
`src/components/Avatar/index.tsx` 的内容:
|
87
|
+
`src/routes/components/Avatar/index.tsx` 的内容:
|
88
88
|
|
89
|
-
```
|
89
|
+
```ts
|
90
90
|
import styled from '@modern-js/runtime/styled';
|
91
91
|
|
92
92
|
const Avatar = styled.img`
|
@@ -21,15 +21,10 @@ Modern.js 集成了主流、轻量、通用的 Utility Class 工具库 [Tailwind
|
|
21
21
|
```bash
|
22
22
|
# 启用可选功能
|
23
23
|
❯ 启用 Tailwind CSS 支持
|
24
|
-
启用 Sass 支持
|
25
24
|
...
|
26
25
|
```
|
27
26
|
|
28
|
-
|
29
|
-
因为我们之前已经开启了 Less 支持,所以再次添加可选功能时,不再有这个选项。
|
30
|
-
:::
|
31
|
-
|
32
|
-
在 `src/App.tsx` 顶部引入 Tailwind CSS 的 css 文件,就可以开始快速实现专业的 UI:
|
27
|
+
在 `src/routes/page.tsx` 顶部引入 Tailwind CSS 的 css 文件,就可以开始快速实现专业的 UI:
|
33
28
|
|
34
29
|
```js
|
35
30
|
import 'tailwindcss/base.css';
|
@@ -46,22 +41,22 @@ import TabItem from '@theme/TabItem';
|
|
46
41
|
<TabItem value="macOS" label="macOS" default>
|
47
42
|
|
48
43
|
```bash
|
49
|
-
mkdir -p src/components/Item
|
50
|
-
touch src/components/Item/index.tsx
|
44
|
+
mkdir -p src/routes/components/Item
|
45
|
+
touch src/routes/components/Item/index.tsx
|
51
46
|
```
|
52
47
|
|
53
48
|
</TabItem>
|
54
49
|
<TabItem value="Windows" label="Windows">
|
55
50
|
|
56
51
|
```powershell
|
57
|
-
mkdir -p src/components/Item
|
58
|
-
ni src/components/Item/index.tsx
|
52
|
+
mkdir -p src/routes/components/Item
|
53
|
+
ni src/routes/components/Item/index.tsx
|
59
54
|
```
|
60
55
|
|
61
56
|
</TabItem>
|
62
57
|
</Tabs>
|
63
58
|
|
64
|
-
修改 `src/
|
59
|
+
修改 `src/routes/page.tsx`,把 `List` 的 `render` 实现交给 `Item` 组件:
|
65
60
|
|
66
61
|
```js
|
67
62
|
import { List } from 'antd';
|
@@ -83,7 +78,7 @@ const mockData = getAvatar([
|
|
83
78
|
{ name: 'Davis', email: '"t.kqkoj@utlkwnpwk.nu' },
|
84
79
|
]);
|
85
80
|
|
86
|
-
function
|
81
|
+
function Index() {
|
87
82
|
return (
|
88
83
|
<div className="container lg mx-auto">
|
89
84
|
<List
|
@@ -94,12 +89,12 @@ function App() {
|
|
94
89
|
);
|
95
90
|
}
|
96
91
|
|
97
|
-
export default
|
92
|
+
export default Index;
|
98
93
|
```
|
99
94
|
|
100
95
|
在父容器的上使用了 [Utility Class](https://tailwindcss.com/docs/container) ,快速实现了最基本的 [RWD](https://tailwindcss.com/docs/responsive-design)(最大宽度、居中)。
|
101
96
|
|
102
|
-
接下来实现 `src/components/Item/index.tsx`:
|
97
|
+
接下来实现 `src/routes/components/Item/index.tsx`:
|
103
98
|
|
104
99
|
```tsx
|
105
100
|
import Avatar from '../Avatar';
|
@@ -17,28 +17,28 @@ import TabItem from '@theme/TabItem';
|
|
17
17
|
<TabItem value="macOS" label="macOS" default>
|
18
18
|
|
19
19
|
```bash
|
20
|
-
mkdir -p src/styles
|
21
|
-
touch src/styles/utils.css
|
20
|
+
mkdir -p src/routes/styles
|
21
|
+
touch src/routes/styles/utils.css
|
22
22
|
```
|
23
23
|
|
24
24
|
</TabItem>
|
25
25
|
<TabItem value="Windows" label="Windows">
|
26
26
|
|
27
27
|
```powershell
|
28
|
-
mkdir -p src/styles
|
29
|
-
ni src/styles/utils.css
|
28
|
+
mkdir -p src/routes/styles
|
29
|
+
ni src/routes/styles/utils.css
|
30
30
|
```
|
31
31
|
|
32
32
|
</TabItem>
|
33
33
|
</Tabs>
|
34
34
|
|
35
|
-
在 `src/
|
35
|
+
在 `src/routes/page.tsx` 里导入 `utils.css`:
|
36
36
|
|
37
37
|
```js
|
38
38
|
import './styles/utils.css';
|
39
39
|
```
|
40
40
|
|
41
|
-
在 `src/styles/utils.css` 里实现一个叫作 `custom-text-gray` 的 Utility Class。
|
41
|
+
在 `src/routes/styles/utils.css` 里实现一个叫作 `custom-text-gray` 的 Utility Class。
|
42
42
|
|
43
43
|
```css
|
44
44
|
:root {
|
@@ -54,7 +54,7 @@ import './styles/utils.css';
|
|
54
54
|
Modern.js 集成了 [PostCSS](/docs/guides/basic-features/css/postcss),支持现代 CSS 语法特性,比如 [custom properties](https://developer.mozilla.org/en-US/docs/Web/CSS/--*)。
|
55
55
|
:::
|
56
56
|
|
57
|
-
在 `src/components/Item/index.tsx` 里使用,把:
|
57
|
+
在 `src/routes/components/Item/index.tsx` 里使用,把:
|
58
58
|
|
59
59
|
```js
|
60
60
|
<div className="ml-4 flex-1 flex justify-between">
|
@@ -32,14 +32,14 @@ import TabItem from '@theme/TabItem';
|
|
32
32
|
<TabItem value="macOS" label="macOS" default>
|
33
33
|
|
34
34
|
```bash
|
35
|
-
touch src/components/Avatar/index.stories.tsx
|
35
|
+
touch src/routes/components/Avatar/index.stories.tsx
|
36
36
|
```
|
37
37
|
|
38
38
|
</TabItem>
|
39
39
|
<TabItem value="Windows" label="Windows">
|
40
40
|
|
41
41
|
```powershell
|
42
|
-
ni src/components/Avatar/index.stories.tsx
|
42
|
+
ni src/routes/components/Avatar/index.stories.tsx
|
43
43
|
```
|
44
44
|
|
45
45
|
</TabItem>
|
@@ -20,14 +20,14 @@ import TabItem from '@theme/TabItem';
|
|
20
20
|
<TabItem value="macOS" label="macOS" default>
|
21
21
|
|
22
22
|
```bash
|
23
|
-
touch src/components/Item/index.test.tsx
|
23
|
+
touch src/routes/components/Item/index.test.tsx
|
24
24
|
```
|
25
25
|
|
26
26
|
</TabItem>
|
27
27
|
<TabItem value="Windows" label="Windows">
|
28
28
|
|
29
29
|
```powershell
|
30
|
-
ni src/components/Item/index.test.tsx
|
30
|
+
ni src/routes/components/Item/index.test.tsx
|
31
31
|
```
|
32
32
|
|
33
33
|
</TabItem>
|
@@ -39,16 +39,16 @@ ni src/components/Item/index.test.tsx
|
|
39
39
|
<TabItem value="macOS" label="macOS" default>
|
40
40
|
|
41
41
|
```bash
|
42
|
-
mkdir -p src/components/Item/__tests__/
|
43
|
-
touch src/components/Item/__tests__/index.tsx
|
42
|
+
mkdir -p src/routes/components/Item/__tests__/
|
43
|
+
touch src/routes/components/Item/__tests__/index.tsx
|
44
44
|
```
|
45
45
|
|
46
46
|
</TabItem>
|
47
47
|
<TabItem value="Windows" label="Windows">
|
48
48
|
|
49
49
|
```powershell
|
50
|
-
mkdir -p src/components/Item/__tests__/
|
51
|
-
ni src/components/Item/__tests__/index.tsx
|
50
|
+
mkdir -p src/routes/components/Item/__tests__/
|
51
|
+
ni src/routes/components/Item/__tests__/index.tsx
|
52
52
|
```
|
53
53
|
|
54
54
|
</TabItem>
|
@@ -81,12 +81,6 @@ describe('Item', () => {
|
|
81
81
|
});
|
82
82
|
```
|
83
83
|
|
84
|
-
在之前章节创建的 `modern-app-env.d.ts` 文件 **顶部**([`///` 语法只在文件顶部生效](https://www.typescriptlang.org/docs/handbook/triple-slash-directives.html#:~:text=Triple-slash%20directives%20are%20only%20valid%20at%20the%20top%20of%20their%20containing%20file.)) 加上类型定义:
|
85
|
-
|
86
|
-
```ts
|
87
|
-
/// <reference types="@modern-js/plugin-testing/type" />
|
88
|
-
```
|
89
|
-
|
90
84
|
:::info 注
|
91
85
|
更多相关内容可以查看 [Test API](/docs/apis/app/runtime/testing/render)。
|
92
86
|
:::
|
@@ -96,15 +90,12 @@ describe('Item', () => {
|
|
96
90
|
```bash
|
97
91
|
> modern test
|
98
92
|
|
99
|
-
PASS src/components/Item/index.test.tsx
|
100
|
-
Item
|
101
|
-
✓ should have contents (27 ms)
|
93
|
+
PASS src/routes/components/Item/index.test.tsx
|
102
94
|
|
103
95
|
Test Suites: 1 passed, 1 total
|
104
96
|
Tests: 1 passed, 1 total
|
105
97
|
Snapshots: 0 total
|
106
|
-
Time: 1.
|
107
|
-
Ran all test suites.
|
98
|
+
Time: 1.708 s
|
108
99
|
```
|
109
100
|
|
110
101
|
---
|