@modern-js/main-doc 2.0.3-alpha.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (519) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/en/docusaurus-plugin-content-docs/current/apis/app/commands/index.md +0 -5
  3. package/en/docusaurus-plugin-content-docs/current/apis/app/commands/lint.md +1 -1
  4. package/en/docusaurus-plugin-content-docs/current/apis/app/commands/serve.md +2 -4
  5. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/api/framework/lambda.md +12 -12
  6. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/api/functions/api.md +13 -13
  7. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/api/functions/app.md +0 -2
  8. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/api/functions/common.md +1 -3
  9. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/src/app.md +16 -9
  10. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/src/index_.md +0 -1
  11. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/src/routes.md +5 -3
  12. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/src/server.md +6 -4
  13. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/src/stories.md +2 -2
  14. package/en/docusaurus-plugin-content-docs/current/apis/app/hooks/src/test.md +1 -1
  15. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/app/define-config.md +0 -1
  16. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/bff/hook.md +3 -3
  17. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/core/bootstrap.md +3 -6
  18. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/core/create-app.md +1 -3
  19. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/core/use-loader.md +2 -2
  20. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/core/use-module-apps.md +58 -51
  21. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/core/use-runtime-context.md +3 -4
  22. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/index.md +0 -5
  23. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/connect.md +8 -5
  24. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/create-store.md +1 -3
  25. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/handle-effect.md +3 -3
  26. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/model_.md +0 -1
  27. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/use-model.md +0 -3
  28. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/model/use-store.md +0 -2
  29. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/router/router.md +23 -54
  30. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/ssr/no-ssr.md +1 -8
  31. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/ssr/pre-render.md +10 -6
  32. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/testing/render.md +0 -2
  33. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/utility/css-in-js.md +2 -2
  34. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/utility/head.md +3 -5
  35. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/utility/loadable.md +14 -15
  36. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/web-server/hook.md +4 -5
  37. package/en/docusaurus-plugin-content-docs/current/apis/app/runtime/web-server/middleware.md +7 -6
  38. package/en/docusaurus-plugin-content-docs/current/components/command-tip.md +3 -2
  39. package/en/docusaurus-plugin-content-docs/current/components/enable-bff.md +12 -16
  40. package/en/docusaurus-plugin-content-docs/current/components/enable-micro-frontend.md +4 -4
  41. package/en/docusaurus-plugin-content-docs/current/components/global-proxy-config.md +6 -9
  42. package/en/docusaurus-plugin-content-docs/current/components/global-proxy.md +0 -1
  43. package/en/docusaurus-plugin-content-docs/current/components/micro-master-manifest-config.md +2 -2
  44. package/en/docusaurus-plugin-content-docs/current/components/micro-runtime-config.md +1 -1
  45. package/en/docusaurus-plugin-content-docs/current/components/reduck-migration.md +0 -1
  46. package/en/docusaurus-plugin-content-docs/current/components/reduck-tip.md +1 -1
  47. package/en/docusaurus-plugin-content-docs/current/components/router-legacy-tip.md +0 -1
  48. package/en/docusaurus-plugin-content-docs/current/configure/app/auto-load-plugin.md +8 -9
  49. package/en/docusaurus-plugin-content-docs/current/configure/app/bff/prefix.md +6 -6
  50. package/en/docusaurus-plugin-content-docs/current/configure/app/bff/proxy.md +8 -9
  51. package/en/docusaurus-plugin-content-docs/current/configure/app/builder-plugins.md +6 -6
  52. package/en/docusaurus-plugin-content-docs/current/configure/app/deploy/microFrontend.md +11 -13
  53. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/asset-prefix.md +2 -2
  54. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/hmr.md +2 -2
  55. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/https.md +2 -2
  56. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/port.md +2 -2
  57. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/progress-bar.md +2 -2
  58. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/proxy.md +0 -1
  59. package/en/docusaurus-plugin-content-docs/current/configure/app/dev/start-url.md +2 -2
  60. package/en/docusaurus-plugin-content-docs/current/configure/app/experiments/lazy-compilation.md +2 -2
  61. package/en/docusaurus-plugin-content-docs/current/configure/app/html/app-icon.md +2 -2
  62. package/en/docusaurus-plugin-content-docs/current/configure/app/html/crossorigin.md +2 -2
  63. package/en/docusaurus-plugin-content-docs/current/configure/app/html/disable-html-folder.md +2 -2
  64. package/en/docusaurus-plugin-content-docs/current/configure/app/html/favicon-by-entries.md +2 -2
  65. package/en/docusaurus-plugin-content-docs/current/configure/app/html/favicon.md +2 -2
  66. package/en/docusaurus-plugin-content-docs/current/configure/app/html/inject-by-entries.md +2 -2
  67. package/en/docusaurus-plugin-content-docs/current/configure/app/html/inject.md +2 -2
  68. package/en/docusaurus-plugin-content-docs/current/configure/app/html/meta-by-entries.md +2 -2
  69. package/en/docusaurus-plugin-content-docs/current/configure/app/html/meta.md +2 -2
  70. package/en/docusaurus-plugin-content-docs/current/configure/app/html/mount-id.md +2 -2
  71. package/en/docusaurus-plugin-content-docs/current/configure/app/html/tags-by-entries.md +12 -0
  72. package/en/docusaurus-plugin-content-docs/current/configure/app/html/tags.md +12 -0
  73. package/en/docusaurus-plugin-content-docs/current/configure/app/html/template-by-entries.md +2 -2
  74. package/en/docusaurus-plugin-content-docs/current/configure/app/html/template-parameters-by-entries.md +2 -2
  75. package/en/docusaurus-plugin-content-docs/current/configure/app/html/template-parameters.md +2 -2
  76. package/en/docusaurus-plugin-content-docs/current/configure/app/html/template.md +2 -2
  77. package/en/docusaurus-plugin-content-docs/current/configure/app/html/title-by-entries.md +2 -2
  78. package/en/docusaurus-plugin-content-docs/current/configure/app/html/title.md +2 -2
  79. package/en/docusaurus-plugin-content-docs/current/configure/app/output/asset-prefix.md +2 -2
  80. package/en/docusaurus-plugin-content-docs/current/configure/app/output/assets-retry.md +2 -2
  81. package/en/docusaurus-plugin-content-docs/current/configure/app/output/charset.md +2 -2
  82. package/en/docusaurus-plugin-content-docs/current/configure/app/output/clean-dist-path.md +2 -2
  83. package/en/docusaurus-plugin-content-docs/current/configure/app/output/convert-to-rem.md +2 -2
  84. package/en/docusaurus-plugin-content-docs/current/configure/app/output/copy.md +2 -2
  85. package/en/docusaurus-plugin-content-docs/current/configure/app/output/css-module-local-ident-name.md +2 -2
  86. package/en/docusaurus-plugin-content-docs/current/configure/app/output/data-uri-limit.md +2 -2
  87. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-css-extract.md +2 -2
  88. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-css-module-extension.md +2 -2
  89. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-filename-hash.md +2 -2
  90. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-inline-runtime-chunk.md +2 -2
  91. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-minimize.md +2 -2
  92. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-node-polyfill.md +8 -6
  93. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-source-map.md +2 -2
  94. package/en/docusaurus-plugin-content-docs/current/configure/app/output/disable-ts-checker.md +2 -2
  95. package/en/docusaurus-plugin-content-docs/current/configure/app/output/dist-path.md +2 -2
  96. package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-asset-fallback.md +2 -2
  97. package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-asset-manifest.md +2 -2
  98. package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-css-module-tsdeclaration.md +2 -2
  99. package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-inline-scripts.md +2 -2
  100. package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-inline-styles.md +2 -2
  101. package/en/docusaurus-plugin-content-docs/current/configure/app/output/enable-latest-decorators.md +2 -2
  102. package/en/docusaurus-plugin-content-docs/current/configure/app/output/externals.md +2 -2
  103. package/en/docusaurus-plugin-content-docs/current/configure/app/output/filename.md +2 -2
  104. package/en/docusaurus-plugin-content-docs/current/configure/app/output/legal-comments.md +2 -2
  105. package/en/docusaurus-plugin-content-docs/current/configure/app/output/override-browserslist.md +2 -2
  106. package/en/docusaurus-plugin-content-docs/current/configure/app/output/polyfill.md +2 -2
  107. package/en/docusaurus-plugin-content-docs/current/configure/app/output/ssg.md +3 -2
  108. package/en/docusaurus-plugin-content-docs/current/configure/app/output/svg-default-export.md +2 -2
  109. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/build-cache.md +2 -2
  110. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/bundle-analyze.md +2 -2
  111. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/chunk-split.md +2 -2
  112. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/print-file-size.md +2 -2
  113. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/profile.md +2 -2
  114. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/remove-console.md +2 -2
  115. package/en/docusaurus-plugin-content-docs/current/configure/app/performance/remove-moment-locale.md +2 -2
  116. package/en/docusaurus-plugin-content-docs/current/configure/app/plugins.md +6 -6
  117. package/en/docusaurus-plugin-content-docs/current/configure/app/runtime/intro.md +11 -10
  118. package/en/docusaurus-plugin-content-docs/current/configure/app/runtime/master-app.md +1 -2
  119. package/en/docusaurus-plugin-content-docs/current/configure/app/runtime/router.md +6 -6
  120. package/en/docusaurus-plugin-content-docs/current/configure/app/runtime/state.md +15 -15
  121. package/en/docusaurus-plugin-content-docs/current/configure/app/security/sri.md +2 -2
  122. package/en/docusaurus-plugin-content-docs/current/configure/app/server/base-url.md +3 -4
  123. package/en/docusaurus-plugin-content-docs/current/configure/app/server/enable-framework-ext.md +5 -4
  124. package/en/docusaurus-plugin-content-docs/current/configure/app/server/port.md +24 -4
  125. package/en/docusaurus-plugin-content-docs/current/configure/app/server/public-routes.md +6 -6
  126. package/en/docusaurus-plugin-content-docs/current/configure/app/server/routes.md +7 -7
  127. package/en/docusaurus-plugin-content-docs/current/configure/app/server/ssr-by-entries.md +5 -5
  128. package/en/docusaurus-plugin-content-docs/current/configure/app/server/ssr.md +4 -4
  129. package/en/docusaurus-plugin-content-docs/current/configure/app/source/alias.md +2 -2
  130. package/en/docusaurus-plugin-content-docs/current/configure/app/source/compile-js-data-uri.md +2 -2
  131. package/en/docusaurus-plugin-content-docs/current/configure/app/source/config-dir.md +2 -2
  132. package/en/docusaurus-plugin-content-docs/current/configure/app/source/define.md +2 -2
  133. package/en/docusaurus-plugin-content-docs/current/configure/app/source/design-system.md +656 -634
  134. package/en/docusaurus-plugin-content-docs/current/configure/app/source/disable-default-entries.md +1 -1
  135. package/en/docusaurus-plugin-content-docs/current/configure/app/source/disable-entry-dirs.md +8 -8
  136. package/en/docusaurus-plugin-content-docs/current/configure/app/source/enable-async-entry.md +1 -1
  137. package/en/docusaurus-plugin-content-docs/current/configure/app/source/entries-dir.md +7 -7
  138. package/en/docusaurus-plugin-content-docs/current/configure/app/source/entries.md +4 -6
  139. package/en/docusaurus-plugin-content-docs/current/configure/app/source/exclude.md +2 -2
  140. package/en/docusaurus-plugin-content-docs/current/configure/app/source/global-vars.md +2 -2
  141. package/en/docusaurus-plugin-content-docs/current/configure/app/source/include.md +2 -2
  142. package/en/docusaurus-plugin-content-docs/current/configure/app/source/module-scopes.md +2 -2
  143. package/en/docusaurus-plugin-content-docs/current/configure/app/source/pre-entry.md +2 -2
  144. package/en/docusaurus-plugin-content-docs/current/configure/app/source/resolve-extension-prefix.md +2 -2
  145. package/en/docusaurus-plugin-content-docs/current/configure/app/source/resolve-main-fields.md +2 -2
  146. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/autoprefixer.md +2 -2
  147. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/babel.md +2 -2
  148. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/css-extract.md +2 -2
  149. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/css-loader.md +2 -2
  150. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/dev-server.md +2 -2
  151. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/html-plugin.md +2 -2
  152. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/inspector.md +2 -2
  153. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/jest.md +9 -9
  154. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/less.md +2 -2
  155. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/minify-css.md +2 -2
  156. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/postcss.md +2 -2
  157. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/pug.md +2 -2
  158. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/sass.md +2 -2
  159. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/style-loader.md +2 -2
  160. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/styled-components.md +2 -2
  161. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/swc.md +12 -1
  162. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/terser.md +2 -2
  163. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/ts-checker.md +2 -2
  164. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/ts-loader.md +2 -2
  165. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/webpack-chain.md +2 -2
  166. package/en/docusaurus-plugin-content-docs/current/configure/app/tools/webpack.md +2 -2
  167. package/en/docusaurus-plugin-content-docs/current/guides/advanced-features/bff/frameworks.md +6 -6
  168. package/en/docusaurus-plugin-content-docs/current/guides/advanced-features/bff/function.md +44 -38
  169. package/en/docusaurus-plugin-content-docs/current/guides/advanced-features/bff/index.md +9 -9
  170. package/en/docusaurus-plugin-content-docs/current/guides/advanced-features/bff/type.md +0 -1
  171. package/en/docusaurus-plugin-content-docs/current/guides/advanced-features/code-split.md +3 -4
  172. package/en/docusaurus-plugin-content-docs/current/guides/advanced-features/compatibility.md +6 -7
  173. package/en/docusaurus-plugin-content-docs/current/guides/advanced-features/eslint.md +0 -1
  174. package/en/docusaurus-plugin-content-docs/current/guides/advanced-features/index.md +0 -5
  175. package/en/docusaurus-plugin-content-docs/current/guides/advanced-features/low-level.md +17 -19
  176. package/en/docusaurus-plugin-content-docs/current/guides/advanced-features/ssg.md +8 -10
  177. package/en/docusaurus-plugin-content-docs/current/guides/advanced-features/ssr.md +5 -11
  178. package/en/docusaurus-plugin-content-docs/current/guides/advanced-features/testing.md +3 -3
  179. package/en/docusaurus-plugin-content-docs/current/guides/advanced-features/web-server.md +3 -4
  180. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/alias.md +7 -11
  181. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/css/css-in-js.md +6 -6
  182. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/css/css-modules.md +2 -2
  183. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/css/less-sass.md +0 -1
  184. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/css/postcss.md +43 -47
  185. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/css/tailwindcss.md +2 -2
  186. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/data-fetch.md +106 -192
  187. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/env-vars.md +8 -8
  188. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/html.md +55 -47
  189. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/mock.md +4 -4
  190. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/proxy.md +4 -5
  191. package/en/docusaurus-plugin-content-docs/current/guides/basic-features/routes.md +90 -9
  192. package/en/docusaurus-plugin-content-docs/current/guides/concept/entries.md +1 -2
  193. package/en/docusaurus-plugin-content-docs/current/guides/get-started/quick-start.md +1 -1
  194. package/en/docusaurus-plugin-content-docs/current/guides/get-started/upgrade.md +1 -1
  195. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/framework-plugin/extend.md +13 -13
  196. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/framework-plugin/hook-list.md +2 -2
  197. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/framework-plugin/hook.md +57 -54
  198. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/framework-plugin/implement.md +11 -11
  199. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/framework-plugin/lifecycle.md +0 -1
  200. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/framework-plugin/plugin-api.md +4 -4
  201. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/app.md +33 -33
  202. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/ejs.md +3 -3
  203. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/fs.md +3 -3
  204. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/git.md +3 -2
  205. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/handlebars.md +3 -4
  206. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/json.md +9 -12
  207. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/api/npm.md +2 -3
  208. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/introduce.md +4 -3
  209. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/run-in-js.md +4 -5
  210. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/codesmith/structure.md +13 -11
  211. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/config/common.md +18 -27
  212. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/abstract.md +1 -4
  213. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/introduce.md +1 -1
  214. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/file/updateJSONFile.md +4 -5
  215. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/hook/onForged.md +0 -1
  216. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/input/addInputAfter.md +1 -4
  217. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/input/addInputBefore.md +1 -3
  218. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/input/setInput.md +1 -1
  219. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/input/type.md +1 -1
  220. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/api/introduce.md +8 -9
  221. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/develop.md +11 -12
  222. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/plugin/use.md +8 -8
  223. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/generator/project.md +1 -2
  224. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/micro-frontend/c01-introduction.md +7 -8
  225. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/micro-frontend/c02-development.md +18 -21
  226. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/micro-frontend/c03-main-app.md +41 -44
  227. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/micro-frontend/c04-communicate.md +7 -5
  228. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/micro-frontend/c05-mixed-stack.md +1 -1
  229. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/model/auto-actions.md +0 -1
  230. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/model/computed-state.md +0 -2
  231. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/model/define-model.md +3 -6
  232. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/model/faq.md +2 -5
  233. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/model/manage-effects.md +2 -5
  234. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/model/model-communicate.md +1 -4
  235. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/model/performance.md +1 -5
  236. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/model/quick-start.md +0 -6
  237. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/model/redux-integration.md +3 -2
  238. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/model/test-model.md +1 -1
  239. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/model/typescript-best-practice.md +13 -14
  240. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/model/use-model.md +14 -12
  241. package/en/docusaurus-plugin-content-docs/current/guides/topic-detail/model/use-out-of-modernjs.md +4 -6
  242. package/en/docusaurus-plugin-content-docs/current/tutorials/first-app/c01-start.md +2 -2
  243. package/en/docusaurus-plugin-content-docs/current/tutorials/first-app/c03-css.md +6 -8
  244. package/en/docusaurus-plugin-content-docs/current/tutorials/first-app/c04-routes.md +2 -2
  245. package/en/docusaurus-plugin-content-docs/current/tutorials/first-app/c05-loader.md +2 -1
  246. package/en/docusaurus-plugin-content-docs/current/tutorials/first-app/c07-container.md +5 -5
  247. package/en/docusaurus-plugin-content-docs/current/tutorials/first-app/c08-entries.md +5 -6
  248. package/package.json +4 -4
  249. package/scripts/config.ts +4 -2
  250. package/scripts/summary.en.json +1 -1
  251. package/scripts/summary.zh.json +1 -1
  252. package/scripts/sync.ts +1 -1
  253. package/zh/apis/app/commands/index.md +0 -5
  254. package/zh/apis/app/commands/lint.md +1 -1
  255. package/zh/apis/app/commands/serve.md +2 -4
  256. package/zh/apis/app/hooks/api/framework/lambda.md +12 -12
  257. package/zh/apis/app/hooks/api/functions/api.md +13 -13
  258. package/zh/apis/app/hooks/api/functions/app.md +0 -2
  259. package/zh/apis/app/hooks/api/functions/common.md +1 -1
  260. package/zh/apis/app/hooks/index.md +0 -5
  261. package/zh/apis/app/hooks/shared.md +0 -1
  262. package/zh/apis/app/hooks/src/app.md +16 -9
  263. package/zh/apis/app/hooks/src/index_.md +0 -2
  264. package/zh/apis/app/hooks/src/routes.md +6 -7
  265. package/zh/apis/app/hooks/src/server.md +6 -4
  266. package/zh/apis/app/hooks/src/stories.md +1 -1
  267. package/zh/apis/app/hooks/src/test.md +1 -1
  268. package/zh/apis/app/runtime/app/define-config.md +1 -2
  269. package/zh/apis/app/runtime/bff/hook.md +3 -3
  270. package/zh/apis/app/runtime/core/bootstrap.md +2 -3
  271. package/zh/apis/app/runtime/core/use-loader.md +2 -2
  272. package/zh/apis/app/runtime/core/use-module-apps.md +53 -50
  273. package/zh/apis/app/runtime/core/use-runtime-context.md +3 -4
  274. package/zh/apis/app/runtime/index.md +0 -5
  275. package/zh/apis/app/runtime/model/Provider.md +1 -0
  276. package/zh/apis/app/runtime/model/auto-actions.md +1 -1
  277. package/zh/apis/app/runtime/model/connect.md +9 -5
  278. package/zh/apis/app/runtime/model/create-app.md +3 -3
  279. package/zh/apis/app/runtime/model/create-store.md +2 -4
  280. package/zh/apis/app/runtime/model/handle-effect.md +3 -4
  281. package/zh/apis/app/runtime/model/model_.md +0 -3
  282. package/zh/apis/app/runtime/model/use-local-model.md +0 -1
  283. package/zh/apis/app/runtime/model/use-store.md +0 -2
  284. package/zh/apis/app/runtime/router/router.md +23 -53
  285. package/zh/apis/app/runtime/ssr/no-ssr.md +1 -5
  286. package/zh/apis/app/runtime/ssr/pre-render.md +10 -6
  287. package/zh/apis/app/runtime/testing/cleanup.md +2 -2
  288. package/zh/apis/app/runtime/testing/render.md +0 -2
  289. package/zh/apis/app/runtime/utility/css-in-js.md +2 -2
  290. package/zh/apis/app/runtime/utility/head.md +3 -5
  291. package/zh/apis/app/runtime/utility/loadable.md +14 -15
  292. package/zh/apis/app/runtime/web-server/hook.md +5 -4
  293. package/zh/apis/app/runtime/web-server/middleware.md +8 -6
  294. package/zh/apis/monorepo/commands/bump.md +1 -1
  295. package/zh/apis/monorepo/commands/change.md +3 -2
  296. package/zh/apis/monorepo/commands/gen-release-note.md +1 -2
  297. package/zh/apis/monorepo/commands/index.md +1 -6
  298. package/zh/apis/monorepo/commands/lint.md +1 -1
  299. package/zh/apis/monorepo/commands/release.md +0 -1
  300. package/zh/apis/monorepo/hooks/index.md +1 -6
  301. package/zh/components/command-tip.md +3 -2
  302. package/zh/components/enable-bff.md +12 -16
  303. package/zh/components/enable-micro-frontend.md +4 -4
  304. package/zh/components/global-proxy-config.md +6 -9
  305. package/zh/components/global-proxy.md +0 -1
  306. package/zh/components/init-app.md +0 -1
  307. package/zh/components/micro-master-manifest-config.md +2 -2
  308. package/zh/components/micro-runtime-config.md +1 -1
  309. package/zh/components/reduck-migration.md +0 -1
  310. package/zh/components/router-legacy-tip.md +0 -1
  311. package/zh/configure/app/auto-load-plugin.md +9 -10
  312. package/zh/configure/app/bff/prefix.md +6 -10
  313. package/zh/configure/app/bff/proxy.md +9 -8
  314. package/zh/configure/app/builder-plugins.md +6 -6
  315. package/zh/configure/app/deploy/microFrontend.md +11 -11
  316. package/zh/configure/app/dev/asset-prefix.md +2 -2
  317. package/zh/configure/app/dev/hmr.md +2 -2
  318. package/zh/configure/app/dev/https.md +2 -2
  319. package/zh/configure/app/dev/port.md +2 -2
  320. package/zh/configure/app/dev/progress-bar.md +2 -2
  321. package/zh/configure/app/dev/proxy.md +0 -1
  322. package/zh/configure/app/dev/start-url.md +2 -2
  323. package/zh/configure/app/experiments/lazy-compilation.md +2 -2
  324. package/zh/configure/app/html/app-icon.md +2 -2
  325. package/zh/configure/app/html/crossorigin.md +2 -2
  326. package/zh/configure/app/html/disable-html-folder.md +2 -2
  327. package/zh/configure/app/html/favicon-by-entries.md +2 -2
  328. package/zh/configure/app/html/favicon.md +2 -2
  329. package/zh/configure/app/html/inject-by-entries.md +2 -2
  330. package/zh/configure/app/html/inject.md +2 -2
  331. package/zh/configure/app/html/meta-by-entries.md +2 -2
  332. package/zh/configure/app/html/meta.md +2 -2
  333. package/zh/configure/app/html/mount-id.md +2 -2
  334. package/zh/configure/app/html/tags-by-entries.md +12 -0
  335. package/zh/configure/app/html/tags.md +12 -0
  336. package/zh/configure/app/html/template-by-entries.md +2 -2
  337. package/zh/configure/app/html/template-parameters-by-entries.md +2 -2
  338. package/zh/configure/app/html/template-parameters.md +2 -2
  339. package/zh/configure/app/html/template.md +2 -2
  340. package/zh/configure/app/html/title-by-entries.md +2 -2
  341. package/zh/configure/app/html/title.md +2 -2
  342. package/zh/configure/app/output/asset-prefix.md +2 -2
  343. package/zh/configure/app/output/assets-retry.md +2 -2
  344. package/zh/configure/app/output/charset.md +2 -2
  345. package/zh/configure/app/output/clean-dist-path.md +2 -2
  346. package/zh/configure/app/output/convert-to-rem.md +2 -2
  347. package/zh/configure/app/output/copy.md +2 -2
  348. package/zh/configure/app/output/css-module-local-ident-name.md +2 -2
  349. package/zh/configure/app/output/data-uri-limit.md +2 -2
  350. package/zh/configure/app/output/disable-css-extract.md +2 -2
  351. package/zh/configure/app/output/disable-css-module-extension.md +2 -2
  352. package/zh/configure/app/output/disable-filename-hash.md +2 -2
  353. package/zh/configure/app/output/disable-inline-runtime-chunk.md +2 -2
  354. package/zh/configure/app/output/disable-minimize.md +2 -2
  355. package/zh/configure/app/output/disable-node-polyfill.md +8 -8
  356. package/zh/configure/app/output/disable-source-map.md +2 -2
  357. package/zh/configure/app/output/disable-ts-checker.md +2 -2
  358. package/zh/configure/app/output/dist-path.md +2 -2
  359. package/zh/configure/app/output/enable-asset-fallback.md +2 -2
  360. package/zh/configure/app/output/enable-asset-manifest.md +2 -2
  361. package/zh/configure/app/output/enable-css-module-tsdeclaration.md +2 -2
  362. package/zh/configure/app/output/enable-inline-scripts.md +2 -2
  363. package/zh/configure/app/output/enable-inline-styles.md +2 -2
  364. package/zh/configure/app/output/enable-latest-decorators.md +2 -2
  365. package/zh/configure/app/output/externals.md +2 -2
  366. package/zh/configure/app/output/filename.md +2 -2
  367. package/zh/configure/app/output/legal-comments.md +2 -2
  368. package/zh/configure/app/output/override-browserslist.md +2 -2
  369. package/zh/configure/app/output/polyfill.md +2 -2
  370. package/zh/configure/app/output/ssg.md +3 -2
  371. package/zh/configure/app/output/svg-default-export.md +2 -2
  372. package/zh/configure/app/performance/build-cache.md +2 -2
  373. package/zh/configure/app/performance/bundle-analyze.md +2 -2
  374. package/zh/configure/app/performance/chunk-split.md +2 -2
  375. package/zh/configure/app/performance/print-file-size.md +2 -2
  376. package/zh/configure/app/performance/profile.md +2 -2
  377. package/zh/configure/app/performance/remove-console.md +2 -2
  378. package/zh/configure/app/performance/remove-moment-locale.md +2 -2
  379. package/zh/configure/app/plugins.md +6 -6
  380. package/zh/configure/app/runtime/intro.md +12 -11
  381. package/zh/configure/app/runtime/master-app.md +1 -2
  382. package/zh/configure/app/runtime/router.md +6 -7
  383. package/zh/configure/app/runtime/state.md +15 -16
  384. package/zh/configure/app/security/sri.md +2 -2
  385. package/zh/configure/app/server/base-url.md +3 -6
  386. package/zh/configure/app/server/enable-framework-ext.md +5 -4
  387. package/zh/configure/app/server/port.md +24 -6
  388. package/zh/configure/app/server/public-routes.md +6 -8
  389. package/zh/configure/app/server/routes.md +6 -6
  390. package/zh/configure/app/server/ssr-by-entries.md +5 -8
  391. package/zh/configure/app/server/ssr.md +4 -5
  392. package/zh/configure/app/source/alias.md +2 -2
  393. package/zh/configure/app/source/compile-js-data-uri.md +2 -2
  394. package/zh/configure/app/source/config-dir.md +2 -2
  395. package/zh/configure/app/source/define.md +2 -2
  396. package/zh/configure/app/source/design-system.md +656 -630
  397. package/zh/configure/app/source/disable-default-entries.md +3 -3
  398. package/zh/configure/app/source/disable-entry-dirs.md +8 -7
  399. package/zh/configure/app/source/enable-async-entry.md +3 -3
  400. package/zh/configure/app/source/entries-dir.md +7 -7
  401. package/zh/configure/app/source/entries.md +5 -6
  402. package/zh/configure/app/source/exclude.md +2 -2
  403. package/zh/configure/app/source/global-vars.md +2 -2
  404. package/zh/configure/app/source/include.md +2 -2
  405. package/zh/configure/app/source/module-scopes.md +2 -2
  406. package/zh/configure/app/source/pre-entry.md +2 -2
  407. package/zh/configure/app/source/resolve-extension-prefix.md +2 -2
  408. package/zh/configure/app/source/resolve-main-fields.md +2 -2
  409. package/zh/configure/app/testing/transformer.md +2 -3
  410. package/zh/configure/app/tools/autoprefixer.md +2 -2
  411. package/zh/configure/app/tools/babel.md +2 -2
  412. package/zh/configure/app/tools/css-extract.md +2 -2
  413. package/zh/configure/app/tools/css-loader.md +2 -2
  414. package/zh/configure/app/tools/dev-server.md +2 -2
  415. package/zh/configure/app/tools/html-plugin.md +2 -2
  416. package/zh/configure/app/tools/inspector.md +2 -2
  417. package/zh/configure/app/tools/jest.md +9 -9
  418. package/zh/configure/app/tools/less.md +2 -2
  419. package/zh/configure/app/tools/minify-css.md +2 -2
  420. package/zh/configure/app/tools/postcss.md +2 -2
  421. package/zh/configure/app/tools/pug.md +2 -2
  422. package/zh/configure/app/tools/sass.md +2 -2
  423. package/zh/configure/app/tools/style-loader.md +2 -2
  424. package/zh/configure/app/tools/styled-components.md +2 -2
  425. package/zh/configure/app/tools/swc.md +12 -1
  426. package/zh/configure/app/tools/terser.md +2 -2
  427. package/zh/configure/app/tools/ts-checker.md +2 -2
  428. package/zh/configure/app/tools/ts-loader.md +2 -2
  429. package/zh/configure/app/tools/webpack-chain.md +2 -2
  430. package/zh/configure/app/tools/webpack.md +2 -2
  431. package/zh/guides/advanced-features/bff/frameworks.md +6 -6
  432. package/zh/guides/advanced-features/bff/function.md +49 -44
  433. package/zh/guides/advanced-features/bff/index.md +9 -9
  434. package/zh/guides/advanced-features/bff/type.md +0 -1
  435. package/zh/guides/advanced-features/code-split.md +3 -3
  436. package/zh/guides/advanced-features/compatibility.md +6 -7
  437. package/zh/guides/advanced-features/eslint.md +0 -1
  438. package/zh/guides/advanced-features/index.md +0 -5
  439. package/zh/guides/advanced-features/low-level.md +17 -19
  440. package/zh/guides/advanced-features/ssg.md +8 -9
  441. package/zh/guides/advanced-features/ssr.md +5 -11
  442. package/zh/guides/advanced-features/testing.md +3 -2
  443. package/zh/guides/advanced-features/web-server.md +3 -4
  444. package/zh/guides/basic-features/alias.md +7 -11
  445. package/zh/guides/basic-features/css/css-in-js.md +5 -5
  446. package/zh/guides/basic-features/css/css-modules.md +2 -2
  447. package/zh/guides/basic-features/css/postcss.md +42 -46
  448. package/zh/guides/basic-features/css/tailwindcss.md +5 -5
  449. package/zh/guides/basic-features/data-fetch.md +109 -192
  450. package/zh/guides/basic-features/env-vars.md +7 -6
  451. package/zh/guides/basic-features/html.md +54 -46
  452. package/zh/guides/basic-features/index.md +0 -5
  453. package/zh/guides/basic-features/mock.md +4 -4
  454. package/zh/guides/basic-features/proxy.md +4 -5
  455. package/zh/guides/basic-features/routes.md +23 -20
  456. package/zh/guides/concept/entries.md +5 -7
  457. package/zh/guides/get-started/quick-start.md +3 -4
  458. package/zh/guides/topic-detail/changesets/add.md +1 -3
  459. package/zh/guides/topic-detail/changesets/changelog.md +30 -31
  460. package/zh/guides/topic-detail/changesets/commit.md +44 -45
  461. package/zh/guides/topic-detail/changesets/config.md +2 -1
  462. package/zh/guides/topic-detail/changesets/github.md +6 -10
  463. package/zh/guides/topic-detail/changesets/introduce.md +0 -1
  464. package/zh/guides/topic-detail/changesets/release-note.md +9 -12
  465. package/zh/guides/topic-detail/changesets/release-pre.md +1 -1
  466. package/zh/guides/topic-detail/framework-plugin/extend.md +13 -13
  467. package/zh/guides/topic-detail/framework-plugin/hook-list.md +2 -2
  468. package/zh/guides/topic-detail/framework-plugin/hook.md +57 -54
  469. package/zh/guides/topic-detail/framework-plugin/implement.md +11 -11
  470. package/zh/guides/topic-detail/framework-plugin/plugin-api.md +4 -4
  471. package/zh/guides/topic-detail/generator/codesmith/api/app.md +36 -36
  472. package/zh/guides/topic-detail/generator/codesmith/api/ejs.md +2 -2
  473. package/zh/guides/topic-detail/generator/codesmith/api/fs.md +2 -2
  474. package/zh/guides/topic-detail/generator/codesmith/api/git.md +3 -2
  475. package/zh/guides/topic-detail/generator/codesmith/api/handlebars.md +2 -2
  476. package/zh/guides/topic-detail/generator/codesmith/api/json.md +9 -11
  477. package/zh/guides/topic-detail/generator/codesmith/api/npm.md +4 -2
  478. package/zh/guides/topic-detail/generator/codesmith/introduce.md +20 -7
  479. package/zh/guides/topic-detail/generator/codesmith/run-in-js.md +4 -5
  480. package/zh/guides/topic-detail/generator/codesmith/structure.md +13 -10
  481. package/zh/guides/topic-detail/generator/config/common.md +18 -27
  482. package/zh/guides/topic-detail/generator/plugin/abstract.md +1 -1
  483. package/zh/guides/topic-detail/generator/plugin/api/file/introduce.md +1 -0
  484. package/zh/guides/topic-detail/generator/plugin/api/file/updateJSONFile.md +4 -4
  485. package/zh/guides/topic-detail/generator/plugin/api/info/locale.md +1 -1
  486. package/zh/guides/topic-detail/generator/plugin/api/input/addInputAfter.md +2 -2
  487. package/zh/guides/topic-detail/generator/plugin/api/input/addInputBefore.md +3 -4
  488. package/zh/guides/topic-detail/generator/plugin/api/input/setInput.md +1 -1
  489. package/zh/guides/topic-detail/generator/plugin/api/input/type.md +1 -1
  490. package/zh/guides/topic-detail/generator/plugin/api/introduce.md +8 -9
  491. package/zh/guides/topic-detail/generator/plugin/develop.md +13 -13
  492. package/zh/guides/topic-detail/generator/plugin/use.md +8 -8
  493. package/zh/guides/topic-detail/generator/project.md +1 -1
  494. package/zh/guides/topic-detail/micro-frontend/c01-introduction.md +7 -8
  495. package/zh/guides/topic-detail/micro-frontend/c02-development.md +20 -23
  496. package/zh/guides/topic-detail/micro-frontend/c03-main-app.md +41 -44
  497. package/zh/guides/topic-detail/micro-frontend/c04-communicate.md +7 -5
  498. package/zh/guides/topic-detail/micro-frontend/c05-mixed-stack.md +1 -1
  499. package/zh/guides/topic-detail/model/auto-actions.md +0 -1
  500. package/zh/guides/topic-detail/model/computed-state.md +0 -2
  501. package/zh/guides/topic-detail/model/define-model.md +3 -6
  502. package/zh/guides/topic-detail/model/faq.md +2 -5
  503. package/zh/guides/topic-detail/model/manage-effects.md +2 -5
  504. package/zh/guides/topic-detail/model/model-communicate.md +1 -4
  505. package/zh/guides/topic-detail/model/performance.md +1 -5
  506. package/zh/guides/topic-detail/model/quick-start.md +0 -6
  507. package/zh/guides/topic-detail/model/redux-integration.md +3 -2
  508. package/zh/guides/topic-detail/model/test-model.md +1 -1
  509. package/zh/guides/topic-detail/model/typescript-best-practice.md +13 -14
  510. package/zh/guides/topic-detail/model/use-model.md +14 -12
  511. package/zh/guides/topic-detail/model/use-out-of-modernjs.md +4 -6
  512. package/zh/guides/topic-detail/monorepo/intro.md +0 -1
  513. package/zh/guides/topic-detail/monorepo/sub-project-interface.md +14 -7
  514. package/zh/tutorials/first-app/c01-start.md +2 -2
  515. package/zh/tutorials/first-app/c03-css.md +6 -9
  516. package/zh/tutorials/first-app/c04-routes.md +1 -1
  517. package/zh/tutorials/first-app/c05-loader.md +2 -1
  518. package/zh/tutorials/first-app/c07-container.md +6 -7
  519. package/zh/tutorials/first-app/c08-entries.md +5 -7
