@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.
Files changed (415) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/en/docusaurus-plugin-content-docs/current/apis/app/commands/build.md +1 -1
  3. package/en/docusaurus-plugin-content-docs/current/apis/app/commands/dev.md +1 -1
  4. package/en/docusaurus-plugin-content-docs/current/apis/app/commands/lint.md +1 -1
  5. package/en/docusaurus-plugin-content-docs/current/apis/app/commands/new.md +1 -4
  6. package/en/docusaurus-plugin-content-docs/current/apis/app/commands/start.md +1 -1
  7. package/en/docusaurus-plugin-content-docs/current/apis/app/commands/test.md +1 -1
  8. package/en/docusaurus-plugin-content-docs/current/apis/app/overview.md +1 -1
  9. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/core/bootstrap.md +17 -3
  10. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/auto-actions.md +1 -1
  11. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/connect.md +1 -1
  12. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/create-app.md +2 -2
  13. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/create-store.md +1 -1
  14. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/handle-effect.md +1 -1
  15. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/model_.md +1 -1
  16. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/use-local-model.md +1 -1
  17. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/use-model.md +1 -1
  18. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/use-static-model.md +1 -1
  19. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/use-store.md +1 -23
  20. package/en/docusaurus-plugin-content-docs/current/components/command-tip.md +56 -0
  21. package/en/docusaurus-plugin-content-docs/current/components/reduck-migration.md +1 -0
  22. package/en/docusaurus-plugin-content-docs/current/components/reduck-tip.md +5 -0
  23. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/asset-prefix.md +1 -1
  24. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/hmr.md +1 -1
  25. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/https.md +1 -1
  26. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/port.md +1 -1
  27. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/progress-bar.md +1 -1
  28. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/start-url.md +1 -1
  29. package/en/docusaurus-plugin-content-docs/current/configure/app/experiments/lazy-compilation.md +1 -1
  30. package/en/docusaurus-plugin-content-docs/current/configure/app/html/app-icon.md +1 -1
  31. package/en/docusaurus-plugin-content-docs/current/configure/app/html/crossorigin.md +1 -1
  32. package/en/docusaurus-plugin-content-docs/current/configure/app/html/disable-html-folder.md +1 -1
  33. package/en/docusaurus-plugin-content-docs/current/configure/app/html/favicon-by-entries.md +1 -1
  34. package/en/docusaurus-plugin-content-docs/current/configure/app/html/favicon.md +1 -1
  35. package/en/docusaurus-plugin-content-docs/current/configure/app/html/inject-by-entries.md +1 -1
  36. package/en/docusaurus-plugin-content-docs/current/configure/app/html/inject.md +1 -1
  37. package/en/docusaurus-plugin-content-docs/current/configure/app/html/meta-by-entries.md +1 -1
  38. package/en/docusaurus-plugin-content-docs/current/configure/app/html/meta.md +1 -1
  39. package/en/docusaurus-plugin-content-docs/current/configure/app/html/mount-id.md +1 -1
  40. package/en/docusaurus-plugin-content-docs/current/configure/app/html/template-by-entries.md +1 -1
  41. package/en/docusaurus-plugin-content-docs/current/configure/app/html/template-parameters-by-entries.md +1 -1
  42. package/en/docusaurus-plugin-content-docs/current/configure/app/html/template-parameters.md +1 -1
  43. package/en/docusaurus-plugin-content-docs/current/configure/app/html/template.md +1 -1
  44. package/en/docusaurus-plugin-content-docs/current/configure/app/html/title-by-entries.md +1 -1
  45. package/en/docusaurus-plugin-content-docs/current/configure/app/html/title.md +1 -1
  46. package/en/docusaurus-plugin-content-docs/current/configure/app/output/asset-prefix.md +1 -1
  47. package/en/docusaurus-plugin-content-docs/current/configure/app/output/assets-retry.md +1 -1
  48. package/en/docusaurus-plugin-content-docs/current/configure/app/output/charset.md +1 -1
  49. package/en/docusaurus-plugin-content-docs/current/configure/app/output/clean-dist-path.md +1 -1
  50. package/en/docusaurus-plugin-content-docs/current/configure/app/output/convert-to-rem.md +1 -1
  51. package/en/docusaurus-plugin-content-docs/current/configure/app/output/copy.md +1 -1
  52. package/en/docusaurus-plugin-content-docs/current/configure/app/output/css-module-local-ident-name.md +1 -1
  53. package/en/docusaurus-plugin-content-docs/current/configure/app/output/data-uri-limit.md +1 -1
  54. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-css-extract.md +12 -0
  55. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-css-module-extension.md +1 -1
  56. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-filename-hash.md +1 -1
  57. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-inline-runtime-chunk.md +1 -1
  58. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-minimize.md +1 -1
  59. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-source-map.md +1 -1
  60. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-ts-checker.md +1 -1
  61. package/en/docusaurus-plugin-content-docs/current/configure/app/output/dist-path.md +1 -1
  62. package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-asset-fallback.md +1 -1
  63. package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-asset-manifest.md +1 -1
  64. package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-css-module-tsdeclaration.md +1 -1
  65. package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-inline-scripts.md +1 -1
  66. package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-inline-styles.md +1 -1
  67. package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-latest-decorators.md +1 -1
  68. package/en/docusaurus-plugin-content-docs/current/configure/app/output/externals.md +1 -1
  69. package/en/docusaurus-plugin-content-docs/current/configure/app/output/filename.md +1 -1
  70. package/en/docusaurus-plugin-content-docs/current/configure/app/output/legal-comments.md +1 -1
  71. package/en/docusaurus-plugin-content-docs/current/configure/app/output/override-browserslist.md +1 -1
  72. package/en/docusaurus-plugin-content-docs/current/configure/app/output/polyfill.md +1 -1
  73. package/en/docusaurus-plugin-content-docs/current/configure/app/output/svg-default-export.md +1 -1
  74. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/build-cache.md +1 -1
  75. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/bundle-analyze.md +1 -1
  76. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/chunk-split.md +1 -1
  77. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/print-file-size.md +1 -1
  78. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/profile.md +1 -1
  79. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/remove-console.md +1 -1
  80. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/remove-moment-locale.md +1 -1
  81. package/en/docusaurus-plugin-content-docs/current/configure/app/plugins.md +1 -1
  82. package/en/docusaurus-plugin-content-docs/current/configure/app/runtime/router.md +1 -1
  83. package/en/docusaurus-plugin-content-docs/current/configure/app/security/sri.md +1 -1
  84. package/en/docusaurus-plugin-content-docs/current/configure/app/source/alias.md +1 -1
  85. package/en/docusaurus-plugin-content-docs/current/configure/app/source/compile-js-data-uri.md +1 -1
  86. package/en/docusaurus-plugin-content-docs/current/configure/app/source/define.md +1 -1
  87. package/en/docusaurus-plugin-content-docs/current/configure/app/source/exclude.md +1 -1
  88. package/en/docusaurus-plugin-content-docs/current/configure/app/source/global-vars.md +1 -1
  89. package/en/docusaurus-plugin-content-docs/current/configure/app/source/include.md +1 -1
  90. package/en/docusaurus-plugin-content-docs/current/configure/app/source/module-scopes.md +1 -1
  91. package/en/docusaurus-plugin-content-docs/current/configure/app/source/pre-entry.md +1 -1
  92. package/en/docusaurus-plugin-content-docs/current/configure/app/source/resolve-extension-prefix.md +1 -1
  93. package/en/docusaurus-plugin-content-docs/current/configure/app/source/resolve-main-fields.md +1 -1
  94. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/autoprefixer.md +1 -1
  95. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/babel.md +1 -1
  96. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/css-extract.md +1 -1
  97. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/css-loader.md +1 -1
  98. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/dev-server.md +1 -1
  99. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/html-plugin.md +1 -1
  100. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/inspector.md +1 -1
  101. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/less.md +1 -1
  102. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/minify-css.md +1 -1
  103. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/postcss.md +1 -1
  104. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/pug.md +1 -1
  105. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/sass.md +1 -1
  106. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/style-loader.md +1 -1
  107. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/styled-components.md +1 -1
  108. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/swc.md +42 -0
  109. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/terser.md +1 -1
  110. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/ts-checker.md +1 -1
  111. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/ts-loader.md +1 -1
  112. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/webpack-chain.md +1 -1
  113. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/webpack.md +1 -1
  114. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/builder.md +46 -0
  115. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/_category_.json +4 -0
  116. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/_category_.json +4 -0
  117. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/_category_.json +4 -0
  118. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/app.md +152 -0
  119. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/ejs.md +56 -0
  120. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/fs.md +54 -0
  121. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/git.md +49 -0
  122. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/handlebars.md +58 -0
  123. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/json.md +59 -0
  124. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/npm.md +49 -0
  125. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/develop.md +52 -0
  126. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/introduce.md +46 -0
  127. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/run-in-js.md +48 -0
  128. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/structure.md +87 -0
  129. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/config/_category_.json +4 -0
  130. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/config/common.md +106 -0
  131. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/config/module.md +39 -0
  132. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/config/monorepo.md +28 -0
  133. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/config/mwa.md +89 -0
  134. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/_category_.json +4 -0
  135. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/abstract.md +26 -0
  136. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/_category_.json +4 -0
  137. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/_category_.json +4 -0
  138. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/addFile.md +52 -0
  139. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/addHelper.md +26 -0
  140. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/addManyFile.md +58 -0
  141. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/addPartial.md +26 -0
  142. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/introduce.md +38 -0
  143. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/rmDir.md +24 -0
  144. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/rmFile.md +24 -0
  145. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/updateJSONFile.md +54 -0
  146. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/updateModernConfig.md +26 -0
  147. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/updateTextRawFile.md +33 -0
  148. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/git/_category_.json +4 -0
  149. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/git/gitAddAndCommit.md +20 -0
  150. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/git/initGitRepo.md +16 -0
  151. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/git/isInGitRepo.md +16 -0
  152. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/hook/_category_.json +4 -0
  153. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/hook/afterForged.md +35 -0
  154. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/hook/onForged.md +36 -0
  155. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/info/_category_.json +4 -0
  156. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/info/isFileExit.md +22 -0
  157. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/info/locale.md +17 -0
  158. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/info/readDir.md +22 -0
  159. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/input/_category_.json +4 -0
  160. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/input/addInputAfter.md +57 -0
  161. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/input/addInputBefore.md +56 -0
  162. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/input/setInput.md +42 -0
  163. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/input/setInputValue.md +30 -0
  164. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/input/type.md +65 -0
  165. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/introduce.md +91 -0
  166. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/new/_category_.json +4 -0
  167. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/new/createElement.md +33 -0
  168. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/new/createSubProject.md +35 -0
  169. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/new/enableFunc.md +44 -0
  170. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/new/introduce.md +15 -0
  171. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/npm/_category_.json +4 -0
  172. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/npm/install.md +18 -0
  173. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/develop.md +125 -0
  174. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/use.md +61 -0
  175. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/project.md +118 -0
  176. package/en/docusaurus-plugin-content-docs/current.json +57 -21
  177. package/package.json +3 -3
  178. package/scripts/config.ts +2 -2
  179. package/scripts/summary.en.json +1 -1
  180. package/scripts/summary.zh.json +1 -1
  181. package/zh/apis/app/commands/new.md +0 -3
  182. package/zh/apis/app/hooks/server/test.md +2 -2
  183. package/zh/apis/app/runtime/app/_category_.json +1 -1
  184. package/zh/apis/app/runtime/bff/_category_.json +1 -1
  185. package/zh/apis/app/runtime/core/_category_.json +1 -1
  186. package/zh/apis/app/runtime/core/bootstrap.md +17 -3
  187. package/zh/apis/app/runtime/model/_category_.json +1 -1
  188. package/zh/apis/app/runtime/model/create-app.md +1 -1
  189. package/zh/apis/app/runtime/model/use-store.md +1 -23
  190. package/zh/apis/app/runtime/router/_category_.json +1 -1
  191. package/zh/apis/app/runtime/ssr/_category_.json +1 -1
  192. package/zh/apis/app/runtime/testing/_category_.json +1 -1
  193. package/zh/apis/app/runtime/utility/_category_.json +1 -1
  194. package/zh/apis/app/runtime/web-server/_category_.json +1 -1
  195. package/zh/apis/app/runtime/web-server/hook.md +4 -4
  196. package/zh/apis/app/runtime/web-server/middleware.md +4 -4
  197. package/zh/components/reduck-migration.md +1 -0
  198. package/zh/configure/app/dev/asset-prefix.md +1 -1
  199. package/zh/configure/app/dev/hmr.md +1 -1
  200. package/zh/configure/app/dev/https.md +1 -1
  201. package/zh/configure/app/dev/port.md +1 -1
  202. package/zh/configure/app/dev/progress-bar.md +1 -1
  203. package/zh/configure/app/dev/start-url.md +1 -1
  204. package/zh/configure/app/experiments/_category_.json +4 -0
  205. package/zh/configure/app/experiments/lazy-compilation.md +1 -1
  206. package/zh/configure/app/html/_category_.json +4 -0
  207. package/zh/configure/app/html/app-icon.md +1 -1
  208. package/zh/configure/app/html/crossorigin.md +1 -1
  209. package/zh/configure/app/html/disable-html-folder.md +1 -1
  210. package/zh/configure/app/html/favicon-by-entries.md +1 -1
  211. package/zh/configure/app/html/favicon.md +1 -1
  212. package/zh/configure/app/html/inject-by-entries.md +1 -1
  213. package/zh/configure/app/html/inject.md +1 -1
  214. package/zh/configure/app/html/meta-by-entries.md +1 -1
  215. package/zh/configure/app/html/meta.md +1 -1
  216. package/zh/configure/app/html/mount-id.md +1 -1
  217. package/zh/configure/app/html/template-by-entries.md +1 -1
  218. package/zh/configure/app/html/template-parameters-by-entries.md +1 -1
  219. package/zh/configure/app/html/template-parameters.md +1 -1
  220. package/zh/configure/app/html/template.md +1 -1
  221. package/zh/configure/app/html/title-by-entries.md +1 -1
  222. package/zh/configure/app/html/title.md +1 -1
  223. package/zh/configure/app/output/asset-prefix.md +1 -1
  224. package/zh/configure/app/output/assets-retry.md +1 -1
  225. package/zh/configure/app/output/charset.md +1 -1
  226. package/zh/configure/app/output/clean-dist-path.md +1 -1
  227. package/zh/configure/app/output/convert-to-rem.md +1 -1
  228. package/zh/configure/app/output/copy.md +1 -1
  229. package/zh/configure/app/output/css-module-local-ident-name.md +1 -1
  230. package/zh/configure/app/output/data-uri-limit.md +1 -1
  231. package/zh/configure/app/output/disable-css-extract.md +12 -0
  232. package/zh/configure/app/output/disable-css-module-extension.md +1 -1
  233. package/zh/configure/app/output/disable-filename-hash.md +1 -1
  234. package/zh/configure/app/output/disable-inline-runtime-chunk.md +1 -1
  235. package/zh/configure/app/output/disable-minimize.md +1 -1
  236. package/zh/configure/app/output/disable-source-map.md +1 -1
  237. package/zh/configure/app/output/disable-ts-checker.md +1 -1
  238. package/zh/configure/app/output/dist-path.md +1 -1
  239. package/zh/configure/app/output/enable-asset-fallback.md +1 -1
  240. package/zh/configure/app/output/enable-asset-manifest.md +1 -1
  241. package/zh/configure/app/output/enable-css-module-tsdeclaration.md +1 -1
  242. package/zh/configure/app/output/enable-inline-scripts.md +1 -1
  243. package/zh/configure/app/output/enable-inline-styles.md +1 -1
  244. package/zh/configure/app/output/enable-latest-decorators.md +1 -1
  245. package/zh/configure/app/output/externals.md +1 -1
  246. package/zh/configure/app/output/filename.md +1 -1
  247. package/zh/configure/app/output/legal-comments.md +1 -1
  248. package/zh/configure/app/output/override-browserslist.md +1 -1
  249. package/zh/configure/app/output/polyfill.md +1 -1
  250. package/zh/configure/app/output/ssg.md +118 -114
  251. package/zh/configure/app/output/svg-default-export.md +1 -1
  252. package/zh/configure/app/performance/_category_.json +4 -0
  253. package/zh/configure/app/performance/build-cache.md +1 -1
  254. package/zh/configure/app/performance/bundle-analyze.md +1 -1
  255. package/zh/configure/app/performance/chunk-split.md +1 -1
  256. package/zh/configure/app/performance/print-file-size.md +1 -1
  257. package/zh/configure/app/performance/profile.md +1 -1
  258. package/zh/configure/app/performance/remove-console.md +1 -1
  259. package/zh/configure/app/performance/remove-moment-locale.md +1 -1
  260. package/zh/configure/app/plugins.md +1 -1
  261. package/zh/configure/app/runtime/state.md +13 -0
  262. package/zh/configure/app/security/_category_.json +4 -0
  263. package/zh/configure/app/security/sri.md +1 -1
  264. package/zh/configure/app/server/ssr.md +0 -2
  265. package/zh/configure/app/source/alias.md +1 -1
  266. package/zh/configure/app/source/compile-js-data-uri.md +1 -1
  267. package/zh/configure/app/source/define.md +1 -1
  268. package/zh/configure/app/source/exclude.md +1 -1
  269. package/zh/configure/app/source/global-vars.md +1 -1
  270. package/zh/configure/app/source/include.md +1 -1
  271. package/zh/configure/app/source/module-scopes.md +1 -1
  272. package/zh/configure/app/source/pre-entry.md +1 -1
  273. package/zh/configure/app/source/resolve-extension-prefix.md +1 -1
  274. package/zh/configure/app/source/resolve-main-fields.md +1 -1
  275. package/zh/configure/app/tools/autoprefixer.md +1 -1
  276. package/zh/configure/app/tools/babel.md +1 -1
  277. package/zh/configure/app/tools/css-extract.md +1 -1
  278. package/zh/configure/app/tools/css-loader.md +1 -1
  279. package/zh/configure/app/tools/dev-server.md +1 -1
  280. package/zh/configure/app/tools/html-plugin.md +1 -1
  281. package/zh/configure/app/tools/inspector.md +1 -1
  282. package/zh/configure/app/tools/less.md +1 -1
  283. package/zh/configure/app/tools/minify-css.md +1 -1
  284. package/zh/configure/app/tools/postcss.md +1 -1
  285. package/zh/configure/app/tools/pug.md +1 -1
  286. package/zh/configure/app/tools/sass.md +1 -1
  287. package/zh/configure/app/tools/style-loader.md +1 -1
  288. package/zh/configure/app/tools/styled-components.md +1 -1
  289. package/zh/configure/app/tools/swc.md +42 -0
  290. package/zh/configure/app/tools/terser.md +1 -1
  291. package/zh/configure/app/tools/ts-checker.md +1 -1
  292. package/zh/configure/app/tools/ts-loader.md +1 -1
  293. package/zh/configure/app/tools/webpack-chain.md +1 -1
  294. package/zh/configure/app/tools/webpack.md +1 -1
  295. package/zh/guides/advanced-features/bff/_category_.json +5 -1
  296. package/zh/guides/advanced-features/bff/bff-proxy.md +5 -3
  297. package/zh/guides/advanced-features/bff/frameworks.md +72 -51
  298. package/zh/guides/advanced-features/bff/function.md +16 -30
  299. package/zh/guides/advanced-features/bff/index.md +20 -0
  300. package/zh/guides/advanced-features/bff/type.md +43 -0
  301. package/zh/guides/advanced-features/custom-app.md +69 -1
  302. package/zh/guides/advanced-features/ssg.md +74 -63
  303. package/zh/guides/advanced-features/ssr.md +74 -11
  304. package/zh/guides/advanced-features/web-server.md +21 -110
  305. package/zh/guides/basic-features/builder.md +46 -0
  306. package/zh/guides/basic-features/css/_category_.json +1 -1
  307. package/zh/guides/basic-features/css/less-sass.md +1 -14
  308. package/zh/guides/basic-features/data-fetch.md +62 -1
  309. package/zh/guides/basic-features/env-vars.md +122 -41
  310. package/zh/guides/basic-features/routes.md +264 -0
  311. package/zh/guides/concept/entries.md +112 -0
  312. package/zh/guides/concept/lifecycle.md +10 -0
  313. package/zh/guides/get-started/quick-start.md +199 -1
  314. package/zh/guides/get-started/upgrade.md +75 -1
  315. package/zh/guides/topic-detail/framework-plugin/extend.md +3 -4
  316. package/zh/{apis/app/runtime/plugin/hook-api.md → guides/topic-detail/framework-plugin/hook-list.md} +42 -135
  317. package/zh/{apis/app/runtime/plugin → guides/topic-detail/framework-plugin}/hook.md +2 -3
  318. package/zh/guides/topic-detail/framework-plugin/implement.md +21 -10
  319. package/zh/guides/topic-detail/framework-plugin/introduction.md +49 -0
  320. package/{en/docusaurus-plugin-content-docs/current/apis/app/runtime/plugin → zh/guides/topic-detail/framework-plugin}/plugin-api.md +3 -4
  321. package/zh/guides/topic-detail/framework-plugin/relationship.md +2 -3
  322. package/zh/guides/topic-detail/generator/codesmith/api/_category_.json +4 -0
  323. package/zh/guides/topic-detail/generator/codesmith/api/app.md +152 -0
  324. package/zh/guides/topic-detail/generator/codesmith/api/ejs.md +56 -0
  325. package/zh/guides/topic-detail/generator/codesmith/api/fs.md +54 -0
  326. package/zh/guides/topic-detail/generator/codesmith/api/git.md +48 -0
  327. package/zh/guides/topic-detail/generator/codesmith/api/handlebars.md +56 -0
  328. package/zh/guides/topic-detail/generator/codesmith/api/json.md +58 -0
  329. package/zh/guides/topic-detail/generator/codesmith/api/npm.md +45 -0
  330. package/zh/guides/topic-detail/generator/codesmith/develop.md +52 -0
  331. package/zh/guides/topic-detail/generator/codesmith/introduce.md +42 -1
  332. package/zh/guides/topic-detail/generator/codesmith/run-in-js.md +48 -0
  333. package/zh/guides/topic-detail/generator/codesmith/structure.md +86 -0
  334. package/zh/guides/topic-detail/generator/config/mwa.md +4 -8
  335. package/zh/guides/topic-detail/generator/plugin/api/file/addFile.md +1 -1
  336. package/zh/guides/topic-detail/generator/plugin/api/file/addHelper.md +1 -1
  337. package/zh/guides/topic-detail/generator/plugin/api/file/addPartial.md +2 -2
  338. package/zh/guides/topic-detail/generator/plugin/api/file/introduce.md +1 -1
  339. package/zh/guides/topic-detail/generator/plugin/api/file/rmDir.md +1 -1
  340. package/zh/guides/topic-detail/generator/plugin/api/file/rmFile.md +1 -1
  341. package/zh/guides/topic-detail/generator/plugin/api/file/updateJSONFile.md +3 -2
  342. package/zh/guides/topic-detail/generator/plugin/api/file/updateModernConfig.md +2 -2
  343. package/zh/guides/topic-detail/generator/plugin/api/file/updateTextRawFile.md +1 -1
  344. package/zh/guides/topic-detail/generator/plugin/api/hook/afterForged.md +3 -3
  345. package/zh/guides/topic-detail/generator/plugin/api/hook/onForged.md +3 -3
  346. package/zh/guides/topic-detail/generator/plugin/api/input/addInputAfter.md +1 -1
  347. package/zh/guides/topic-detail/generator/plugin/api/input/addInputBefore.md +1 -1
  348. package/zh/guides/topic-detail/generator/plugin/api/input/type.md +1 -1
  349. package/zh/guides/topic-detail/generator/plugin/api/new/createElement.md +1 -1
  350. package/zh/guides/topic-detail/generator/plugin/api/new/createSubProject.md +1 -1
  351. package/zh/guides/topic-detail/generator/plugin/api/new/enableFunc.md +1 -1
  352. package/zh/guides/topic-detail/generator/plugin/api/npm/install.md +1 -1
  353. package/zh/guides/topic-detail/generator/plugin/develop.md +11 -7
  354. package/zh/guides/topic-detail/model/quick-start.md +4 -0
  355. package/zh/guides/topic-detail/monorepo/sub-project-interface.md +0 -2
  356. package/zh/tutorials/first-app/c01-getting-started/1.1-prerequisites.md +2 -2
  357. package/zh/tutorials/first-app/c01-getting-started/1.2-minimal-mwa.md +2 -2
  358. package/zh/tutorials/first-app/c01-getting-started/1.4-enable-ssr.md +5 -2
  359. package/zh/tutorials/first-app/c02-generator-and-studio/2.1-generator.md +0 -8
  360. package/zh/tutorials/first-app/c02-generator-and-studio/2.2-boilerplates.md +12 -6
  361. package/zh/tutorials/first-app/c02-generator-and-studio/2.3-configuration.md +2 -4
  362. package/zh/tutorials/first-app/c03-ide/3.1-setting-up.md +1 -1
  363. package/zh/tutorials/first-app/c03-ide/3.2-hints-in-ide.md +44 -50
  364. package/zh/tutorials/first-app/c03-ide/3.3-autofix-in-ide.md +1 -1
  365. package/zh/tutorials/first-app/c03-ide/3.4-autofix-in-cli.md +4 -4
  366. package/zh/tutorials/first-app/c04-es6-plus-and-ts/4.1-use-es6-plus.md +8 -21
  367. package/zh/tutorials/first-app/c04-es6-plus-and-ts/4.2-use-typescript.md +37 -13
  368. package/zh/tutorials/first-app/c05-component/5.1-use-ui-library.md +3 -13
  369. package/zh/tutorials/first-app/c05-component/5.2-use-standalone-component.md +1 -21
  370. package/zh/tutorials/first-app/c06-css-and-component/6.1-css-in-js.md +9 -9
  371. package/zh/tutorials/first-app/c06-css-and-component/6.2-utility-class.md +9 -14
  372. package/zh/tutorials/first-app/c06-css-and-component/6.3-postcss.md +7 -7
  373. package/zh/tutorials/first-app/c06-css-and-component/6.4-design-system.md +1 -1
  374. package/zh/tutorials/first-app/c06-css-and-component/6.5-storybook.md +2 -2
  375. package/zh/tutorials/first-app/c06-css-and-component/6.6-testing.md +8 -17
  376. package/zh/tutorials/first-app/c07-app-entry/7.1-intro.md +24 -19
  377. package/zh/tutorials/first-app/c07-app-entry/7.2-add-entry-in-cli.md +31 -35
  378. package/zh/tutorials/first-app/c07-app-entry/7.3-manage-entries-by-hand.md +4 -9
  379. package/zh/tutorials/first-app/c08-client-side-routing/8.1-code-based-routing.md +66 -63
  380. package/zh/tutorials/first-app/c09-bff/9.2-enable-bff.md +35 -33
  381. package/zh/tutorials/first-app/c09-bff/9.3-fetch-bff.md +28 -102
  382. package/zh/tutorials/first-app/c10-model/10.1-application-architecture.md +4 -6
  383. package/zh/tutorials/first-app/c10-model/10.2-add-model.md +3 -3
  384. package/zh/tutorials/first-app/c10-model/10.3-use-model.md +21 -20
  385. package/zh/tutorials/first-app/c10-model/10.4-testing.md +2 -2
  386. package/zh/tutorials/first-app/c11-container/11.1-use-model-with-app-state.md +34 -68
  387. package/zh/tutorials/first-app/c11-container/11.2-add-container.md +40 -37
  388. package/zh/tutorials/first-app/c11-container/11.3-use-loader.md +6 -4
  389. package/zh/tutorials/first-app/c11-container/11.4-testing.md +2 -2
  390. package/zh/tutorials/foundations/introduction.md +1 -1
  391. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/default-alias.md +0 -25
  392. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/env.md +0 -72
  393. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/plugin/_category_.json +0 -4
  394. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/plugin/abstract.md +0 -26
  395. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/plugin/hook-api.md +0 -896
  396. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/plugin/hook.md +0 -170
  397. package/zh/apis/app/runtime/default-alias.md +0 -23
  398. package/zh/apis/app/runtime/env.md +0 -70
  399. package/zh/apis/app/runtime/plugin/_category_.json +0 -4
  400. package/zh/apis/app/runtime/plugin/abstract.md +0 -26
  401. package/zh/apis/app/runtime/plugin/plugin-api.md +0 -117
  402. package/zh/components/deploy.md +0 -60
  403. package/zh/components/dev-ide.md +0 -1
  404. package/zh/components/entry-name.md +0 -15
  405. package/zh/components/env-prepare.md +0 -1
  406. package/zh/components/launch-bff-choices.md +0 -6
  407. package/zh/guides/advanced-features/bff/bff-server.md +0 -142
  408. package/zh/guides/advanced-features/typescript.md +0 -4
  409. package/zh/guides/basic-features/image.md +0 -43
  410. package/zh/guides/concept/integrated.md +0 -4
  411. package/zh/guides/concept/solutions.md +0 -4
  412. package/zh/guides/topic-detail/compile-speed.md +0 -182
  413. package/zh/guides/topic-detail/framework-plugin/abstract.md +0 -27
  414. package/zh/guides/troubleshooting/compile.md +0 -379
  415. 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/App.jsx`),底部状态栏右侧应该有显示 ESLint,点击可以看到运行 log,应该没有报错。
5
+ 打开任意 JS/TS 文件(比如 `src/routes/page.tsx`),底部状态栏右侧应该有显示 ESLint,点击可以看到运行 log,应该没有报错。
6
6
 
7
- 接下来对 `App.jsx` 代码做如下修改(修改过程中不要保存),增加无用的函数参数、去掉换行、单引号改成双引号、增加缩进(可以直接复制下面的代码替换 App.jsx 的内容),注意修改过程中**先不要保存文件**。
7
+ 接下来对 `page.jsx` 代码做如下修改(修改过程中不要保存),增加无用的函数参数、去掉换行、单引号改成双引号、增加缩进(可以直接复制下面的代码替换 App.jsx 的内容),注意修改过程中**先不要保存文件**。
8
8
 
9
9
  ```js
