@modern-js/main-doc 2.0.0-beta.2 → 2.0.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (276) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/en/docusaurus-plugin-content-docs/current/apis/app/commands/new.md +0 -2
  3. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/core/bootstrap.md +17 -3
  4. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/create-app.md +1 -1
  5. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/use-store.md +0 -22
  6. package/en/docusaurus-plugin-content-docs/current/components/reduck-migration.md +1 -0
  7. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/asset-prefix.md +1 -1
  8. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/hmr.md +1 -1
  9. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/https.md +1 -1
  10. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/port.md +1 -1
  11. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/progress-bar.md +1 -1
  12. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/start-url.md +1 -1
  13. package/en/docusaurus-plugin-content-docs/current/configure/app/experiments/lazy-compilation.md +1 -1
  14. package/en/docusaurus-plugin-content-docs/current/configure/app/html/app-icon.md +1 -1
  15. package/en/docusaurus-plugin-content-docs/current/configure/app/html/crossorigin.md +1 -1
  16. package/en/docusaurus-plugin-content-docs/current/configure/app/html/disable-html-folder.md +1 -1
  17. package/en/docusaurus-plugin-content-docs/current/configure/app/html/favicon-by-entries.md +1 -1
  18. package/en/docusaurus-plugin-content-docs/current/configure/app/html/favicon.md +1 -1
  19. package/en/docusaurus-plugin-content-docs/current/configure/app/html/inject-by-entries.md +1 -1
  20. package/en/docusaurus-plugin-content-docs/current/configure/app/html/inject.md +1 -1
  21. package/en/docusaurus-plugin-content-docs/current/configure/app/html/meta-by-entries.md +1 -1
  22. package/en/docusaurus-plugin-content-docs/current/configure/app/html/meta.md +1 -1
  23. package/en/docusaurus-plugin-content-docs/current/configure/app/html/mount-id.md +1 -1
  24. package/en/docusaurus-plugin-content-docs/current/configure/app/html/template-by-entries.md +1 -1
  25. package/en/docusaurus-plugin-content-docs/current/configure/app/html/template-parameters-by-entries.md +1 -1
  26. package/en/docusaurus-plugin-content-docs/current/configure/app/html/template-parameters.md +1 -1
  27. package/en/docusaurus-plugin-content-docs/current/configure/app/html/template.md +1 -1
  28. package/en/docusaurus-plugin-content-docs/current/configure/app/html/title-by-entries.md +1 -1
  29. package/en/docusaurus-plugin-content-docs/current/configure/app/html/title.md +1 -1
  30. package/en/docusaurus-plugin-content-docs/current/configure/app/output/asset-prefix.md +1 -1
  31. package/en/docusaurus-plugin-content-docs/current/configure/app/output/assets-retry.md +1 -1
  32. package/en/docusaurus-plugin-content-docs/current/configure/app/output/charset.md +1 -1
  33. package/en/docusaurus-plugin-content-docs/current/configure/app/output/clean-dist-path.md +1 -1
  34. package/en/docusaurus-plugin-content-docs/current/configure/app/output/convert-to-rem.md +1 -1
  35. package/en/docusaurus-plugin-content-docs/current/configure/app/output/copy.md +1 -1
  36. package/en/docusaurus-plugin-content-docs/current/configure/app/output/css-module-local-ident-name.md +1 -1
  37. package/en/docusaurus-plugin-content-docs/current/configure/app/output/data-uri-limit.md +1 -1
  38. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-css-extract.md +1 -1
  39. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-css-module-extension.md +1 -1
  40. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-filename-hash.md +1 -1
  41. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-inline-runtime-chunk.md +1 -1
  42. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-minimize.md +1 -1
  43. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-source-map.md +1 -1
  44. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-ts-checker.md +1 -1
  45. package/en/docusaurus-plugin-content-docs/current/configure/app/output/dist-path.md +1 -1
  46. package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-asset-fallback.md +1 -1
  47. package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-asset-manifest.md +1 -1
  48. package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-css-module-tsdeclaration.md +1 -1
  49. package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-inline-scripts.md +1 -1
  50. package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-inline-styles.md +1 -1
  51. package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-latest-decorators.md +1 -1
  52. package/en/docusaurus-plugin-content-docs/current/configure/app/output/externals.md +1 -1
  53. package/en/docusaurus-plugin-content-docs/current/configure/app/output/filename.md +1 -1
  54. package/en/docusaurus-plugin-content-docs/current/configure/app/output/legal-comments.md +1 -1
  55. package/en/docusaurus-plugin-content-docs/current/configure/app/output/override-browserslist.md +1 -1
  56. package/en/docusaurus-plugin-content-docs/current/configure/app/output/polyfill.md +1 -1
  57. package/en/docusaurus-plugin-content-docs/current/configure/app/output/svg-default-export.md +1 -1
  58. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/build-cache.md +1 -1
  59. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/bundle-analyze.md +1 -1
  60. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/chunk-split.md +1 -1
  61. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/print-file-size.md +1 -1
  62. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/profile.md +1 -1
  63. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/remove-console.md +1 -1
  64. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/remove-moment-locale.md +1 -1
  65. package/en/docusaurus-plugin-content-docs/current/configure/app/plugins.md +1 -1
  66. package/en/docusaurus-plugin-content-docs/current/configure/app/security/sri.md +1 -1
  67. package/en/docusaurus-plugin-content-docs/current/configure/app/source/alias.md +1 -1
  68. package/en/docusaurus-plugin-content-docs/current/configure/app/source/compile-js-data-uri.md +1 -1
  69. package/en/docusaurus-plugin-content-docs/current/configure/app/source/define.md +1 -1
  70. package/en/docusaurus-plugin-content-docs/current/configure/app/source/exclude.md +1 -1
  71. package/en/docusaurus-plugin-content-docs/current/configure/app/source/global-vars.md +1 -1
  72. package/en/docusaurus-plugin-content-docs/current/configure/app/source/include.md +1 -1
  73. package/en/docusaurus-plugin-content-docs/current/configure/app/source/module-scopes.md +1 -1
  74. package/en/docusaurus-plugin-content-docs/current/configure/app/source/pre-entry.md +1 -1
  75. package/en/docusaurus-plugin-content-docs/current/configure/app/source/resolve-extension-prefix.md +1 -1
  76. package/en/docusaurus-plugin-content-docs/current/configure/app/source/resolve-main-fields.md +1 -1
  77. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/autoprefixer.md +1 -1
  78. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/babel.md +1 -1
  79. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/css-extract.md +1 -1
  80. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/css-loader.md +1 -1
  81. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/dev-server.md +1 -1
  82. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/html-plugin.md +1 -1
  83. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/inspector.md +1 -1
  84. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/less.md +1 -1
  85. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/minify-css.md +1 -1
  86. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/postcss.md +1 -1
  87. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/pug.md +1 -1
  88. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/sass.md +1 -1
  89. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/style-loader.md +1 -1
  90. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/styled-components.md +1 -1
  91. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/swc.md +42 -0
  92. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/terser.md +1 -1
  93. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/ts-checker.md +1 -1
  94. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/ts-loader.md +1 -1
  95. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/webpack-chain.md +1 -1
  96. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/webpack.md +1 -1
  97. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/builder.md +46 -0
  98. package/en/docusaurus-plugin-content-docs/current.json +18 -18
  99. package/package.json +3 -3
  100. package/scripts/config.ts +2 -2
  101. package/zh/apis/app/commands/new.md +0 -2
  102. package/zh/apis/app/runtime/app/_category_.json +1 -1
  103. package/zh/apis/app/runtime/bff/_category_.json +1 -1
  104. package/zh/apis/app/runtime/core/_category_.json +1 -1
  105. package/zh/apis/app/runtime/core/bootstrap.md +17 -3
  106. package/zh/apis/app/runtime/model/_category_.json +1 -1
  107. package/zh/apis/app/runtime/model/create-app.md +1 -1
  108. package/zh/apis/app/runtime/model/use-store.md +1 -23
  109. package/zh/apis/app/runtime/router/_category_.json +1 -1
  110. package/zh/apis/app/runtime/ssr/_category_.json +1 -1
  111. package/zh/apis/app/runtime/testing/_category_.json +1 -1
  112. package/zh/apis/app/runtime/utility/_category_.json +1 -1
  113. package/zh/apis/app/runtime/web-server/_category_.json +1 -1
  114. package/zh/components/reduck-migration.md +1 -0
  115. package/zh/configure/app/dev/asset-prefix.md +1 -1
  116. package/zh/configure/app/dev/hmr.md +1 -1
  117. package/zh/configure/app/dev/https.md +1 -1
  118. package/zh/configure/app/dev/port.md +1 -1
  119. package/zh/configure/app/dev/progress-bar.md +1 -1
  120. package/zh/configure/app/dev/start-url.md +1 -1
  121. package/zh/configure/app/experiments/_category_.json +4 -0
  122. package/zh/configure/app/experiments/lazy-compilation.md +1 -1
  123. package/zh/configure/app/html/_category_.json +4 -0
  124. package/zh/configure/app/html/app-icon.md +1 -1
  125. package/zh/configure/app/html/crossorigin.md +1 -1
  126. package/zh/configure/app/html/disable-html-folder.md +1 -1
  127. package/zh/configure/app/html/favicon-by-entries.md +1 -1
  128. package/zh/configure/app/html/favicon.md +1 -1
  129. package/zh/configure/app/html/inject-by-entries.md +1 -1
  130. package/zh/configure/app/html/inject.md +1 -1
  131. package/zh/configure/app/html/meta-by-entries.md +1 -1
  132. package/zh/configure/app/html/meta.md +1 -1
  133. package/zh/configure/app/html/mount-id.md +1 -1
  134. package/zh/configure/app/html/template-by-entries.md +1 -1
  135. package/zh/configure/app/html/template-parameters-by-entries.md +1 -1
  136. package/zh/configure/app/html/template-parameters.md +1 -1
  137. package/zh/configure/app/html/template.md +1 -1
  138. package/zh/configure/app/html/title-by-entries.md +1 -1
  139. package/zh/configure/app/html/title.md +1 -1
  140. package/zh/configure/app/output/asset-prefix.md +1 -1
  141. package/zh/configure/app/output/assets-retry.md +1 -1
  142. package/zh/configure/app/output/charset.md +1 -1
  143. package/zh/configure/app/output/clean-dist-path.md +1 -1
  144. package/zh/configure/app/output/convert-to-rem.md +1 -1
  145. package/zh/configure/app/output/copy.md +1 -1
  146. package/zh/configure/app/output/css-module-local-ident-name.md +1 -1
  147. package/zh/configure/app/output/data-uri-limit.md +1 -1
  148. package/zh/configure/app/output/disable-css-extract.md +1 -1
  149. package/zh/configure/app/output/disable-css-module-extension.md +1 -1
  150. package/zh/configure/app/output/disable-filename-hash.md +1 -1
  151. package/zh/configure/app/output/disable-inline-runtime-chunk.md +1 -1
  152. package/zh/configure/app/output/disable-minimize.md +1 -1
  153. package/zh/configure/app/output/disable-source-map.md +1 -1
  154. package/zh/configure/app/output/disable-ts-checker.md +1 -1
  155. package/zh/configure/app/output/dist-path.md +1 -1
  156. package/zh/configure/app/output/enable-asset-fallback.md +1 -1
  157. package/zh/configure/app/output/enable-asset-manifest.md +1 -1
  158. package/zh/configure/app/output/enable-css-module-tsdeclaration.md +1 -1
  159. package/zh/configure/app/output/enable-inline-scripts.md +1 -1
  160. package/zh/configure/app/output/enable-inline-styles.md +1 -1
  161. package/zh/configure/app/output/enable-latest-decorators.md +1 -1
  162. package/zh/configure/app/output/externals.md +1 -1
  163. package/zh/configure/app/output/filename.md +1 -1
  164. package/zh/configure/app/output/legal-comments.md +1 -1
  165. package/zh/configure/app/output/override-browserslist.md +1 -1
  166. package/zh/configure/app/output/polyfill.md +1 -1
  167. package/zh/configure/app/output/ssg.md +118 -114
  168. package/zh/configure/app/output/svg-default-export.md +1 -1
  169. package/zh/configure/app/performance/_category_.json +4 -0
  170. package/zh/configure/app/performance/build-cache.md +1 -1
  171. package/zh/configure/app/performance/bundle-analyze.md +1 -1
  172. package/zh/configure/app/performance/chunk-split.md +1 -1
  173. package/zh/configure/app/performance/print-file-size.md +1 -1
  174. package/zh/configure/app/performance/profile.md +1 -1
  175. package/zh/configure/app/performance/remove-console.md +1 -1
  176. package/zh/configure/app/performance/remove-moment-locale.md +1 -1
  177. package/zh/configure/app/plugins.md +1 -1
  178. package/zh/configure/app/runtime/state.md +13 -0
  179. package/zh/configure/app/security/_category_.json +4 -0
  180. package/zh/configure/app/security/sri.md +1 -1
  181. package/zh/configure/app/server/ssr.md +0 -2
  182. package/zh/configure/app/source/alias.md +1 -1
  183. package/zh/configure/app/source/compile-js-data-uri.md +1 -1
  184. package/zh/configure/app/source/define.md +1 -1
  185. package/zh/configure/app/source/exclude.md +1 -1
  186. package/zh/configure/app/source/global-vars.md +1 -1
  187. package/zh/configure/app/source/include.md +1 -1
  188. package/zh/configure/app/source/module-scopes.md +1 -1
  189. package/zh/configure/app/source/pre-entry.md +1 -1
  190. package/zh/configure/app/source/resolve-extension-prefix.md +1 -1
  191. package/zh/configure/app/source/resolve-main-fields.md +1 -1
  192. package/zh/configure/app/tools/autoprefixer.md +1 -1
  193. package/zh/configure/app/tools/babel.md +1 -1
  194. package/zh/configure/app/tools/css-extract.md +1 -1
  195. package/zh/configure/app/tools/css-loader.md +1 -1
  196. package/zh/configure/app/tools/dev-server.md +1 -1
  197. package/zh/configure/app/tools/html-plugin.md +1 -1
  198. package/zh/configure/app/tools/inspector.md +1 -1
  199. package/zh/configure/app/tools/less.md +1 -1
  200. package/zh/configure/app/tools/minify-css.md +1 -1
  201. package/zh/configure/app/tools/postcss.md +1 -1
  202. package/zh/configure/app/tools/pug.md +1 -1
  203. package/zh/configure/app/tools/sass.md +1 -1
  204. package/zh/configure/app/tools/style-loader.md +1 -1
  205. package/zh/configure/app/tools/styled-components.md +1 -1
  206. package/zh/configure/app/tools/swc.md +42 -0
  207. package/zh/configure/app/tools/terser.md +1 -1
  208. package/zh/configure/app/tools/ts-checker.md +1 -1
  209. package/zh/configure/app/tools/ts-loader.md +1 -1
  210. package/zh/configure/app/tools/webpack-chain.md +1 -1
  211. package/zh/configure/app/tools/webpack.md +1 -1
  212. package/zh/guides/advanced-features/custom-app.md +8 -2
  213. package/zh/guides/advanced-features/ssg.md +74 -63
  214. package/zh/guides/advanced-features/ssr.md +74 -11
  215. package/zh/guides/basic-features/builder.md +46 -0
  216. package/zh/guides/basic-features/css/_category_.json +1 -1
  217. package/zh/guides/basic-features/css/less-sass.md +1 -14
  218. package/zh/guides/basic-features/data-fetch.md +1 -1
  219. package/zh/guides/basic-features/env-vars.md +34 -0
  220. package/zh/guides/basic-features/routes.md +32 -35
  221. package/zh/guides/concept/entries.md +4 -4
  222. package/zh/guides/topic-detail/framework-plugin/extend.md +3 -4
  223. package/zh/{apis/app/runtime/plugin/hook-api.md → guides/topic-detail/framework-plugin/hook-list.md} +42 -135
  224. package/zh/{apis/app/runtime/plugin → guides/topic-detail/framework-plugin}/hook.md +2 -3
  225. package/zh/guides/topic-detail/framework-plugin/implement.md +21 -10
  226. package/zh/guides/topic-detail/framework-plugin/introduction.md +49 -0
  227. package/{en/docusaurus-plugin-content-docs/current/apis/app/runtime/plugin → zh/guides/topic-detail/framework-plugin}/plugin-api.md +3 -4
  228. package/zh/guides/topic-detail/framework-plugin/relationship.md +2 -3
  229. package/zh/guides/topic-detail/model/quick-start.md +4 -0
  230. package/zh/tutorials/first-app/c01-getting-started/1.2-minimal-mwa.md +2 -2
  231. package/zh/tutorials/first-app/c01-getting-started/1.4-enable-ssr.md +5 -2
  232. package/zh/tutorials/first-app/c02-generator-and-studio/2.2-boilerplates.md +4 -6
  233. package/zh/tutorials/first-app/c02-generator-and-studio/2.3-configuration.md +2 -4
  234. package/zh/tutorials/first-app/c03-ide/3.1-setting-up.md +1 -1
  235. package/zh/tutorials/first-app/c03-ide/3.2-hints-in-ide.md +44 -50
  236. package/zh/tutorials/first-app/c03-ide/3.3-autofix-in-ide.md +1 -1
  237. package/zh/tutorials/first-app/c03-ide/3.4-autofix-in-cli.md +4 -4
  238. package/zh/tutorials/first-app/c04-es6-plus-and-ts/4.1-use-es6-plus.md +8 -21
  239. package/zh/tutorials/first-app/c04-es6-plus-and-ts/4.2-use-typescript.md +37 -13
  240. package/zh/tutorials/first-app/c05-component/5.1-use-ui-library.md +3 -13
  241. package/zh/tutorials/first-app/c05-component/5.2-use-standalone-component.md +1 -21
  242. package/zh/tutorials/first-app/c06-css-and-component/6.1-css-in-js.md +9 -9
  243. package/zh/tutorials/first-app/c06-css-and-component/6.2-utility-class.md +9 -14
  244. package/zh/tutorials/first-app/c06-css-and-component/6.3-postcss.md +7 -7
  245. package/zh/tutorials/first-app/c06-css-and-component/6.4-design-system.md +1 -1
  246. package/zh/tutorials/first-app/c06-css-and-component/6.5-storybook.md +2 -2
  247. package/zh/tutorials/first-app/c06-css-and-component/6.6-testing.md +8 -17
  248. package/zh/tutorials/first-app/c07-app-entry/7.1-intro.md +23 -18
  249. package/zh/tutorials/first-app/c07-app-entry/7.2-add-entry-in-cli.md +30 -30
  250. package/zh/tutorials/first-app/c07-app-entry/7.3-manage-entries-by-hand.md +4 -9
  251. package/zh/tutorials/first-app/c08-client-side-routing/8.1-code-based-routing.md +66 -63
  252. package/zh/tutorials/first-app/c09-bff/9.2-enable-bff.md +35 -33
  253. package/zh/tutorials/first-app/c09-bff/9.3-fetch-bff.md +28 -102
  254. package/zh/tutorials/first-app/c10-model/10.1-application-architecture.md +4 -6
  255. package/zh/tutorials/first-app/c10-model/10.2-add-model.md +3 -3
  256. package/zh/tutorials/first-app/c10-model/10.3-use-model.md +21 -20
  257. package/zh/tutorials/first-app/c10-model/10.4-testing.md +2 -2
  258. package/zh/tutorials/first-app/c11-container/11.1-use-model-with-app-state.md +34 -68
  259. package/zh/tutorials/first-app/c11-container/11.2-add-container.md +40 -37
  260. package/zh/tutorials/first-app/c11-container/11.3-use-loader.md +6 -4
  261. package/zh/tutorials/first-app/c11-container/11.4-testing.md +2 -2
  262. package/zh/tutorials/foundations/introduction.md +1 -1
  263. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/default-alias.md +0 -25
  264. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/plugin/_category_.json +0 -4
  265. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/plugin/abstract.md +0 -26
  266. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/plugin/hook-api.md +0 -896
  267. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/plugin/hook.md +0 -170
  268. package/zh/apis/app/runtime/default-alias.md +0 -23
  269. package/zh/apis/app/runtime/plugin/_category_.json +0 -4
  270. package/zh/apis/app/runtime/plugin/abstract.md +0 -26
  271. package/zh/apis/app/runtime/plugin/plugin-api.md +0 -117
  272. package/zh/guides/basic-features/image.md +0 -43
  273. package/zh/guides/topic-detail/compile-speed.md +0 -182
  274. package/zh/guides/topic-detail/framework-plugin/abstract.md +0 -27
  275. package/zh/guides/troubleshooting/compile.md +0 -379
  276. package/zh/tutorials/first-app/c08-client-side-routing/8.2-file-based-routing.md +0 -310
@@ -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
  ---