@@ -10,67 +10,63 @@ sidebar_position: 3
10
10
 
11
11
  1. [Autoprefixer](https://github.com/postcss/autoprefixer) 根据需要支持的浏览器范围,会自动为 CSS 规则添加需要的浏览器厂商前缀。Modern.js 默认支持的浏览器范围为:`['> 0.01%', 'not dead', 'not op_mini all']`。
12
12
 
13
- :::info 注意
14
- - 【支持的浏览器范围为:`> 0.01%`】是指浏览器市场份额大于 0.01%。
15
- - `not dead` 是指不包含官方不再支持的浏览器和过去24个月没有更新的浏览器。
16
- - `not op_mini all` 是指不包含 Opera Mini。
17
- :::
18
-
19
- :::info 补充信息
20
- 如果需要修改默认浏览器支持范围,可以在项目的 `package.json` 文件中配置 `browserslist`,设置规则参考 [Browserslist](https://github.com/browserslist/browserslist) 的使用,下面是一个示例:
21
- ``` json title="package.json"
22
- {
23
- "browserslist": [
24
- "last 1 version",
25
- "> 1%",
26
- "IE 10"
27
- ]
28
- }
29
- ```
30
- :::
13
+ :::info 注意
14
+ - 【支持的浏览器范围为:`> 0.01%`】是指浏览器市场份额大于 0.01%。
15
+ - `not dead` 是指不包含官方不再支持的浏览器和过去24个月没有更新的浏览器。
16
+ - `not op_mini all` 是指不包含 Opera Mini。
17
+ :::
18
+
19
+ :::info 补充信息
20
+ 如果需要修改默认浏览器支持范围,可以在项目的 `package.json` 文件中配置 `browserslist`,设置规则参考 [Browserslist](https://github.com/browserslist/browserslist) 的使用,下面是一个示例:
21
+ `json title="package.json" { "browserslist": [ "last 1 version", "> 1%", "IE 10" ] } `
22
+ :::
31
23
 
32
24
  2. 提供 [CSS custom properties](https://www.w3.org/TR/css-variables-1/) 支持,可以在 CSS 中定义和使用自定义变量,如:
33
25
 
34
- ```css
35
- :root {
36
- --main-bg-color: pink;
37
- }
26
+ ```css
27
+ :root {
28
+ --main-bg-color: pink;
29
+ }
38
30
 
39
- body {
40
- background-color: var(--main-bg-color);
41
- }
42
- ```
31
+ body {
32
+ background-color: var(--main-bg-color);
33
+ }
34
+ ```
43
35
 
44
36
  3. 提供 [CSS Nesting](https://drafts.csswg.org/css-nesting-1/) 支持,可以在 CSS 中使用嵌套写法,如:
45
37
 
46
- ```css
47
- table.colortable td {
38
+ ```css
39
+ table.colortable td {
40
+ text-align: center;
41
+ }
42
+ table.colortable td.c {
43
+ text-transform: uppercase;
44
+ }
45
+ ```
46
+
47
+ 也可以改写成 CSS 嵌套写法:
48
+
49
+ ```css
50
+ table.colortable {
51
+ & td {
48
52
  text-align: center;
49
- }
50
- table.colortable td.c {
51
- text-transform: uppercase;
52
- }
53
- ```
54
- 也可以改写成 CSS 嵌套写法:
55
- ```css
56
- table.colortable {
57
- & td {
58
- text-align: center;
59
- &.c { text-transform: uppercase }
53
+ &.c {
54
+ text-transform: uppercase;
60
55
  }
61
56
  }
62
- ```
57
+ }
58
+ ```
63
59
 
64
60
  4. 修复已知的 [Flexbugs](https://github.com/philipwalton/flexbugs) 。
65
61
  5. 对以下 CSS 特性提供兼容:
66
- - [`initial` 属性值](https://developer.mozilla.org/en-US/docs/Web/CSS/initial_value)
67
- - [`break-` 属性](https://developer.mozilla.org/en-US/docs/Web/CSS/break-after)
68
- - [`font-variant`](https://developer.mozilla.org/en-US/docs/Web/CSS/font-variant)
69
- - [Media Query Ranges](https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries#syntax_improvements_in_level_4)
62
+ - [`initial` 属性值](https://developer.mozilla.org/en-US/docs/Web/CSS/initial_value)
63
+ - [`break-` 属性](https://developer.mozilla.org/en-US/docs/Web/CSS/break-after)
64
+ - [`font-variant`](https://developer.mozilla.org/en-US/docs/Web/CSS/font-variant)
65
+ - [Media Query Ranges](https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries#syntax_improvements_in_level_4)
70
66
 
71
- 当需要修改 PostCSS 配置时,可以通过底层配置 [`tools.postcss`](/docs/configure/app/tools/postcss) 来实现,下面是一个示例:
67
+ 当需要修改 PostCSS 配置时,可以通过底层配置 [`tools.postcss`](/docs/configure/app/tools/postcss) 来实现,下面是一个示例:
72
68
 
73
- ```typescript title="modern.config.ts"
69
+ ```ts title="modern.config.ts"
74
70
  export default defineConfig({
75
71
  tools: {
76
72
  postcss: {
@@ -16,11 +16,11 @@ sidebar_position: 2
16
16
  在 `modern.config.ts` 中注册 Tailwind 插件:
17
17
 
18
18
  ```ts title="modern.config.ts"
19
- import TailwindCSSPlugin from '@modern-js/plugin-tailwindcss';
19
+ import tailwindcssPlugin from '@modern-js/plugin-tailwindcss';
20
+
20
21
  // https://modernjs.dev/docs/apis/app/config
21
22
  export default defineConfig({
22
- ...,
23
- plugins: [..., TailwindCSSPlugin()],
23
+ plugins: [..., tailwindcssPlugin()],
24
24
  });
25
25
  ```
26
26
 
@@ -68,7 +68,7 @@ Tailwind CSS v2 和 v3 均不支持 IE 11 浏览器,相关背景请参考:
68
68
 
69
69
  当需要自定义 Tailwind CSS 的 [theme](https://tailwindcss.com/docs/theme) 配置的时候,可以在配置 [`source.designSystem`](/docs/configure/app/source/design-system) 中修改,例如,颜色主题中增加一个 `primary`:
70
70
 
71
- ```typescript title="modern.config.ts"
71
+ ```ts title="modern.config.ts"
72
72
  export default defineConfig({
73
73
  source: {
74
74
  designSystem: {
@@ -84,7 +84,7 @@ export default defineConfig({
84
84
 
85
85
  当需要对 Tailwind CSS 做 [theme](https://tailwindcss.com/docs/theme) 以外的其他特殊配置时,可以在 [`tools.tailwindcss`](/docs/configure/app/tools/tailwindcss) 中配置,例如设置 `variants`:
86
86
 
87
- ```typescript title="modern.config.ts"
87
+ ```ts title="modern.config.ts"
88
88
  export default defineConfig({
89
89
  tools: {
90
90
  tailwindcss: {
@@ -9,7 +9,7 @@ Modern.js 中提供了开箱即用的数据获取能力,开发者可以通过
9
9
 
10
10
  ## Data Loader(推荐)
11
11
 
12
- Modern.js 推荐使用约定式路由做路由的管理,通过 Modern.js 的[约定式(嵌套)路由](/docs/guides/basic-features/routes#约定式路由),每个路由组件(`layout.ts` 或 `page.ts`)可以导出一个函数`loader`,该函数可以在组件渲染之前执行,为路由组件提供数据。
12
+ Modern.js 推荐使用约定式路由做路由的管理,通过 Modern.js 的[约定式(嵌套)路由](/docs/guides/basic-features/routes#约定式路由),每个路由组件(`layout.ts` 或 `page.ts`)可以有一个同名的 `loader` 文件,该 `loader` 文件需要导出一个函数,函数会在组件渲染之前执行,为路由组件提供数据。
13
13
 
14
14
  :::info
15
15
  Modern.js v1 支持通过 [useLoader](#useloader旧版) 获取数据,这已经不是我们推荐的用法,除迁移过程外,不推荐两者混用。
@@ -17,36 +17,7 @@ Modern.js v1 支持通过 [useLoader](#useloader旧版) 获取数据,这已经
17
17
 
18
18
  ### 基础示例
19
19
 
20
- 每个路由组件可以导出一个 `loader` 函数,然后通过 `useLoaderData` 函数获得相应的数据:
21
-
22
- ```ts
23
- // routes/user/page.tsx
24
- import { useLoaderData } from '@modern-js/runtime/router';
25
-
26
- export const loader = async(): ProfileData => {
27
- const res = await fetch('https://api/user/profile');
28
- return await res.json();
29
- }
30
-
31
- export default function UserPage() {
32
- const profileData = useLoaderData() as ProfileData;
33
- return <div>{profileData}</div>;
34
- }
35
- ```
36
-
37
- 在 CSR 环境下,`loader` 函数会在客户端执行,`loader` 函数内可以使用浏览器的 API(但通常不需要,也不推荐)。
38
-
39
- 在 SSR 环境下,不管是首屏,还是在客户端的导航,`loader` 函数只会在服务端执行,这里可以调用任意的 Node.js API,同时这里使用的任何依赖和代码都不会包含在客户端的 bundle 中。
40
-
41
- :::info
42
- 在以后的版本中,Modern.js 可能会支持在 CSR 环境下,`loader` 函数也在服务端运行,以提高性能和安全性,所以这里建议尽可能地保证 loader 的纯粹,只做数据获取的场景。
43
- :::
44
-
45
- 当在客户端导航时,基于 Modern.js 的[约定式路由](/docs/guides/basic-features/routes),所有的 loader 函数会并行执行(请求),即当访问 `/user/profile` 时,`/user` 和 `/user/profile` 下的 loader 函数都会并行执行(请求),以提高客户端的性能。
46
-
47
- ### Loader 放在单独文件中
48
-
49
- 除了支持 `loader` 函数从前端组件中导出,Modern.js 也支持将 `loader` 函数放在单独的文件中, 将 `loader` 函数放在单独的文件中,可以无需留意[副作用](#副作用处理)相关注意事项,但可以要注意的是,路由组件如 `layout.ts` 和 loader 文件 `layout.loader.ts` 不能引入彼此的代码,如果需要相关类型可以使用 `import type`,可以见下面的示例:
20
+ 路由组件如 `layout.ts` 或 `page.ts`,可以定义同名的 `loader` 文件,`loader` 文件中导出一个函数,该函数提供组件所需的数据,然后在路由组件中通过 `useLoaderData` 函数获取数据,如下面示例:
50
21
 
51
22
  ```
52
23
  .
@@ -59,20 +30,11 @@ export default function UserPage() {
59
30
  └── page.loader.ts
60
31
  ```
61
32
 
62
- 如[基础示例](#基础示例)中的 `loader` 可以用以下代码替代:
63
- ```tsx
64
- // routes/user/page.loader.tsx
65
- type ProfileData = { /* some type declarations */ }
66
-
67
- export const loader = async(): ProfileData => {
68
- const res = await fetch('https://api/user/profile');
69
- return await res.json();
70
- }
33
+ 在文件中定义以下代码:
71
34
 
72
- // routes/user/page.tsx
35
+ ```ts title="routes/user/page.tsx"
73
36
  import { useLoaderData } from '@modern-js/runtime/router';
74
- // 这里只能使用 import type,导入类型
75
- import type { ProfileData } from './page.loader';
37
+ import type { ProfileData } from './page.loader.ts';
76
38
 
77
39
  export default function UserPage() {
78
40
  const profileData = useLoaderData() as ProfileData;
@@ -80,24 +42,48 @@ export default function UserPage() {
80
42
  }
81
43
  ```
82
44
 
45
+ ```ts title="routes/user/page.loader.ts"
46
+ export type ProfileData = {
47
+ /* some types */
48
+ };
83
49
 
84
- ### `loader` 函数
50
+ export default async (): Promise<ProfileData> => {
51
+ const res = await fetch('https://api/user/profile');
52
+ return await res.json();
53
+ };
54
+ ```
55
+
56
+ :::caution
57
+ 这里路由组件和 `loader` 文件共享类型,要使用 `import type` 语法。
58
+ :::
59
+
60
+ 在 CSR 环境下,`loader` 函数会在客户端执行,`loader` 函数内可以使用浏览器的 API(但通常不需要,也不推荐)。
85
61
 
62
+ 在 SSR 环境下,不管是首屏,还是在客户端的导航,`loader` 函数只会在服务端执行,这里可以调用任意的 Node.js API,同时这里使用的任何依赖和代码都不会包含在客户端的 bundle 中。
63
+
64
+ :::info
65
+ 在以后的版本中,Modern.js 可能会支持在 CSR 环境下,`loader` 函数也在服务端运行,以提高性能和安全性,所以这里建议尽可能地保证 loader 的纯粹,只做数据获取的场景。
66
+ :::
67
+
68
+ 当在客户端导航时,基于 Modern.js 的[约定式路由](/docs/guides/basic-features/routes),所有的 loader 函数会并行执行(请求),即当访问 `/user/profile` 时,`/user` 和 `/user/profile` 下的 loader 函数都会并行执行(请求),以提高客户端的性能。
69
+
70
+ ### `loader` 函数
86
71
 
87
72
  `loader` 函数有两个入参:
73
+
88
74
  #### `Params`
89
75
 
90
76
  当路由文件通过 `[]` 时,会作为[动态路由](/docs/guides/basic-features/routes#动态路由),动态路由片段会作为参数传入 loader 函数:
91
77
 
92
78
  ```tsx
93
- // routes/user/[id]/page.tsx
79
+ // routes/user/[id]/page.loader.ts
94
80
  import { LoaderArgs } from '@modern-js/runtime/router';
95
81
 
96
- export const loader = async({ params }: LoaderArgs) => {
82
+ export default async ({ params }: LoaderArgs) => {
97
83
  const { id } = params;
98
84
  const res = await fetch(`https://api/user/${id}`);
99
85
  return res.json();
100
- }
86
+ };
101
87
  ```
102
88
 
103
89
  当访问 `/user/123` 时,`loader` 函数的参数为 `{ params: { id: '123' } }`。
@@ -107,15 +93,16 @@ export const loader = async({ params }: LoaderArgs) => {
107
93
  `request` 是一个 [Fetch Request](https://developer.mozilla.org/en-US/docs/Web/API/Request) 实例。
108
94
 
109
95
  一个常见的使用场景是通过 `request` 获取查询参数:
96
+
110
97
  ```tsx
111
- // routes/user/[id]/page.tsx
98
+ // routes/user/[id]/page.loader.ts
112
99
  import { LoaderArgs } from '@modern-js/runtime/router';
113
100
 
114
- export const loader = async({ request }: LoaderArgs) => {
101
+ export default async ({ request }: LoaderArgs) => {
115
102
  const url = new URL(request.url);
116
- const userId = url.searchParams.get("id");
103
+ const userId = url.searchParams.get('id');
117
104
  return queryUser(userId);
118
- }
105
+ };
119
106
  ```
120
107
 
121
108
  #### 返回值
@@ -123,44 +110,47 @@ export const loader = async({ request }: LoaderArgs) => {
123
110
  `loader` 函数的返回值可以是任何可序列化的内容,也可以是一个 [Fetch Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) 实例:
124
111
 
125
112
  ```tsx
126
- export const loader = async(): ProfileData => {
113
+ const loader = async (): Promise<ProfileData> => {
127
114
  return {
128
115
  message: 'hello world',
129
- }
130
- }
116
+ };
117
+ };
118
+ export default loader;
131
119
  ```
132
120
 
133
121
  默认情况下,`loader` 返回的响应 `Content-type` 是 `application/json`,`status` 为 200,你可以通过自定义 `Response` 来设置:
122
+
134
123
  ```tsx
135
- export const loader = async(): ProfileData => {
136
- const data = {message: 'hello world'};
124
+ const loader = async (): Promise<ProfileData> => {
125
+ const data = { message: 'hello world' };
137
126
  return new Response(JSON.stringify(data), {
138
127
  status: 200,
139
128
  headers: {
140
- "Content-Type": "application/json; utf-8",
129
+ 'Content-Type': 'application/json; utf-8',
141
130
  },
142
131
  });
143
- }
132
+ };
144
133
  ```
145
134
 
146
135
  ### 请求 API
147
136
 
148
137
  Modern.js 对 `fetch` API 做了 polyfill, 用于发起请求,该 API 与浏览器的 `fetch` API 一致,但是在服务端也能使用该 API 发起请求,这意味着不管是 CSR 还是 SSR,都可以使用统一的 `fetch` API 进行数据获取:
138
+
149
139
  ```tsx
150
- export async function loader(){
140
+ async function loader() {
151
141
  const res = await fetch('https://api/user/profile');
152
142
  }
153
143
  ```
154
144
 
155
-
156
145
  ### 错误处理
157
146
 
158
147
  在 `loader` 函数中,可以通过 `throw error` 或者 `throw response` 的方式处理错误,当 `loader` 函数中有错误被抛出时,Modern.js 会停止执行当前 loader 中的代码,并将前端 UI 切换到定义的 [`ErrorBoundary`](/docs/guides/basic-features/routes#错误处理) 组件:
148
+
159
149
  ```tsx
160
- // routes/user/profile/page.tsx
161
- export async function loader(){
150
+ // routes/user/profile/page.loader.ts
151
+ export default async function loader() {
162
152
  const res = await fetch('https://api/user/profile');
163
- if(!res.ok){
153
+ if (!res.ok) {
164
154
  throw res;
165
155
  }
166
156
  return res.json();
@@ -184,12 +174,13 @@ export default ErrorBoundary;
184
174
  ### 获取上层组件的数据
185
175
 
186
176
  很多场景下,子组件需要获取到祖先组件 loader 中的数据,你可以通过 `useRouteLoaderData` 方便地获取到祖先组件的数据:
177
+
187
178
  ```tsx
188
179
  // routes/user/profile/page.tsx
189
180
  import { useRouteLoaderData } from '@modern-js/runtime/router';
190
181
 
191
182
  export default function UserLayout() {
192
- // 获取 routes/user/layout.tsx 中 loader 返回的数据
183
+ // 获取 routes/user/layout.loader.ts 中 loader 返回的数据
193
184
  const data = useRouteLoaderData('user/layout');
194
185
  return (
195
186
  <div>
@@ -203,17 +194,19 @@ export default function UserLayout() {
203
194
  `userRouteLoaderData` 接受一个参数 `routeId`,在使用约定式路由时,Modern.js 会为你自动生成`routeId`,`routeId` 的值是对应组件相对于 `src/routes` 的路径,如上面的例子中,子组件想要获取 `routes/user/layout.tsx` 中 loader 返回的数据,`routeId` 的值就是 `user/layout`。
204
195
 
205
196
  在多 entry(MPA) 场景下,`routeId` 的值需要加上对应 entry 的 name,entry name 非指定情况下一般是 entry 目录名,如以下目录结构:
197
+
206
198
  ```bash
207
199
  .
208
200
  └── src
209
201
  ├── entry1
210
- ├── layout.tsx
202
+ └── routes
203
+ │ └── layout.tsx
211
204
  └── entry2
212
- └── layout.tsx
205
+ └── routes
206
+ └── layout.tsx
213
207
  ```
214
208
 
215
- 如果想获取 `entry1/layout.tsx` 中 loader 返回的数据,`routeId` 的值就是 `entry1_layout`。
216
-
209
+ 如果想获取 `entry1/routes/layout.tsx` 中 loader 返回的数据,`routeId` 的值就是 `entry1_layout`。
217
210
 
218
211
  ### (WIP)Loading UI
219
212
 
@@ -222,34 +215,8 @@ export default function UserLayout() {
222
215
  目前仅支持 CSR,敬请期待 Streaming SSR。
223
216
  :::
224
217
 
225
- 因为获取数据是异步的,在数据获取完成之前,常常需要展示一个 Loading UI,以下是一个基本的示例,假设有以下目录:
226
- ```bash
227
- .
228
- └── routes
229
- ├── layout.tsx
230
- └── user
231
- ├── layout.tsx
232
- └── page.ts
233
- ```
234
-
235
- 我们在 `user/layout.tsx` 中获取用户的详细数据,在获取数据之前,希望展示一个 Loading UI。
236
-
237
- 首先,在项目中在 `routes` 目录下增加一个 `loading.tsx` 组件,该 `loading` 组件会对子目录下的所有路由生效(如 user):
238
- ```bash
239
- .
240
- └── routes
241
- ├── layout.tsx
242
- ├── loading.tsx
243
- └── user
244
- ├── layout.tsx
245
- └── page.ts
246
- ```
247
-
248
- :::info
249
- loading 组件的具体用法,请查看[loading](/docs/guides/basic-features/routes#loading)
250
- :::
218
+ `user/layout.tsx` 中添加以下代码:
251
219
 
252
- 然后,在 `user/layout.tsx` 中添加以下代码:
253
220
  ```tsx title="routes/user/layout.tsx"
254
221
  import {
255
222
  Await,
@@ -269,14 +236,18 @@ export default function UserLayout() {
269
236
  const { userInfo } = useLoaderData() as {userInfo: Promise<UserInfo>};
270
237
  return (
271
238
  <div>
272
- <Await resolve={userInfo} children={userInfo => (
273
- <div>
274
- <span>{userInfo.name}</span>
275
- <span>{userInfo.age}</span>
276
- <Outlet>
277
- </div>
278
- )}>
279
- </Await>
239
+ <React.Suspense
240
+ fallback={<p>Loading...</p>}
241
+ >
242
+ <Await resolve={userInfo} children={userInfo => (
243
+ <div>
244
+ <span>{userInfo.name}</span>
245
+ <span>{userInfo.age}</span>
246
+ <Outlet>
247
+ </div>
248
+ )}>
249
+ </Await>
250
+ </React.Suspense>
280
251
  </div>
281
252
  );
282
253
  }
@@ -288,87 +259,8 @@ Await 组件的具体用法请查看 [Await](https://reactrouter.com/en/main/com
288
259
  defer 的具体用法请查看 [defer](https://reactrouter.com/en/main/guides/deferred)
289
260
  :::
290
261
 
291
-
292
262
  <!-- TODO 缓存相关 -->
293
263
 
294
- ### 副作用处理
295
-
296
- 如上面所述,Modern.js 会将服务端代码 `loader` 从客户端 bundle 中移除,有一些你需要注意的事项,如果不想受副作用的影响,可以使用[单独文件](#单独文件) 的方式定义 `loader`。
297
-
298
- :::info
299
- 在 CSR 场景下,通常副作用对项目影响较小,但依然希望你能遵循以下约定。
300
- :::
301
-
302
- 模块的副作用可以认为是在模块被加载时执行的代码,比如:
303
- ```tsx
304
- // routes/user/page.tsx
305
- import { useLoaderData } from '@modern-js/runtime/router';
306
- // highlight-next-line
307
- import { transformProfile } from "./utils";
308
- // highlight-next-line
309
- console.log(transformProfile);
310
-
311
- export const loader = async(): ProfileData => {
312
- const res = await fetch('https://api/user/profile');
313
- const data = await res.json();
314
- return transformProfile(data);
315
- }
316
-
317
- export default function UserPage() {
318
- const profileData = useLoaderData() as ProfileData;
319
- return <div>{profileData}</div>;
320
- }
321
- ```
322
-
323
- 因为 `console.log` 在 `routes/user/page.tsx` 加载时,就会被执行,编译器不会移除它,`transformProfile` 就会打包到客户端的 bundle 中。
324
-
325
- 所以我们不推荐有任何代码在模块加载时执行,包括项目代码和使用的第三方模块,以下是一些我们不推荐的写法:
326
-
327
- ```tsx
328
- // routes/user/page.tsx
329
- export default function UserPage() {
330
- return <div>profile</div>;
331
- }
332
-
333
- UserPage.config = {}
334
- ```
335
-
336
- ```tsx
337
- // routes/init.ts
338
- document.title = 'Modern.js';
339
-
340
- // routes/layout.tsx
341
- import "./init.ts";
342
-
343
- export default function Layout() {
344
- return <></>
345
- }
346
- ```
347
-
348
- 在 SSR 场景,通常你需要在 `loader` 函数中使用 Node.js 核心包和依赖,对于非 Node.js 核心包,需要使用一个特殊约定的文件做重新导出,如使用 `fs-extra`:
349
-
350
- ```tsx
351
- // routes/user/avatar.tsx
352
- import { useLoaderData } from '@modern-js/runtime/router';
353
- import { readFile } from './utils.server';
354
-
355
- type ProfileData = { /* some type declarations */ }
356
-
357
- export const loader = async(): ProfileData => {
358
- const profile = await readFile('profile.json');
359
- return profile;
360
- }
361
-
362
- export default function UserPage() {
363
- const profileData = useLoaderData() as ProfileData;
364
- return <div>{profileData}</div>;
365
- }
366
-
367
- // routes/user/utils.server.ts
368
- export * from 'fs-extra';
369
- ```
370
-
371
-
372
264
  ### 错误用法
373
265
 
374
266
  1. `loader` 中只能返回可序列化的数据,在 SSR 环境下,`loader` 函数的返回值会被序列化为 JSON 字符串,然后在客户端被反序列化为对象。因此,`loader` 函数中不能返回不可序列化的数据(如函数)。
@@ -379,31 +271,57 @@ export * from 'fs-extra';
379
271
 
380
272
  ```ts
381
273
  // This won't work!
382
- export const loader = () => {
274
+ export default () => {
383
275
  return {
384
276
  user: {},
385
- method: () => {
386
-
387
- }
388
- }
389
- }
277
+ method: () => {},
278
+ };
279
+ };
390
280
  ```
391
281
 
392
282
  2. Modern.js 会帮你调用 `loader` 函数,你不应该自己调用 `loader` 函数:
283
+
393
284
  ```ts
394
285
  // This won't work!
395
- export const loader = async () => {
286
+ export default async () => {
396
287
  const res = fetch('https://api/user/profile');
397
288
  return res.json();
398
289
  };
399
290
 
291
+ import loader from './page.loader.ts';
400
292
  export default function RouteComp() {
401
293
  const data = loader();
402
294
  }
403
295
  ```
404
296
 
405
- 3. 在服务端运行时,`loader` 函数会被打包为一个统一的 bundle,所以我们不推荐服务端的代码使用 `__filename` `__dirname`。
297
+ 3. 不能从路由组件中引入 `loader` 文件,也不能从 `loader` 文件引入路由组件中的变量,如果需要共享类型的话,应该使用 `import type`
298
+
299
+ ```ts
300
+ // Not allowed
301
+ // routes/layout.tsx
302
+ import { useLoaderData } from '@modern-js/runtime/router';
303
+ import { ProfileData } from './page.loader.ts'; // should use "import type" instead
304
+
305
+ export const fetch = wrapFetch(fetch);
306
+
307
+ export default function UserPage() {
308
+ const profileData = useLoaderData() as ProfileData;
309
+ return <div>{profileData}</div>;
310
+ }
311
+
312
+ // routes/layout.loader.ts
313
+ import { fetch } from './layout.tsx'; // should not be imported from the routing component
314
+ export type ProfileData = {
315
+ /* some types */
316
+ };
317
+
318
+ export default async (): Promise<ProfileData> => {
319
+ const res = await fetch('https://api/user/profile');
320
+ return await res.json();
321
+ };
322
+ ```
406
323
 
324
+ 4. 在服务端运行时,`loader` 函数会被打包为一个统一的 bundle,所以我们不推荐服务端的代码使用 `__filename` 和 `__dirname`。
407
325
 
408
326
  ## useLoader(旧版)
409
327
 
@@ -439,7 +357,7 @@ export default () => {
439
357
 
440
358
  ```html
441
359
  <script>
442
- window._SSR_DATA = {};
360
+ window._SSR_DATA = {};
443
361
  </script>
444
362
  ```
445
363
 
@@ -456,4 +374,3 @@ Modern.js 在新版本中,设计了全新的 Loader 方案。新方案解决
456
374
  :::note
457
375
  详细 API 可以查看 [useLoader](/docs/apis/app/runtime/core/use-loader)。
458
376
  :::
459
-
@@ -31,15 +31,16 @@ MODERN_ENV 的优先级高于 NODE_ENV。
31
31
  function App() {
32
32
  if (process.env.MODERN_TARGET === 'browser') {
33
33
  console.log(window.innerHeight);
34
- };
35
- };
34
+ }
35
+ }
36
36
  ```
37
37
 
38
38
  开发环境打包后,可以看到 SSR 产物和 CSR 产物如下:
39
39
 
40
40
  ```js title="dist/bundles/main.js"
41
41
  function App() {
42
- if (false) {}
42
+ if (false) {
43
+ }
43
44
  }
44
45
  ```
45
46
 
@@ -80,8 +81,8 @@ BAR=456
80
81
 
81
82
  `.env` 文件遵循以下规则加载规则:
82
83
 
83
- * `.env`:默认加载。
84
- * `.env.{ MODERN_ENV | NODE_ENV }`:针对具体环境设置环境变量,会覆盖 `.env` 中的设置。
84
+ - `.env`:默认加载。
85
+ - `.env.{ MODERN_ENV | NODE_ENV }`:针对具体环境设置环境变量,会覆盖 `.env` 中的设置。
85
86
 
86
87
  当需要根据环境使用不同的配置时,可以把环境变量定义到对应环境名称的 `.env` 文件中,并在启动项目时手动设置执行环境。例如使用以下命令启动项目时,将会加载 `.env` 和 `.env.staging`:
87
88
 
@@ -121,7 +122,7 @@ if (true) {
121
122
 
122
123
  如果需要在代码中使用任意名称的环境变量,可以在 [`source.globalVars`](/docs/configure/app/source/global-vars) 配置指定, 例如:
123
124
 
124
- ```typescript title="modern.config.ts"
125
+ ```ts title="modern.config.ts"
125
126
  export default defineConfig({
126
127
  source: {
127
128
  globalVars: {