10
- import { Switch, Route } from '@modern-js/runtime/router';
10
+ import './index.css';
11
11
 
12
- import './App.css';
13
-
14
- const App = (a) => (
15
- <Switch>
16
- <Route exact={true} path="/">
12
+ const Index = (a) => (
17
13
  <div className="container-box">
18
- <main>
19
- <div className='logo'>
20
- <img
21
- src="https://lf3-static.bytednsdoc.com/obj/eden-cn/ylaelkeh7nuhfnuhf/modernjs-cover.png"
22
- width="300"
23
- alt="Modern.js Logo"
24
- />
25
- </div>
26
- <p className="description">
27
- Get started by editing <code className="code">src/App.tsx</code>
28
- </p>
29
- <div className="grid">
30
- <a href="#" className="card">
31
- <h2>Quick Start</h2>
32
- </a>
33
- <a href="#" className="card">
34
- <h2>Handbook</h2>
35
- </a>
36
- <a href="#" className="card">
37
- <h2>API Reference </h2>
38
- </a>
39
- <a
40
- href="#"
41
- target="_blank"
42
- rel="noopener noreferrer"
43
- className="card">
44
- <h2>Community </h2>
45
- </a>
46
- </div>
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
- </Route>
55
- <Route path="*">
56
- <div>404</div>
57
- </Route>
58
- </Switch>
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 App;
53
+ export default Index;
54
+
55
+
62
56
  ```
63
57
 
64
58
  可以在 VS Code 中看到修改过的代码出现了问题提示,点击底部界面中的 Problems 一栏,可以看到问题列表。
65
59
 
66
- ![vsc-with-error](https://lf3-static.bytednsdoc.com/obj/eden-cn/aphqeh7uhohpquloj/modern-js/docs/vsc-with-error.png)
60
+ ![vsc-with-error](https://lf3-static.bytednsdoc.com/obj/eden-cn/zq-uylkvT/ljhwZthlaukjlkulzlp/vsc-with-error.jpeg)
@@ -6,6 +6,6 @@ title: IDE 中的自动修复
6
6
 
7
7
  只剩下**无用的函数参数**问题,需要人工修复:
8
8
 
9
- ![vsc-how-to-fix](https://lf3-static.bytednsdoc.com/obj/eden-cn/aphqeh7uhohpquloj/modern-js/docs/vsc-how-to-fix.png)
9
+ ![vsc-how-to-fix](https://lf3-static.bytednsdoc.com/obj/eden-cn/zq-uylkvT/ljhwZthlaukjlkulzlp/vsc-how-to-fix.jpeg)
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/App.jsx
10
+ echo ';' >> src/routes/page.jsx
11
11
  ```
12
12
 
13
- 打开 `App.jsx`,可以看到末尾多了一个 ';',有问题提示。
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/App.jsx
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/App.jsx
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
- 1. 已经进入 [Stage 4(完成阶段)](https://github.com/tc39/proposals/blob/master/finished-proposals.md)的语法,包括 ES2015(ES6)到 ES2020(ES11)以及后续版本。
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 mockData =
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
- ] |> getAvatar;
26
+ ]);
40
27
 
41
- function App() {
28
+ function Index() {
42
29
  return (
43
30
  <ul>
44
- {mockData.map(({ name, avatar, email }) => (
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 App;
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/App.jsx src/App.tsx
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/App.jsx src/App.tsx
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
- 打开 `src/App.tsx`,把代码改成以下内容:
66
+ `modern.config.ts` 内容修改如下:
61
67
 
62
68
  ```ts
63
- import React from 'react';
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 mockData = getAvatar([
72
- { name: 'Thomas', email: 'w.kccip@bllmfbgv.dm' },
73
- { name: 'Chow', email: 'f.lfqljnlk@ywoefljhc.af' },
74
- { name: 'Bradley', email: 'd.wfovsqyo@gpkcjwjgb.fr' },
75
- { name: 'Davis', email: '"t.kqkoj@utlkwnpwk.nu' },
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 App() {
102
+ function Index() {
79
103
  return (
80
104
  <ul>
81
- {mockData.map(({ name, avatar, email }) => (
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 App;
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
- 之前章节介绍过,Modern.js 支持在项目创建后继续为项目增加功能,我们执行 `pnpm run new`,进行如下选择,开启 Less 支持。
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
- 修改 App 组件的实现:
23
+ 修改 Index 组件的实现:
34
24
 
35
25
  ```ts
36
- function App() {
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/App.tsx` 里导入组件,同时手动导入需要的 CSS:
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/App.tsx` 里修改顶部的代码:
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/App.tsx` 里的 Avatar 实现删掉,改成:
81
+ 把 `src/routes/page.tsx` 里的 Avatar 实现删掉,改成:
82
82
 
83
- ```js
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
- ```js
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
- :::info
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/App.tsx`,把 `List` 的 `render` 实现交给 `Item` 组件:
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 App() {
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 App;
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/App.tsx` 里导入 `utils.css`:
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">
@@ -61,7 +61,7 @@ export default defineConfig({
61
61
  });
62
62
  ```
63
63
 
64
- 修改 `src/Item/index.tsx` 的 button 组件代码
64
+ 修改 `src/routes/components/Item/index.tsx` 的 button 组件代码
65
65
 
66
66
  ```js
67
67
  <button
@@ -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.048 s, estimated 2 s
107
- Ran all test suites.
98
+ Time: 1.708 s
108
99
  ```
109
100
 
110
101
  ---