@modern-js/module-tools-docs 2.0.2 → 2.2.0

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 (313) hide show
  1. package/doc_build/api/config/build-config.html +332 -0
  2. package/doc_build/api/config/build-preset.html +43 -0
  3. package/doc_build/api/config/design-system.html +103 -0
  4. package/doc_build/api/config/plugins.html +7 -0
  5. package/doc_build/api/config/testing.html +21 -0
  6. package/doc_build/api/index.html +1 -0
  7. package/doc_build/api/plugin-api/plugin-hooks.html +113 -0
  8. package/doc_build/en/api/config/build-config.html +316 -0
  9. package/doc_build/en/api/config/build-preset.html +43 -0
  10. package/doc_build/en/api/config/design-system.html +117 -0
  11. package/doc_build/en/api/config/plugins.html +7 -0
  12. package/doc_build/en/api/config/testing.html +21 -0
  13. package/doc_build/en/api/index.html +1 -0
  14. package/doc_build/en/api/plugin-api/plugin-hooks.html +113 -0
  15. package/doc_build/en/guide/advance/asset.html +25 -0
  16. package/doc_build/en/guide/advance/build-umd.html +32 -0
  17. package/doc_build/en/guide/advance/copy.html +42 -0
  18. package/doc_build/en/guide/advance/external-dependency.html +31 -0
  19. package/doc_build/en/guide/advance/in-depth-about-build.html +112 -0
  20. package/doc_build/en/guide/advance/in-depth-about-dev-command.html +12 -0
  21. package/doc_build/en/guide/advance/theme-config.html +29 -0
  22. package/doc_build/en/guide/basic/before-getting-started.html +89 -0
  23. package/doc_build/en/guide/basic/command-preview.html +63 -0
  24. package/doc_build/en/guide/basic/modify-output-product.html +98 -0
  25. package/doc_build/en/guide/basic/publish-your-project.html +50 -0
  26. package/doc_build/en/guide/basic/test-your-project.html +31 -0
  27. package/doc_build/en/guide/basic/use-micro-generator.html +29 -0
  28. package/doc_build/en/guide/basic/using-storybook.html +66 -0
  29. package/doc_build/en/guide/best-practices/components.html +111 -0
  30. package/doc_build/en/guide/intro/getting-started.html +36 -0
  31. package/doc_build/en/guide/intro/welcome.html +13 -0
  32. package/doc_build/en/guide/intro/why-module-engineering-solution.html +9 -0
  33. package/doc_build/en/index.html +1 -0
  34. package/doc_build/en/plugins/guide/getting-started.html +15 -0
  35. package/doc_build/en/plugins/guide/plugin-object.html +14 -0
  36. package/doc_build/en/plugins/guide/setup-function.html +30 -0
  37. package/doc_build/en/plugins/official-list/overview.html +3 -0
  38. package/doc_build/guide/advance/asset.html +25 -0
  39. package/doc_build/guide/advance/build-umd.html +32 -0
  40. package/doc_build/guide/advance/copy.html +42 -0
  41. package/doc_build/guide/advance/external-dependency.html +31 -0
  42. package/doc_build/guide/advance/in-depth-about-build.html +112 -0
  43. package/doc_build/guide/advance/in-depth-about-dev-command.html +14 -0
  44. package/doc_build/guide/advance/theme-config.html +28 -0
  45. package/doc_build/guide/basic/before-getting-started.html +89 -0
  46. package/doc_build/guide/basic/command-preview.html +63 -0
  47. package/doc_build/guide/basic/modify-output-product.html +97 -0
  48. package/doc_build/guide/basic/publish-your-project.html +52 -0
  49. package/doc_build/guide/basic/test-your-project.html +32 -0
  50. package/doc_build/guide/basic/use-micro-generator.html +27 -0
  51. package/doc_build/guide/basic/using-storybook.html +67 -0
  52. package/doc_build/guide/best-practices/components.html +111 -0
  53. package/doc_build/guide/intro/getting-started.html +39 -0
  54. package/doc_build/guide/intro/welcome.html +13 -0
  55. package/doc_build/guide/intro/why-module-engineering-solution.html +9 -0
  56. package/doc_build/index.html +1 -0
  57. package/doc_build/plugins/guide/getting-started.html +15 -0
  58. package/doc_build/plugins/guide/plugin-object.html +14 -0
  59. package/doc_build/plugins/guide/setup-function.html +30 -0
  60. package/doc_build/plugins/official-list/overview.html +3 -0
  61. package/doc_build/static/css/main.edaad072.css +1 -0
  62. package/doc_build/static/js/1607.70af642a.js +2 -0
  63. package/doc_build/static/js/1607.70af642a.js.LICENSE.txt +23 -0
  64. package/doc_build/static/js/async/3799.e31e8293.js +1 -0
  65. package/doc_build/static/js/async/8652.6fbf1cb7.js +1 -0
  66. package/doc_build/static/js/async/en_api_config_build-config.367a5701.js +1 -0
  67. package/doc_build/static/js/async/en_api_config_build-preset.0d78b268.js +1 -0
  68. package/doc_build/static/js/async/en_api_config_design-system.b28d6723.js +1 -0
  69. package/doc_build/static/js/async/en_api_config_plugins.fc95fb77.js +1 -0
  70. package/doc_build/static/js/async/en_api_config_testing.8bc7f316.js +1 -0
  71. package/doc_build/static/js/async/en_api_index.669f0a56.js +1 -0
  72. package/doc_build/static/js/async/en_api_plugin-api_plugin-hooks.60d0260c.js +1 -0
  73. package/doc_build/static/js/async/en_guide_advance_asset.5ff1d623.js +1 -0
  74. package/doc_build/static/js/async/en_guide_advance_build-umd.c254ed46.js +1 -0
  75. package/doc_build/static/js/async/en_guide_advance_copy.45c0a51d.js +1 -0
  76. package/doc_build/static/js/async/en_guide_advance_external-dependency.a52d3247.js +1 -0
  77. package/doc_build/static/js/async/en_guide_advance_in-depth-about-build.51bf3569.js +1 -0
  78. package/doc_build/static/js/async/en_guide_advance_in-depth-about-dev-command.aec0b4e1.js +1 -0
  79. package/doc_build/static/js/async/en_guide_advance_theme-config.db0ad9fc.js +1 -0
  80. package/doc_build/static/js/async/en_guide_basic_before-getting-started.a22fc49a.js +1 -0
  81. package/doc_build/static/js/async/en_guide_basic_command-preview.1707ed29.js +1 -0
  82. package/doc_build/static/js/async/en_guide_basic_modify-output-product.ad453d13.js +1 -0
  83. package/doc_build/static/js/async/en_guide_basic_publish-your-project.08c5112f.js +1 -0
  84. package/doc_build/static/js/async/en_guide_basic_test-your-project.f5f6b204.js +1 -0
  85. package/doc_build/static/js/async/en_guide_basic_use-micro-generator.56325139.js +1 -0
  86. package/doc_build/static/js/async/en_guide_basic_using-storybook.9d721554.js +1 -0
  87. package/doc_build/static/js/async/en_guide_best-practices_components.45155af9.js +1 -0
  88. package/doc_build/static/js/async/en_guide_intro_getting-started.f8682be3.js +1 -0
  89. package/doc_build/static/js/async/en_guide_intro_welcome.9cc45924.js +1 -0
  90. package/doc_build/static/js/async/en_guide_intro_why-module-engineering-solution.7f2dae5c.js +1 -0
  91. package/doc_build/static/js/async/en_index.7bd869c4.js +1 -0
  92. package/doc_build/static/js/async/en_plugins_guide_getting-started.b850249c.js +1 -0
  93. package/doc_build/static/js/async/en_plugins_guide_plugin-object.bf6c6221.js +1 -0
  94. package/doc_build/static/js/async/en_plugins_guide_setup-function.80a2bd97.js +1 -0
  95. package/doc_build/static/js/async/en_plugins_official-list_overview.84e5cea0.js +1 -0
  96. package/doc_build/static/js/async/zh_api_config_build-config.048fd5ec.js +1 -0
  97. package/doc_build/static/js/async/zh_api_config_build-preset.7c13584d.js +1 -0
  98. package/doc_build/static/js/async/zh_api_config_design-system.1eecd474.js +1 -0
  99. package/doc_build/static/js/async/zh_api_config_plugins.c22dc4be.js +1 -0
  100. package/doc_build/static/js/async/zh_api_config_testing.a9888eed.js +1 -0
  101. package/doc_build/static/js/async/zh_api_index.22957707.js +1 -0
  102. package/doc_build/static/js/async/zh_api_plugin-api_plugin-hooks.a4d81bf6.js +1 -0
  103. package/doc_build/static/js/async/zh_guide_advance_asset.5b936003.js +1 -0
  104. package/doc_build/static/js/async/zh_guide_advance_build-umd.b6d541ff.js +1 -0
  105. package/doc_build/static/js/async/zh_guide_advance_copy.21a1aea4.js +1 -0
  106. package/doc_build/static/js/async/zh_guide_advance_external-dependency.c7cf5d4b.js +1 -0
  107. package/doc_build/static/js/async/zh_guide_advance_in-depth-about-build.64e795f3.js +1 -0
  108. package/doc_build/static/js/async/zh_guide_advance_in-depth-about-dev-command.168ce7dd.js +1 -0
  109. package/doc_build/static/js/async/zh_guide_advance_theme-config.b9570109.js +1 -0
  110. package/doc_build/static/js/async/zh_guide_basic_before-getting-started.6b06b54a.js +1 -0
  111. package/doc_build/static/js/async/zh_guide_basic_command-preview.1199124a.js +1 -0
  112. package/doc_build/static/js/async/zh_guide_basic_modify-output-product.8ccbc8d1.js +1 -0
  113. package/doc_build/static/js/async/zh_guide_basic_publish-your-project.bf11b1c4.js +1 -0
  114. package/doc_build/static/js/async/zh_guide_basic_test-your-project.ae52c47a.js +1 -0
  115. package/doc_build/static/js/async/zh_guide_basic_use-micro-generator.a091d57d.js +1 -0
  116. package/doc_build/static/js/async/zh_guide_basic_using-storybook.27829e44.js +1 -0
  117. package/doc_build/static/js/async/zh_guide_best-practices_components.7454d916.js +1 -0
  118. package/doc_build/static/js/async/zh_guide_intro_getting-started.a4c00d9a.js +1 -0
  119. package/doc_build/static/js/async/zh_guide_intro_welcome.71c3fe16.js +1 -0
  120. package/doc_build/static/js/async/zh_guide_intro_why-module-engineering-solution.6f8b5ff6.js +1 -0
  121. package/doc_build/static/js/async/zh_index.c19f9dcf.js +1 -0
  122. package/doc_build/static/js/async/zh_plugins_guide_getting-started.099dfaea.js +1 -0
  123. package/doc_build/static/js/async/zh_plugins_guide_plugin-object.963289d5.js +1 -0
  124. package/doc_build/static/js/async/zh_plugins_guide_setup-function.67d07b91.js +1 -0
  125. package/doc_build/static/js/async/zh_plugins_official-list_overview.a7635714.js +1 -0
  126. package/doc_build/static/js/lib-lodash.c5845536.js +1 -0
  127. package/doc_build/static/js/lib-polyfill.b3038509.js +1 -0
  128. package/doc_build/static/js/lib-react.d41ace5e.js +2 -0
  129. package/doc_build/static/js/lib-react.d41ace5e.js.LICENSE.txt +29 -0
  130. package/doc_build/static/js/main.2d3257a4.js +1 -0
  131. package/doc_build/static/search_index.json +1 -0
  132. package/docs/en/api/config/build-config.md +15 -5
  133. package/docs/en/api/config/build-preset.md +3 -2
  134. package/docs/en/api/config/design-system.md +623 -615
  135. package/docs/en/api/config/plugins.md +2 -2
  136. package/docs/en/api/config/testing.md +2 -1
  137. package/docs/en/guide/advance/asset.mdx +0 -4
  138. package/docs/en/guide/advance/build-umd.mdx +3 -3
  139. package/docs/en/guide/advance/in-depth-about-build.md +14 -13
  140. package/docs/en/guide/advance/in-depth-about-dev-command.md +2 -1
  141. package/docs/en/guide/basic/before-getting-started.md +16 -9
  142. package/docs/en/guide/basic/command-preview.md +2 -2
  143. package/docs/en/guide/basic/modify-output-product.md +65 -69
  144. package/docs/en/guide/basic/test-your-project.mdx +1 -3
  145. package/docs/en/guide/basic/use-micro-generator.md +4 -0
  146. package/docs/en/guide/basic/using-storybook.mdx +1 -13
  147. package/docs/en/plugins/guide/getting-started.mdx +2 -2
  148. package/docs/en/plugins/guide/plugin-object.mdx +5 -5
  149. package/docs/zh/api/config/build-config.md +18 -6
  150. package/docs/zh/api/config/build-preset.md +3 -2
  151. package/docs/zh/api/config/design-system.md +2 -2
  152. package/docs/zh/api/config/plugins.md +2 -2
  153. package/docs/zh/api/config/testing.md +3 -2
  154. package/docs/zh/guide/advance/asset.mdx +0 -5
  155. package/docs/zh/guide/advance/build-umd.mdx +3 -3
  156. package/docs/zh/guide/advance/in-depth-about-build.md +14 -13
  157. package/docs/zh/guide/advance/in-depth-about-dev-command.md +2 -1
  158. package/docs/zh/guide/basic/before-getting-started.md +15 -8
  159. package/docs/zh/guide/basic/command-preview.md +2 -2
  160. package/docs/zh/guide/basic/modify-output-product.md +17 -19
  161. package/docs/zh/guide/basic/test-your-project.mdx +1 -3
  162. package/docs/zh/guide/basic/use-micro-generator.md +5 -1
  163. package/docs/zh/guide/basic/using-storybook.mdx +9 -19
  164. package/docs/zh/guide/intro/getting-started.md +1 -1
  165. package/docs/zh/plugins/guide/getting-started.mdx +2 -2
  166. package/docs/zh/plugins/guide/plugin-object.mdx +5 -5
  167. package/modern.config.ts +11 -5
  168. package/package.json +3 -3
  169. package/LICENSE +0 -144
  170. package/doc_build/html/main/index.html +0 -16
  171. package/doc_build/route.json +0 -10
  172. package/doc_build/static/css/main.css +0 -3370
  173. package/doc_build/static/css/main.css.map +0 -1
  174. package/doc_build/static/css/vendors-node_modules_pnpm_remix-run_router_1_2_0_node_modules_remix-run_router_dist_router_js-9d5e9c.css +0 -85
  175. package/doc_build/static/css/vendors-node_modules_pnpm_remix-run_router_1_2_0_node_modules_remix-run_router_dist_router_js-9d5e9c.css.map +0 -1
  176. package/doc_build/static/js/async/api_.js +0 -56
  177. package/doc_build/static/js/async/api_.js.map +0 -1
  178. package/doc_build/static/js/async/api_config_build-config.js +0 -11309
  179. package/doc_build/static/js/async/api_config_build-config.js.map +0 -1
  180. package/doc_build/static/js/async/api_config_build-preset.js +0 -7849
  181. package/doc_build/static/js/async/api_config_build-preset.js.map +0 -1
  182. package/doc_build/static/js/async/api_config_design-system.js +0 -48708
  183. package/doc_build/static/js/async/api_config_design-system.js.map +0 -1
  184. package/doc_build/static/js/async/api_config_plugins.js +0 -1492
  185. package/doc_build/static/js/async/api_config_plugins.js.map +0 -1
  186. package/doc_build/static/js/async/api_config_testing.js +0 -2130
  187. package/doc_build/static/js/async/api_config_testing.js.map +0 -1
  188. package/doc_build/static/js/async/api_plugin-api_plugin-hooks.js +0 -14394
  189. package/doc_build/static/js/async/api_plugin-api_plugin-hooks.js.map +0 -1
  190. package/doc_build/static/js/async/en_.js +0 -85
  191. package/doc_build/static/js/async/en_.js.map +0 -1
  192. package/doc_build/static/js/async/en_api_.js +0 -55
  193. package/doc_build/static/js/async/en_api_.js.map +0 -1
  194. package/doc_build/static/js/async/en_api_config_build-config.js +0 -8363
  195. package/doc_build/static/js/async/en_api_config_build-config.js.map +0 -1
  196. package/doc_build/static/js/async/en_api_config_build-preset.js +0 -7845
  197. package/doc_build/static/js/async/en_api_config_build-preset.js.map +0 -1
  198. package/doc_build/static/js/async/en_api_config_design-system.js +0 -16345
  199. package/doc_build/static/js/async/en_api_config_design-system.js.map +0 -1
  200. package/doc_build/static/js/async/en_api_config_plugins.js +0 -1492
  201. package/doc_build/static/js/async/en_api_config_plugins.js.map +0 -1
  202. package/doc_build/static/js/async/en_api_config_testing.js +0 -2137
  203. package/doc_build/static/js/async/en_api_config_testing.js.map +0 -1
  204. package/doc_build/static/js/async/en_api_plugin-api_plugin-hooks.js +0 -14362
  205. package/doc_build/static/js/async/en_api_plugin-api_plugin-hooks.js.map +0 -1
  206. package/doc_build/static/js/async/en_guide_advance_asset.js +0 -3997
  207. package/doc_build/static/js/async/en_guide_advance_asset.js.map +0 -1
  208. package/doc_build/static/js/async/en_guide_advance_build-umd.js +0 -9861
  209. package/doc_build/static/js/async/en_guide_advance_build-umd.js.map +0 -1
  210. package/doc_build/static/js/async/en_guide_advance_copy.js +0 -6539
  211. package/doc_build/static/js/async/en_guide_advance_copy.js.map +0 -1
  212. package/doc_build/static/js/async/en_guide_advance_external-dependency.js +0 -3810
  213. package/doc_build/static/js/async/en_guide_advance_external-dependency.js.map +0 -1
  214. package/doc_build/static/js/async/en_guide_advance_in-depth-about-build.js +0 -5046
  215. package/doc_build/static/js/async/en_guide_advance_in-depth-about-build.js.map +0 -1
  216. package/doc_build/static/js/async/en_guide_advance_in-depth-about-dev-command.js +0 -150
  217. package/doc_build/static/js/async/en_guide_advance_in-depth-about-dev-command.js.map +0 -1
  218. package/doc_build/static/js/async/en_guide_advance_theme-config.js +0 -2484
  219. package/doc_build/static/js/async/en_guide_advance_theme-config.js.map +0 -1
  220. package/doc_build/static/js/async/en_guide_basic_before-getting-started.js +0 -3671
  221. package/doc_build/static/js/async/en_guide_basic_before-getting-started.js.map +0 -1
  222. package/doc_build/static/js/async/en_guide_basic_command-preview.js +0 -3961
  223. package/doc_build/static/js/async/en_guide_basic_command-preview.js.map +0 -1
  224. package/doc_build/static/js/async/en_guide_basic_modify-output-product.js +0 -2970
  225. package/doc_build/static/js/async/en_guide_basic_modify-output-product.js.map +0 -1
  226. package/doc_build/static/js/async/en_guide_basic_publish-your-project.js +0 -2182
  227. package/doc_build/static/js/async/en_guide_basic_publish-your-project.js.map +0 -1
  228. package/doc_build/static/js/async/en_guide_basic_test-your-project.js +0 -3892
  229. package/doc_build/static/js/async/en_guide_basic_test-your-project.js.map +0 -1
  230. package/doc_build/static/js/async/en_guide_basic_use-micro-generator.js +0 -168
  231. package/doc_build/static/js/async/en_guide_basic_use-micro-generator.js.map +0 -1
  232. package/doc_build/static/js/async/en_guide_basic_using-storybook.js +0 -4762
  233. package/doc_build/static/js/async/en_guide_basic_using-storybook.js.map +0 -1
  234. package/doc_build/static/js/async/en_guide_best-practices_components.js +0 -21388
  235. package/doc_build/static/js/async/en_guide_best-practices_components.js.map +0 -1
  236. package/doc_build/static/js/async/en_guide_intro_getting-started.js +0 -1906
  237. package/doc_build/static/js/async/en_guide_intro_getting-started.js.map +0 -1
  238. package/doc_build/static/js/async/en_guide_intro_welcome.js +0 -148
  239. package/doc_build/static/js/async/en_guide_intro_welcome.js.map +0 -1
  240. package/doc_build/static/js/async/en_guide_intro_why-module-engineering-solution.js +0 -92
  241. package/doc_build/static/js/async/en_guide_intro_why-module-engineering-solution.js.map +0 -1
  242. package/doc_build/static/js/async/en_plugins_guide_getting-started.js +0 -2560
  243. package/doc_build/static/js/async/en_plugins_guide_getting-started.js.map +0 -1
  244. package/doc_build/static/js/async/en_plugins_guide_plugin-object.js +0 -4177
  245. package/doc_build/static/js/async/en_plugins_guide_plugin-object.js.map +0 -1
  246. package/doc_build/static/js/async/en_plugins_guide_setup-function.js +0 -3819
  247. package/doc_build/static/js/async/en_plugins_guide_setup-function.js.map +0 -1
  248. package/doc_build/static/js/async/en_plugins_official-list_overview.js +0 -70
  249. package/doc_build/static/js/async/en_plugins_official-list_overview.js.map +0 -1
  250. package/doc_build/static/js/async/guide_advance_asset.js +0 -3997
  251. package/doc_build/static/js/async/guide_advance_asset.js.map +0 -1
  252. package/doc_build/static/js/async/guide_advance_build-umd.js +0 -9863
  253. package/doc_build/static/js/async/guide_advance_build-umd.js.map +0 -1
  254. package/doc_build/static/js/async/guide_advance_copy.js +0 -6539
  255. package/doc_build/static/js/async/guide_advance_copy.js.map +0 -1
  256. package/doc_build/static/js/async/guide_advance_external-dependency.js +0 -3812
  257. package/doc_build/static/js/async/guide_advance_external-dependency.js.map +0 -1
  258. package/doc_build/static/js/async/guide_advance_in-depth-about-build.js +0 -5046
  259. package/doc_build/static/js/async/guide_advance_in-depth-about-build.js.map +0 -1
  260. package/doc_build/static/js/async/guide_advance_in-depth-about-dev-command.js +0 -152
  261. package/doc_build/static/js/async/guide_advance_in-depth-about-dev-command.js.map +0 -1
  262. package/doc_build/static/js/async/guide_advance_theme-config.js +0 -2475
  263. package/doc_build/static/js/async/guide_advance_theme-config.js.map +0 -1
  264. package/doc_build/static/js/async/guide_basic_before-getting-started.js +0 -3662
  265. package/doc_build/static/js/async/guide_basic_before-getting-started.js.map +0 -1
  266. package/doc_build/static/js/async/guide_basic_command-preview.js +0 -3793
  267. package/doc_build/static/js/async/guide_basic_command-preview.js.map +0 -1
  268. package/doc_build/static/js/async/guide_basic_modify-output-product.js +0 -2949
  269. package/doc_build/static/js/async/guide_basic_modify-output-product.js.map +0 -1
  270. package/doc_build/static/js/async/guide_basic_publish-your-project.js +0 -2243
  271. package/doc_build/static/js/async/guide_basic_publish-your-project.js.map +0 -1
  272. package/doc_build/static/js/async/guide_basic_test-your-project.js +0 -3892
  273. package/doc_build/static/js/async/guide_basic_test-your-project.js.map +0 -1
  274. package/doc_build/static/js/async/guide_basic_use-micro-generator.js +0 -172
  275. package/doc_build/static/js/async/guide_basic_use-micro-generator.js.map +0 -1
  276. package/doc_build/static/js/async/guide_basic_using-storybook.js +0 -4762
  277. package/doc_build/static/js/async/guide_basic_using-storybook.js.map +0 -1
  278. package/doc_build/static/js/async/guide_best-practices_components.js +0 -21088
  279. package/doc_build/static/js/async/guide_best-practices_components.js.map +0 -1
  280. package/doc_build/static/js/async/guide_intro_getting-started.js +0 -1782
  281. package/doc_build/static/js/async/guide_intro_getting-started.js.map +0 -1
  282. package/doc_build/static/js/async/guide_intro_welcome.js +0 -148
  283. package/doc_build/static/js/async/guide_intro_welcome.js.map +0 -1
  284. package/doc_build/static/js/async/guide_intro_why-module-engineering-solution.js +0 -92
  285. package/doc_build/static/js/async/guide_intro_why-module-engineering-solution.js.map +0 -1
  286. package/doc_build/static/js/async/index.js +0 -85
  287. package/doc_build/static/js/async/index.js.map +0 -1
  288. package/doc_build/static/js/async/packages_cli_doc-core_src_theme-default_components_Search_logic_search_ts.js +0 -447
  289. package/doc_build/static/js/async/packages_cli_doc-core_src_theme-default_components_Search_logic_search_ts.js.map +0 -1
  290. package/doc_build/static/js/async/plugins_guide_getting-started.js +0 -2608
  291. package/doc_build/static/js/async/plugins_guide_getting-started.js.map +0 -1
  292. package/doc_build/static/js/async/plugins_guide_plugin-object.js +0 -4173
  293. package/doc_build/static/js/async/plugins_guide_plugin-object.js.map +0 -1
  294. package/doc_build/static/js/async/plugins_guide_setup-function.js +0 -3819
  295. package/doc_build/static/js/async/plugins_guide_setup-function.js.map +0 -1
  296. package/doc_build/static/js/async/plugins_official-list_overview.js +0 -70
  297. package/doc_build/static/js/async/plugins_official-list_overview.js.map +0 -1
  298. package/doc_build/static/js/async/vendors-node_modules_pnpm_code-hike_mdx_0_7_4_react_18_2_0_node_modules_code-hike_mdx_dist_co-06dd41.js +0 -6656
  299. package/doc_build/static/js/async/vendors-node_modules_pnpm_code-hike_mdx_0_7_4_react_18_2_0_node_modules_code-hike_mdx_dist_co-06dd41.js.map +0 -1
  300. package/doc_build/static/js/async/vendors-node_modules_pnpm_flexsearch_0_6_32_node_modules_flexsearch_dist_flexsearch_min_js.js +0 -54
  301. package/doc_build/static/js/async/vendors-node_modules_pnpm_flexsearch_0_6_32_node_modules_flexsearch_dist_flexsearch_min_js.js.map +0 -1
  302. package/doc_build/static/js/builder-runtime.js +0 -1375
  303. package/doc_build/static/js/builder-runtime.js.map +0 -1
  304. package/doc_build/static/js/lib-lodash.js +0 -4907
  305. package/doc_build/static/js/lib-lodash.js.map +0 -1
  306. package/doc_build/static/js/lib-polyfill.js +0 -24769
  307. package/doc_build/static/js/lib-polyfill.js.map +0 -1
  308. package/doc_build/static/js/lib-react.js +0 -39510
  309. package/doc_build/static/js/lib-react.js.map +0 -1
  310. package/doc_build/static/js/main.js +0 -9237
  311. package/doc_build/static/js/main.js.map +0 -1
  312. package/doc_build/static/js/vendors-node_modules_pnpm_remix-run_router_1_2_0_node_modules_remix-run_router_dist_router_js-9d5e9c.js +0 -8532
  313. package/doc_build/static/js/vendors-node_modules_pnpm_remix-run_router_1_2_0_node_modules_remix-run_router_dist_router_js-9d5e9c.js.map +0 -1
@@ -0,0 +1,7 @@
1
+ <!doctype html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="https://lf3-static.bytednsdoc.com/obj/eden-cn/zq-uylkvT/ljhwZthlaukjlkulzlp/logo-1x-0104.png" /><title data-rh="true">Plugins - Module Tools</title><meta data-rh="true" name="description" content="模块工程解决方案"/><script>!function(){"use strict";var e,n,i,t,o,r={},u={};function _(e){var n=u[e];if(void 0!==n)return n.exports;var i=u[e]={exports:{}};return r[e].call(i.exports,i,i.exports,_),i.exports}_.m=r,e=[],_.O=function(n,i,t,o){if(!i){var r=1/0;for(a=0;a<e.length;a++){i=e[a][0],t=e[a][1],o=e[a][2];for(var u=!0,d=0;d<i.length;d++)(!1&o||r>=o)&&Object.keys(_.O).every((function(e){return _.O[e](i[d])}))?i.splice(d--,1):(u=!1,o<r&&(r=o));if(u){e.splice(a--,1);var c=t();void 0!==c&&(n=c)}}return n}o=o||0;for(var a=e.length;a>0&&e[a-1][2]>o;a--)e[a]=e[a-1];e[a]=[i,t,o]},_.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return _.d(n,{a:n}),n},i=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},_.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if("object"==typeof e&&e){if(4&t&&e.__esModule)return e;if(16&t&&"function"==typeof e.then)return e}var o=Object.create(null);_.r(o);var r={};n=n||[null,i({}),i([]),i(i)];for(var u=2&t&&e;"object"==typeof u&&!~n.indexOf(u);u=i(u))Object.getOwnPropertyNames(u).forEach((function(n){r[n]=function(){return e[n]}}));return r.default=function(){return e},_.d(o,r),o},_.d=function(e,n){for(var i in n)_.o(n,i)&&!_.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:n[i]})},_.f={},_.e=function(e){return Promise.all(Object.keys(_.f).reduce((function(n,i){return _.f[i](e,n),n}),[]))},_.u=function(e){return"static/js/async/"+({229:"en_guide_intro_getting-started",237:"zh_api_config_build-config",315:"en_index",421:"zh_api_config_testing",727:"zh_guide_advance_in-depth-about-build",775:"zh_guide_basic_before-getting-started",1085:"en_api_index",1108:"zh_guide_intro_why-module-engineering-solution",1178:"zh_api_plugin-api_plugin-hooks",1180:"zh_guide_advance_theme-config",1189:"zh_api_index",1677:"en_api_plugin-api_plugin-hooks",1756:"zh_guide_basic_command-preview",1895:"zh_index",2013:"zh_guide_best-practices_components",2020:"zh_guide_basic_publish-your-project",2033:"en_guide_intro_welcome",2034:"zh_guide_intro_welcome",2097:"en_api_config_plugins",2532:"en_guide_basic_use-micro-generator",2540:"zh_guide_advance_in-depth-about-dev-command",2556:"en_api_config_testing",2611:"zh_guide_advance_copy",2633:"zh_guide_intro_getting-started",2678:"en_guide_basic_before-getting-started",2821:"zh_guide_basic_modify-output-product",2892:"zh_plugins_guide_setup-function",3032:"en_guide_basic_publish-your-project",3741:"en_guide_basic_test-your-project",3806:"zh_api_config_plugins",4260:"en_guide_advance_external-dependency",4390:"zh_plugins_official-list_overview",4663:"en_guide_advance_build-umd",4695:"zh_api_config_design-system",4749:"en_plugins_guide_setup-function",4837:"zh_guide_advance_build-umd",5057:"en_guide_advance_copy",5107:"zh_guide_basic_using-storybook",5284:"zh_plugins_guide_plugin-object",5300:"en_plugins_guide_plugin-object",5532:"zh_guide_advance_external-dependency",5578:"en_guide_basic_modify-output-product",5654:"en_api_config_build-config",5723:"zh_guide_advance_asset",5966:"zh_guide_basic_test-your-project",6098:"en_guide_advance_theme-config",7241:"zh_api_config_build-preset",7294:"zh_guide_basic_use-micro-generator",7401:"en_guide_best-practices_components",7512:"en_guide_intro_why-module-engineering-solution",7571:"en_guide_basic_command-preview",8230:"en_guide_advance_asset",8687:"en_plugins_guide_getting-started",8782:"en_api_config_build-preset",8927:"en_guide_advance_in-depth-about-build",9220:"en_api_config_design-system",9479:"en_plugins_official-list_overview",9675:"en_guide_basic_using-storybook",9826:"en_guide_advance_in-depth-about-dev-command",9868:"zh_plugins_guide_getting-started"}[e]||e)+"."+{229:"f8682be3",237:"048fd5ec",315:"7bd869c4",421:"a9888eed",727:"64e795f3",775:"6b06b54a",1085:"669f0a56",1108:"6f8b5ff6",1178:"a4d81bf6",1180:"b9570109",1189:"22957707",1677:"60d0260c",1756:"1199124a",1895:"c19f9dcf",2013:"7454d916",2020:"bf11b1c4",2033:"9cc45924",2034:"71c3fe16",2097:"fc95fb77",2532:"56325139",2540:"168ce7dd",2556:"8bc7f316",2611:"21a1aea4",2633:"a4c00d9a",2678:"a22fc49a",2821:"8ccbc8d1",2892:"67d07b91",3032:"08c5112f",3741:"f5f6b204",3799:"e31e8293",3806:"c22dc4be",4260:"a52d3247",4390:"a7635714",4663:"c254ed46",4695:"1eecd474",4749:"80a2bd97",4837:"b6d541ff",5057:"45c0a51d",5107:"27829e44",5284:"963289d5",5300:"bf6c6221",5532:"c7cf5d4b",5578:"ad453d13",5654:"367a5701",5723:"5b936003",5966:"ae52c47a",6098:"db0ad9fc",7241:"7c13584d",7294:"a091d57d",7401:"45155af9",7512:"7f2dae5c",7571:"1707ed29",8230:"5ff1d623",8652:"6fbf1cb7",8687:"b850249c",8782:"0d78b268",8927:"51bf3569",9220:"b28d6723",9479:"84e5cea0",9675:"9d721554",9826:"aec0b4e1",9868:"099dfaea"}[e]+".js"},_.miniCssF=function(e){},_.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),_.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t={},o="@modern-js/module-tools-docs:",_.l=function(e,n,i,r){if(t[e])t[e].push(n);else{var u,d;if(void 0!==i)for(var c=document.getElementsByTagName("script"),a=0;a<c.length;a++){var f=c[a];if(f.getAttribute("src")==e||f.getAttribute("data-webpack")==o+i){u=f;break}}u||(d=!0,(u=document.createElement("script")).charset="utf-8",u.timeout=120,_.nc&&u.setAttribute("nonce",_.nc),u.setAttribute("data-webpack",o+i),u.src=e),t[e]=[n];var s=function(n,i){u.onerror=u.onload=null,clearTimeout(g);var o=t[e];if(delete t[e],u.parentNode&&u.parentNode.removeChild(u),o&&o.forEach((function(e){return e(i)})),n)return n(i)},g=setTimeout(s.bind(null,void 0,{type:"timeout",target:u}),12e4);u.onerror=s.bind(null,u.onerror),u.onload=s.bind(null,u.onload),d&&document.head.appendChild(u)}},_.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},_.p="/",function(){var e={6272:0};_.f.j=function(n,i){var t=_.o(e,n)?e[n]:void 0;if(0!==t)if(t)i.push(t[2]);else if(6272!=n){var o=new Promise((function(i,o){t=e[n]=[i,o]}));i.push(t[2]=o);var r=_.p+_.u(n),u=new Error;_.l(r,(function(i){if(_.o(e,n)&&(0!==(t=e[n])&&(e[n]=void 0),t)){var o=i&&("load"===i.type?"missing":i.type),r=i&&i.target&&i.target.src;u.message="Loading chunk "+n+" failed.\n("+o+": "+r+")",u.name="ChunkLoadError",u.type=o,u.request=r,t[1](u)}}),"chunk-"+n,n)}else e[n]=0},_.O.j=function(n){return 0===e[n]};var n=function(n,i){var t,o,r=i[0],u=i[1],d=i[2],c=0;if(r.some((function(n){return 0!==e[n]}))){for(t in u)_.o(u,t)&&(_.m[t]=u[t]);if(d)var a=d(_)}for(n&&n(i);c<r.length;c++)o=r[c],_.o(e,o)&&e[o]&&e[o][0](),e[o]=0;return _.O(a)},i=self.webpackChunk_modern_js_module_tools_docs=self.webpackChunk_modern_js_module_tools_docs||[];i.forEach(n.bind(null,0)),i.push=n.bind(null,i.push.bind(i))}()}();</script><script defer="defer" src="/static/js/lib-polyfill.b3038509.js"></script><script defer="defer" src="/static/js/lib-lodash.c5845536.js"></script><script defer="defer" src="/static/js/lib-react.d41ace5e.js"></script><script defer="defer" src="/static/js/1607.70af642a.js"></script><script defer="defer" src="/static/js/main.2d3257a4.js"></script><link href="/static/css/main.edaad072.css" rel="stylesheet"></head><body><div id="root"><div style="height:100%"><header class="top-0 left-0 relative md:fixed w-full" style="border-bottom:1px solid var(--modern-c-divider-light);z-index:var(--modern-z-index-nav)"><div class="J5RhI modern-doc-nav" p="x-6"><div flex="~" justify="between" align="items-center" h="full" class="Be7Bu"><div class="undefined"><a href="/module-tools/" w="full" h="full" text="1rem" font="semibold" transition="opacity duration-300" hover="opacity-60" class="flex items-center"><span>Module Tools</span></a></div><div flex="~ 1" justify="end" align-items-center="~"><div class="fxz4T"><div class="search" flex="sm:1" p="sm:l-8"><div flex="~" align="items-center" pos="relative" m="r-2" font="semibold"><svg width="32" height="32" viewBox="0 0 32 32" w="5" h="5" fill="currentColor"><path fill="#888888" d="m29 27.586l-7.552-7.552a11.018 11.018 0 1 0-1.414 1.414L27.586 29ZM4 13a9 9 0 1 1 9 9a9.01 9.01 0 0 1-9-9Z"></path></svg><input disabled="" cursor="text focus:auto" placeholder="Search" height="8" border="none" type="text" text="sm" p="t-0 r-2 b-0 l-2" transition="all duration-200 ease" class="rounded-sm SjSZ2 " aria-label="Search" autoComplete="off"/><div m="r-3" w="10" h="6" p="x-1.5" border="1px solid gray-light-3 rounded-md" text="xs gray-light-3" flex="~" align="items-center" justify="around" class="iUJv9"><span>⌘</span><span>K</span></div></div></div><div class="menu" h="14"><div text="sm" font="medium" m="x-3" class=""><a class="R5q4o " target="" cursor="pointer" href="/module-tools/guide/intro/welcome.html">指南</a></div><div text="sm" font="medium" m="x-3" class="text-brand"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/index.html">API</a></div><div text="sm" font="medium" m="x-3" class=""><a class="R5q4o " target="" cursor="pointer" href="/module-tools/plugins/guide/getting-started.html">插件</a></div><div m="x-3" last="mr-0"><div h="14" class="relative" flex="~ center"><button flex="~ center" align="items-center" font="medium" text="sm text-1 hover:text-2" transition="color duration-200" class="nav-menu-group-button"><span m="r-1" text="sm" font="medium">v2.2.0</span><svg width="1em" height="1em" viewBox="0 0 32 32"><path fill="currentColor" d="M16 22L6 12l1.4-1.4l8.6 8.6l8.6-8.6L26 12z"></path></svg></button><div pos="top-13 right-0" m="x-0.8" transition="opacity duration-300" class="nav-menu-group-content absolute" style="opacity:0;visibility:hidden"><div p="3" w="full" h="full" class="min-w-128px max-h-100vh rounded-xl whitespace-nowrap" bg="white" style="box-shadow:var(--modern-shadow-3);margin-right:-1.5rem;z-index:100;border:1px solid var(--modern-c-divider-light)"><div font="medium"><a href="https://github.com/modern-js-dev/modern.js/tree/main/packages/solutions/module-tools/CHANGELOG.md" target="_blank" rel="noopener noreferrer" class="R5q4o "><div class="rounded-md" hover="bg-mute" p="y-1.6 l-3 r-6"><div flex="~"><span m="r-1">更新日志<svg width="32" height="32" viewBox="0 0 32 32" w="11px" h="11px" text="text-3" m="t-1 r-1 l-1" class="inline-block align-text-top"><path fill="currentColor" d="M10 6v2h12.59L6 24.59L7.41 26L24 9.41V22h2V6H10z"></path></svg></span></div></div></a></div><div font="medium"><a href="https://github.com/modern-js-dev/modern.js/tree/main/packages/solutions/module-tools/CHANGELOG.md" target="_blank" rel="noopener noreferrer" class="R5q4o "><div class="rounded-md" hover="bg-mute" p="y-1.6 l-3 r-6"><div flex="~"><span m="r-1">贡献指南<svg width="32" height="32" viewBox="0 0 32 32" w="11px" h="11px" text="text-3" m="t-1 r-1 l-1" class="inline-block align-text-top"><path fill="currentColor" d="M10 6v2h12.59L6 24.59L7.41 26L24 9.41V22h2V6H10z"></path></svg></span></div></div></a></div></div></div></div></div></div><div flex="~" text="sm" font="bold" align="items-center" class="translation WjR05"><div m="x-1.5"><div h="14" class="relative" flex="~ center"><button flex="~ center" align="items-center" font="medium" text="sm text-1 hover:text-2" transition="color duration-200" class="nav-menu-group-button"><span m="r-1" text="sm" font="medium"><svg width="32" height="32" viewBox="0 0 32 32" w="18px" h="18px"><path fill="currentColor" d="M27.85 29H30l-6-15h-2.35l-6 15h2.15l1.6-4h6.85zm-7.65-6l2.62-6.56L25.45 23zM18 7V5h-7V2H9v3H2v2h10.74a14.71 14.71 0 0 1-3.19 6.18A13.5 13.5 0 0 1 7.26 9h-2.1a16.47 16.47 0 0 0 3 5.58A16.84 16.84 0 0 1 3 18l.75 1.86A18.47 18.47 0 0 0 9.53 16a16.92 16.92 0 0 0 5.76 3.84L16 18a14.48 14.48 0 0 1-5.12-3.37A17.64 17.64 0 0 0 14.8 7z"></path></svg></span><svg width="1em" height="1em" viewBox="0 0 32 32"><path fill="currentColor" d="M16 22L6 12l1.4-1.4l8.6 8.6l8.6-8.6L26 12z"></path></svg></button><div pos="top-13 right-0" m="x-0.8" transition="opacity duration-300" class="nav-menu-group-content absolute" style="opacity:0;visibility:hidden"><div p="3" w="full" h="full" class="min-w-128px max-h-100vh rounded-xl whitespace-nowrap" bg="white" style="box-shadow:var(--modern-shadow-3);margin-right:-1.5rem;z-index:100;border:1px solid var(--modern-c-divider-light)"><div class="rounded-md" p="y-1.6 l-3"><span m="r-1" text="brand">简体中文</span></div><div font="medium"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/en/api/config/plugins"><div class="rounded-md" hover="bg-mute" p="y-1.6 l-3 r-6"><div flex="~"><span m="r-1">English<svg width="32" height="32" viewBox="0 0 32 32" w="11px" h="11px" text="text-3" m="t-1 r-1 l-1" class="inline-block align-text-top"><path fill="currentColor" d="M10 6v2h12.59L6 24.59L7.41 26L24 9.41V22h2V6H10z"></path></svg></span></div></div></a></div></div></div></div></div></div><div class="WjR05 modern-doc-appearance" display="none sm:flex" align-items-center="center"><button class="DdK0_ undefined" id="" type="button" role="switch"><span class="WLpap"><span class="Q_Ula"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewBox="0 0 24 24" class="JMkpU"><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z"></path><path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path><path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z"></path><path d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z"></path><path d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewBox="0 0 24 24" class="tgdgB"><path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"></path></svg></span></span></button></div><div class="social-links FU7nx" nav-h="mobile sm:desktop" flex="~" align-items-center="~" pos="relative"><div h="full" flex="~" gap="x-4" align-items-center="~" transition="color duration-300"><a href="https://github.com/modern-js-dev/modern.js/tree/main/packages/solutions/module-tools" target="_blank" rel="noopener noreferrer"><div class="_8YjQ"><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path></svg></div></a></div></div></div><button class=" wzxr1"><span class="kECx4"><span class="wzOB6"></span><span class="coO8e"></span><span class="RrwJk"></span></span></button><div class="NeczB " id="navScreen"><div class="WLObZ"><div class="_3YuLy"><div w="full" class="osgV9"><div text="sm" font="medium" m="x-3" class=""><a class="R5q4o " target="" cursor="pointer" href="/module-tools/guide/intro/welcome.html">指南</a></div></div><div w="full" class="osgV9"><div text="sm" font="medium" m="x-3" class="text-brand"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/index.html">API</a></div></div><div w="full" class="osgV9"><div text="sm" font="medium" m="x-3" class=""><a class="R5q4o " target="" cursor="pointer" href="/module-tools/plugins/guide/getting-started.html">插件</a></div></div><div w="full" class="osgV9"><div m="x-3" last="mr-0"><div pos="relative" class=" Tk5bz"><button class="X7ejb"><span class="IOfpr">v2.2.0</span><svg width="1em" height="1em" viewBox="0 0 32 32" class=" uavm2 "><path fill="currentColor" d="M16 22L6 12l1.4-1.4l8.6 8.6l8.6-8.6L26 12z"></path></svg></button><div><div class="ciUdc"><div class="pa-1" font="medium"><a href="https://github.com/modern-js-dev/modern.js/tree/main/packages/solutions/module-tools/CHANGELOG.md" target="_blank" rel="noopener noreferrer" class="R5q4o "><div><div flex="~"><span m="r-1">更新日志</span><svg width="32" height="32" viewBox="0 0 32 32" w="11px" h="11px" text="text-3" m="t-1 r-1"><path fill="currentColor" d="M10 6v2h12.59L6 24.59L7.41 26L24 9.41V22h2V6H10z"></path></svg></div></div></a></div><div class="pa-1" font="medium"><a href="https://github.com/modern-js-dev/modern.js/tree/main/packages/solutions/module-tools/CHANGELOG.md" target="_blank" rel="noopener noreferrer" class="R5q4o "><div><div flex="~"><span m="r-1">贡献指南</span><svg width="32" height="32" viewBox="0 0 32 32" w="11px" h="11px" text="text-3" m="t-1 r-1"><path fill="currentColor" d="M10 6v2h12.59L6 24.59L7.41 26L24 9.41V22h2V6H10z"></path></svg></div></div></a></div></div></div></div></div></div></div><div class="rp9pY" flex="~" justify="center" align-items-center="center"><div class="align-items-center appearance pa-2 ctzdQ" flex="~" justify="center"><button class="DdK0_ undefined" id="" type="button" role="switch"><span class="WLpap"><span class="Q_Ula"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewBox="0 0 24 24" class="JMkpU"><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z"></path><path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path><path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z"></path><path d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z"></path><path d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewBox="0 0 24 24" class="tgdgB"><path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"></path></svg></span></span></button></div></div><div flex="~" text="sm" font="bold" justify="center"><div m="x-1.5"><div pos="relative" class=" Tk5bz"><button class="X7ejb"><span class="IOfpr"><svg width="32" height="32" viewBox="0 0 32 32" w="18px" h="18px"><path fill="currentColor" d="M27.85 29H30l-6-15h-2.35l-6 15h2.15l1.6-4h6.85zm-7.65-6l2.62-6.56L25.45 23zM18 7V5h-7V2H9v3H2v2h10.74a14.71 14.71 0 0 1-3.19 6.18A13.5 13.5 0 0 1 7.26 9h-2.1a16.47 16.47 0 0 0 3 5.58A16.84 16.84 0 0 1 3 18l.75 1.86A18.47 18.47 0 0 0 9.53 16a16.92 16.92 0 0 0 5.76 3.84L16 18a14.48 14.48 0 0 1-5.12-3.37A17.64 17.64 0 0 0 14.8 7z"></path></svg></span><svg width="1em" height="1em" viewBox="0 0 32 32" class=" uavm2 "><path fill="currentColor" d="M16 22L6 12l1.4-1.4l8.6 8.6l8.6-8.6L26 12z"></path></svg></button><div><div class="ciUdc"><div class="pa-1"><span m="r-1" text="brand">简体中文</span></div><div class="pa-1" font="medium"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/en"><div><div flex="~"><span m="r-1">English</span><svg width="32" height="32" viewBox="0 0 32 32" w="11px" h="11px" text="text-3" m="t-1 r-1"><path fill="currentColor" d="M10 6v2h12.59L6 24.59L7.41 26L24 9.41V22h2V6H10z"></path></svg></div></div></a></div></div></div></div></div></div><div class="social-links FU7nx" nav-h="mobile sm:desktop" flex="~" align-items-center="~" pos="relative"><div h="full" flex="~" gap="x-4" align-items-center="~" transition="color duration-300"><a href="https://github.com/modern-js-dev/modern.js/tree/main/packages/solutions/module-tools" target="_blank" rel="noopener noreferrer"><div class="_8YjQ"><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path></svg></div></a></div></div></div></div></div></div></div></header><section><div p="t-0" m="md:t-14" class="Q34AI"><div class="_aGGP"><button flex="~ center" class="wNUbj"><div text="md" m="r-2"><svg width="1em" height="1em" viewBox="0 0 32 32"><path fill="currentColor" d="M4 6h24v2H4zm0 18h24v2H4zm0-12h24v2H4zm0 6h24v2H4z"></path></svg></div><span text="sm">Menu</span></button></div><aside class="UroNu "><nav m="t-1"><a class="R5q4o EZlU3" target="" cursor="pointer" href="/module-tools/api/index.html"><div m="t-1" p="y-1 x-2" block="~" border="rounded-sm" font-medium="~" class="r3Oz1" style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis">概览</div></a><section block="~" class="mt-1"><div flex="~" justify="between" items-start="~" cursor="pointer" class="items-center r3Oz1"><h2 p="y-1 x-2" text="sm" font="semibold">配置项</h2><div p="2" class="BgJSm"><div cursor-pointer="~" style="transition:transform 0.2s ease-out;transform:rotate(90deg)"><svg width="1em" height="1em" viewBox="0 0 32 32"><path fill="currentColor" d="M22 16L12 26l-1.4-1.4l8.6-8.6l-8.6-8.6L12 6z"></path></svg></div></div></div><div style="transition:height 0.2s ease-in-out;overflow:hidden;height:160px"><div m="last:b-0.5 l-4"><a class="R5q4o EZlU3" target="" cursor="pointer" href="/module-tools/api/config/build-config.html"><div m="t-1" p="y-1 x-2" block="~" border="rounded-sm" font-medium="~" class="r3Oz1" style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis">BuildConfig</div></a></div><div m="last:b-0.5 l-4"><a class="R5q4o EZlU3" target="" cursor="pointer" href="/module-tools/api/config/build-preset.html"><div m="t-1" p="y-1 x-2" block="~" border="rounded-sm" font-medium="~" class="r3Oz1" style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis">BuildPreset</div></a></div><div m="last:b-0.5 l-4"><a class="R5q4o EZlU3" target="" cursor="pointer" href="/module-tools/api/config/design-system.html"><div m="t-1" p="y-1 x-2" block="~" border="rounded-sm" font-medium="~" class="r3Oz1" style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis">DesignSystem</div></a></div><div m="last:b-0.5 l-4"><a class="R5q4o EZlU3" target="" cursor="pointer" href="/module-tools/api/config/plugins.html"><div m="t-1" p="y-1 x-2" block="~" border="rounded-sm" font-medium="~" class="RCb_U" style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis">Plugins</div></a></div><div m="last:b-0.5 l-4"><a class="R5q4o EZlU3" target="" cursor="pointer" href="/module-tools/api/config/testing.html"><div m="t-1" p="y-1 x-2" block="~" border="rounded-sm" font-medium="~" class="r3Oz1" style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis">Testing</div></a></div></div></section><section block="~" class="mt-1"><div flex="~" justify="between" items-start="~" cursor="pointer" class="items-center r3Oz1"><h2 p="y-1 x-2" text="sm" font="semibold">Plugin API</h2><div p="2" class="BgJSm"><div cursor-pointer="~" style="transition:transform 0.2s ease-out;transform:rotate(90deg)"><svg width="1em" height="1em" viewBox="0 0 32 32"><path fill="currentColor" d="M22 16L12 26l-1.4-1.4l8.6-8.6l-8.6-8.6L12 6z"></path></svg></div></div></div><div style="transition:height 0.2s ease-in-out;overflow:hidden;height:32px"><div m="last:b-0.5 l-4"><a class="R5q4o EZlU3" target="" cursor="pointer" href="/module-tools/api/plugin-api/plugin-hooks.html"><div m="t-1" p="y-1 x-2" block="~" border="rounded-sm" font-medium="~" class="r3Oz1" style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis">Plugin Hooks</div></a></div></div></section></nav></aside><div flex="~ shrink-0" class="TP8A7"><div w="full"><div class="modern-doc"><!--$--><h1 id="plugins"><a class="header-anchor" aria-hidden="true" href="#plugins">#</a>Plugins</h1>
2
+ <p>本章介绍注册 module-tools 插件的配置。</p>
3
+ <ul>
4
+ <li>type:<code>Array&lt;ModuleToolsPlugin&gt;</code></li>
5
+ </ul>
6
+ <div class="ch-codegroup not-prose "><div class="ch-editor-frame" style="background:#2e3440"><div class="ch-frame-title-bar" style="color:#C5C5C5;background:#2e3440"><div class="ch-frame-buttons"><div class="ch-frame-button ch-frame-button-left"></div><div class="ch-frame-button-space"></div><div class="ch-frame-button ch-frame-button-middle"></div><div class="ch-frame-button-space"></div><div class="ch-frame-button ch-frame-button-right"></div></div><div title="modern.config.ts" data-ch-tab="north" class="ch-editor-tab ch-editor-tab-active" style="background:#3b4252;color:#d8dee9;border-right-color:#3b425200;border-bottom-color:#88c0d000"><div><span style="opacity:0.5"></span>modern.config.ts</div></div><div style="flex:1;min-width:0.8em"></div><svg fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="ch-editor-button"><title>Copy</title><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6px" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"></path></svg></div><div data-ch-panel="north" style="flex-grow:1;overflow:hidden"><div class="ch-code-wrapper" style="margin:0;padding:0;position:relative;white-space:pre;box-sizing:content-box;opacity:0;overflow:auto;height:100%"><code class="ch-code-scroll-parent"><br/><div><div style="display:inline-block;margin-left:16px"><span>import { examplePlugin } from &#x27;./plugins/example&#x27;;</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>export default defineConfig({</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> plugins: [examplePlugin()],</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>});</span></div></div><br/></code></div></div></div></div>
7
+ <p>关于如何编写插件,可以查看<a href="/module-tools/plugins/guide/getting-started.html">【插件编写指南】</a>。</p><!--/$--><div><footer m="t-8"><div flex="~ col sm:row" justify="sm:around" gap="2" p="t-6"><div flex="~ col" class="ajVjQ"><a class="R5q4o pAnzs" target="" cursor="pointer" href="/module-tools/api/config/design-system.html"><span class="rVEMI">上一页</span><span class="jr5Zr">DesignSystem</span></a></div><div flex="~ col" class="A2aco"><a class="R5q4o pAnzs A2aco" target="" cursor="pointer" href="/module-tools/api/config/testing.html"><span class="rVEMI">下一页</span><span class="jr5Zr">Testing</span></a></div></div></footer></div></div></div></div></div></section></div></div></body></html>
@@ -0,0 +1,21 @@
1
+ <!doctype html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="https://lf3-static.bytednsdoc.com/obj/eden-cn/zq-uylkvT/ljhwZthlaukjlkulzlp/logo-1x-0104.png" /><title data-rh="true">Testing - Module Tools</title><meta data-rh="true" name="description" content="模块工程解决方案"/><script>!function(){"use strict";var e,n,i,t,o,r={},u={};function _(e){var n=u[e];if(void 0!==n)return n.exports;var i=u[e]={exports:{}};return r[e].call(i.exports,i,i.exports,_),i.exports}_.m=r,e=[],_.O=function(n,i,t,o){if(!i){var r=1/0;for(a=0;a<e.length;a++){i=e[a][0],t=e[a][1],o=e[a][2];for(var u=!0,d=0;d<i.length;d++)(!1&o||r>=o)&&Object.keys(_.O).every((function(e){return _.O[e](i[d])}))?i.splice(d--,1):(u=!1,o<r&&(r=o));if(u){e.splice(a--,1);var c=t();void 0!==c&&(n=c)}}return n}o=o||0;for(var a=e.length;a>0&&e[a-1][2]>o;a--)e[a]=e[a-1];e[a]=[i,t,o]},_.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return _.d(n,{a:n}),n},i=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},_.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if("object"==typeof e&&e){if(4&t&&e.__esModule)return e;if(16&t&&"function"==typeof e.then)return e}var o=Object.create(null);_.r(o);var r={};n=n||[null,i({}),i([]),i(i)];for(var u=2&t&&e;"object"==typeof u&&!~n.indexOf(u);u=i(u))Object.getOwnPropertyNames(u).forEach((function(n){r[n]=function(){return e[n]}}));return r.default=function(){return e},_.d(o,r),o},_.d=function(e,n){for(var i in n)_.o(n,i)&&!_.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:n[i]})},_.f={},_.e=function(e){return Promise.all(Object.keys(_.f).reduce((function(n,i){return _.f[i](e,n),n}),[]))},_.u=function(e){return"static/js/async/"+({229:"en_guide_intro_getting-started",237:"zh_api_config_build-config",315:"en_index",421:"zh_api_config_testing",727:"zh_guide_advance_in-depth-about-build",775:"zh_guide_basic_before-getting-started",1085:"en_api_index",1108:"zh_guide_intro_why-module-engineering-solution",1178:"zh_api_plugin-api_plugin-hooks",1180:"zh_guide_advance_theme-config",1189:"zh_api_index",1677:"en_api_plugin-api_plugin-hooks",1756:"zh_guide_basic_command-preview",1895:"zh_index",2013:"zh_guide_best-practices_components",2020:"zh_guide_basic_publish-your-project",2033:"en_guide_intro_welcome",2034:"zh_guide_intro_welcome",2097:"en_api_config_plugins",2532:"en_guide_basic_use-micro-generator",2540:"zh_guide_advance_in-depth-about-dev-command",2556:"en_api_config_testing",2611:"zh_guide_advance_copy",2633:"zh_guide_intro_getting-started",2678:"en_guide_basic_before-getting-started",2821:"zh_guide_basic_modify-output-product",2892:"zh_plugins_guide_setup-function",3032:"en_guide_basic_publish-your-project",3741:"en_guide_basic_test-your-project",3806:"zh_api_config_plugins",4260:"en_guide_advance_external-dependency",4390:"zh_plugins_official-list_overview",4663:"en_guide_advance_build-umd",4695:"zh_api_config_design-system",4749:"en_plugins_guide_setup-function",4837:"zh_guide_advance_build-umd",5057:"en_guide_advance_copy",5107:"zh_guide_basic_using-storybook",5284:"zh_plugins_guide_plugin-object",5300:"en_plugins_guide_plugin-object",5532:"zh_guide_advance_external-dependency",5578:"en_guide_basic_modify-output-product",5654:"en_api_config_build-config",5723:"zh_guide_advance_asset",5966:"zh_guide_basic_test-your-project",6098:"en_guide_advance_theme-config",7241:"zh_api_config_build-preset",7294:"zh_guide_basic_use-micro-generator",7401:"en_guide_best-practices_components",7512:"en_guide_intro_why-module-engineering-solution",7571:"en_guide_basic_command-preview",8230:"en_guide_advance_asset",8687:"en_plugins_guide_getting-started",8782:"en_api_config_build-preset",8927:"en_guide_advance_in-depth-about-build",9220:"en_api_config_design-system",9479:"en_plugins_official-list_overview",9675:"en_guide_basic_using-storybook",9826:"en_guide_advance_in-depth-about-dev-command",9868:"zh_plugins_guide_getting-started"}[e]||e)+"."+{229:"f8682be3",237:"048fd5ec",315:"7bd869c4",421:"a9888eed",727:"64e795f3",775:"6b06b54a",1085:"669f0a56",1108:"6f8b5ff6",1178:"a4d81bf6",1180:"b9570109",1189:"22957707",1677:"60d0260c",1756:"1199124a",1895:"c19f9dcf",2013:"7454d916",2020:"bf11b1c4",2033:"9cc45924",2034:"71c3fe16",2097:"fc95fb77",2532:"56325139",2540:"168ce7dd",2556:"8bc7f316",2611:"21a1aea4",2633:"a4c00d9a",2678:"a22fc49a",2821:"8ccbc8d1",2892:"67d07b91",3032:"08c5112f",3741:"f5f6b204",3799:"e31e8293",3806:"c22dc4be",4260:"a52d3247",4390:"a7635714",4663:"c254ed46",4695:"1eecd474",4749:"80a2bd97",4837:"b6d541ff",5057:"45c0a51d",5107:"27829e44",5284:"963289d5",5300:"bf6c6221",5532:"c7cf5d4b",5578:"ad453d13",5654:"367a5701",5723:"5b936003",5966:"ae52c47a",6098:"db0ad9fc",7241:"7c13584d",7294:"a091d57d",7401:"45155af9",7512:"7f2dae5c",7571:"1707ed29",8230:"5ff1d623",8652:"6fbf1cb7",8687:"b850249c",8782:"0d78b268",8927:"51bf3569",9220:"b28d6723",9479:"84e5cea0",9675:"9d721554",9826:"aec0b4e1",9868:"099dfaea"}[e]+".js"},_.miniCssF=function(e){},_.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),_.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t={},o="@modern-js/module-tools-docs:",_.l=function(e,n,i,r){if(t[e])t[e].push(n);else{var u,d;if(void 0!==i)for(var c=document.getElementsByTagName("script"),a=0;a<c.length;a++){var f=c[a];if(f.getAttribute("src")==e||f.getAttribute("data-webpack")==o+i){u=f;break}}u||(d=!0,(u=document.createElement("script")).charset="utf-8",u.timeout=120,_.nc&&u.setAttribute("nonce",_.nc),u.setAttribute("data-webpack",o+i),u.src=e),t[e]=[n];var s=function(n,i){u.onerror=u.onload=null,clearTimeout(g);var o=t[e];if(delete t[e],u.parentNode&&u.parentNode.removeChild(u),o&&o.forEach((function(e){return e(i)})),n)return n(i)},g=setTimeout(s.bind(null,void 0,{type:"timeout",target:u}),12e4);u.onerror=s.bind(null,u.onerror),u.onload=s.bind(null,u.onload),d&&document.head.appendChild(u)}},_.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},_.p="/",function(){var e={6272:0};_.f.j=function(n,i){var t=_.o(e,n)?e[n]:void 0;if(0!==t)if(t)i.push(t[2]);else if(6272!=n){var o=new Promise((function(i,o){t=e[n]=[i,o]}));i.push(t[2]=o);var r=_.p+_.u(n),u=new Error;_.l(r,(function(i){if(_.o(e,n)&&(0!==(t=e[n])&&(e[n]=void 0),t)){var o=i&&("load"===i.type?"missing":i.type),r=i&&i.target&&i.target.src;u.message="Loading chunk "+n+" failed.\n("+o+": "+r+")",u.name="ChunkLoadError",u.type=o,u.request=r,t[1](u)}}),"chunk-"+n,n)}else e[n]=0},_.O.j=function(n){return 0===e[n]};var n=function(n,i){var t,o,r=i[0],u=i[1],d=i[2],c=0;if(r.some((function(n){return 0!==e[n]}))){for(t in u)_.o(u,t)&&(_.m[t]=u[t]);if(d)var a=d(_)}for(n&&n(i);c<r.length;c++)o=r[c],_.o(e,o)&&e[o]&&e[o][0](),e[o]=0;return _.O(a)},i=self.webpackChunk_modern_js_module_tools_docs=self.webpackChunk_modern_js_module_tools_docs||[];i.forEach(n.bind(null,0)),i.push=n.bind(null,i.push.bind(i))}()}();</script><script defer="defer" src="/static/js/lib-polyfill.b3038509.js"></script><script defer="defer" src="/static/js/lib-lodash.c5845536.js"></script><script defer="defer" src="/static/js/lib-react.d41ace5e.js"></script><script defer="defer" src="/static/js/1607.70af642a.js"></script><script defer="defer" src="/static/js/main.2d3257a4.js"></script><link href="/static/css/main.edaad072.css" rel="stylesheet"></head><body><div id="root"><div style="height:100%"><header class="top-0 left-0 relative md:fixed w-full" style="border-bottom:1px solid var(--modern-c-divider-light);z-index:var(--modern-z-index-nav)"><div class="J5RhI modern-doc-nav" p="x-6"><div flex="~" justify="between" align="items-center" h="full" class="Be7Bu"><div class="undefined"><a href="/module-tools/" w="full" h="full" text="1rem" font="semibold" transition="opacity duration-300" hover="opacity-60" class="flex items-center"><span>Module Tools</span></a></div><div flex="~ 1" justify="end" align-items-center="~"><div class="fxz4T"><div class="search" flex="sm:1" p="sm:l-8"><div flex="~" align="items-center" pos="relative" m="r-2" font="semibold"><svg width="32" height="32" viewBox="0 0 32 32" w="5" h="5" fill="currentColor"><path fill="#888888" d="m29 27.586l-7.552-7.552a11.018 11.018 0 1 0-1.414 1.414L27.586 29ZM4 13a9 9 0 1 1 9 9a9.01 9.01 0 0 1-9-9Z"></path></svg><input disabled="" cursor="text focus:auto" placeholder="Search" height="8" border="none" type="text" text="sm" p="t-0 r-2 b-0 l-2" transition="all duration-200 ease" class="rounded-sm SjSZ2 " aria-label="Search" autoComplete="off"/><div m="r-3" w="10" h="6" p="x-1.5" border="1px solid gray-light-3 rounded-md" text="xs gray-light-3" flex="~" align="items-center" justify="around" class="iUJv9"><span>⌘</span><span>K</span></div></div></div><div class="menu" h="14"><div text="sm" font="medium" m="x-3" class=""><a class="R5q4o " target="" cursor="pointer" href="/module-tools/guide/intro/welcome.html">指南</a></div><div text="sm" font="medium" m="x-3" class="text-brand"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/index.html">API</a></div><div text="sm" font="medium" m="x-3" class=""><a class="R5q4o " target="" cursor="pointer" href="/module-tools/plugins/guide/getting-started.html">插件</a></div><div m="x-3" last="mr-0"><div h="14" class="relative" flex="~ center"><button flex="~ center" align="items-center" font="medium" text="sm text-1 hover:text-2" transition="color duration-200" class="nav-menu-group-button"><span m="r-1" text="sm" font="medium">v2.2.0</span><svg width="1em" height="1em" viewBox="0 0 32 32"><path fill="currentColor" d="M16 22L6 12l1.4-1.4l8.6 8.6l8.6-8.6L26 12z"></path></svg></button><div pos="top-13 right-0" m="x-0.8" transition="opacity duration-300" class="nav-menu-group-content absolute" style="opacity:0;visibility:hidden"><div p="3" w="full" h="full" class="min-w-128px max-h-100vh rounded-xl whitespace-nowrap" bg="white" style="box-shadow:var(--modern-shadow-3);margin-right:-1.5rem;z-index:100;border:1px solid var(--modern-c-divider-light)"><div font="medium"><a href="https://github.com/modern-js-dev/modern.js/tree/main/packages/solutions/module-tools/CHANGELOG.md" target="_blank" rel="noopener noreferrer" class="R5q4o "><div class="rounded-md" hover="bg-mute" p="y-1.6 l-3 r-6"><div flex="~"><span m="r-1">更新日志<svg width="32" height="32" viewBox="0 0 32 32" w="11px" h="11px" text="text-3" m="t-1 r-1 l-1" class="inline-block align-text-top"><path fill="currentColor" d="M10 6v2h12.59L6 24.59L7.41 26L24 9.41V22h2V6H10z"></path></svg></span></div></div></a></div><div font="medium"><a href="https://github.com/modern-js-dev/modern.js/tree/main/packages/solutions/module-tools/CHANGELOG.md" target="_blank" rel="noopener noreferrer" class="R5q4o "><div class="rounded-md" hover="bg-mute" p="y-1.6 l-3 r-6"><div flex="~"><span m="r-1">贡献指南<svg width="32" height="32" viewBox="0 0 32 32" w="11px" h="11px" text="text-3" m="t-1 r-1 l-1" class="inline-block align-text-top"><path fill="currentColor" d="M10 6v2h12.59L6 24.59L7.41 26L24 9.41V22h2V6H10z"></path></svg></span></div></div></a></div></div></div></div></div></div><div flex="~" text="sm" font="bold" align="items-center" class="translation WjR05"><div m="x-1.5"><div h="14" class="relative" flex="~ center"><button flex="~ center" align="items-center" font="medium" text="sm text-1 hover:text-2" transition="color duration-200" class="nav-menu-group-button"><span m="r-1" text="sm" font="medium"><svg width="32" height="32" viewBox="0 0 32 32" w="18px" h="18px"><path fill="currentColor" d="M27.85 29H30l-6-15h-2.35l-6 15h2.15l1.6-4h6.85zm-7.65-6l2.62-6.56L25.45 23zM18 7V5h-7V2H9v3H2v2h10.74a14.71 14.71 0 0 1-3.19 6.18A13.5 13.5 0 0 1 7.26 9h-2.1a16.47 16.47 0 0 0 3 5.58A16.84 16.84 0 0 1 3 18l.75 1.86A18.47 18.47 0 0 0 9.53 16a16.92 16.92 0 0 0 5.76 3.84L16 18a14.48 14.48 0 0 1-5.12-3.37A17.64 17.64 0 0 0 14.8 7z"></path></svg></span><svg width="1em" height="1em" viewBox="0 0 32 32"><path fill="currentColor" d="M16 22L6 12l1.4-1.4l8.6 8.6l8.6-8.6L26 12z"></path></svg></button><div pos="top-13 right-0" m="x-0.8" transition="opacity duration-300" class="nav-menu-group-content absolute" style="opacity:0;visibility:hidden"><div p="3" w="full" h="full" class="min-w-128px max-h-100vh rounded-xl whitespace-nowrap" bg="white" style="box-shadow:var(--modern-shadow-3);margin-right:-1.5rem;z-index:100;border:1px solid var(--modern-c-divider-light)"><div class="rounded-md" p="y-1.6 l-3"><span m="r-1" text="brand">简体中文</span></div><div font="medium"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/en/api/config/testing"><div class="rounded-md" hover="bg-mute" p="y-1.6 l-3 r-6"><div flex="~"><span m="r-1">English<svg width="32" height="32" viewBox="0 0 32 32" w="11px" h="11px" text="text-3" m="t-1 r-1 l-1" class="inline-block align-text-top"><path fill="currentColor" d="M10 6v2h12.59L6 24.59L7.41 26L24 9.41V22h2V6H10z"></path></svg></span></div></div></a></div></div></div></div></div></div><div class="WjR05 modern-doc-appearance" display="none sm:flex" align-items-center="center"><button class="DdK0_ undefined" id="" type="button" role="switch"><span class="WLpap"><span class="Q_Ula"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewBox="0 0 24 24" class="JMkpU"><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z"></path><path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path><path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z"></path><path d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z"></path><path d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewBox="0 0 24 24" class="tgdgB"><path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"></path></svg></span></span></button></div><div class="social-links FU7nx" nav-h="mobile sm:desktop" flex="~" align-items-center="~" pos="relative"><div h="full" flex="~" gap="x-4" align-items-center="~" transition="color duration-300"><a href="https://github.com/modern-js-dev/modern.js/tree/main/packages/solutions/module-tools" target="_blank" rel="noopener noreferrer"><div class="_8YjQ"><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path></svg></div></a></div></div></div><button class=" wzxr1"><span class="kECx4"><span class="wzOB6"></span><span class="coO8e"></span><span class="RrwJk"></span></span></button><div class="NeczB " id="navScreen"><div class="WLObZ"><div class="_3YuLy"><div w="full" class="osgV9"><div text="sm" font="medium" m="x-3" class=""><a class="R5q4o " target="" cursor="pointer" href="/module-tools/guide/intro/welcome.html">指南</a></div></div><div w="full" class="osgV9"><div text="sm" font="medium" m="x-3" class="text-brand"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/index.html">API</a></div></div><div w="full" class="osgV9"><div text="sm" font="medium" m="x-3" class=""><a class="R5q4o " target="" cursor="pointer" href="/module-tools/plugins/guide/getting-started.html">插件</a></div></div><div w="full" class="osgV9"><div m="x-3" last="mr-0"><div pos="relative" class=" Tk5bz"><button class="X7ejb"><span class="IOfpr">v2.2.0</span><svg width="1em" height="1em" viewBox="0 0 32 32" class=" uavm2 "><path fill="currentColor" d="M16 22L6 12l1.4-1.4l8.6 8.6l8.6-8.6L26 12z"></path></svg></button><div><div class="ciUdc"><div class="pa-1" font="medium"><a href="https://github.com/modern-js-dev/modern.js/tree/main/packages/solutions/module-tools/CHANGELOG.md" target="_blank" rel="noopener noreferrer" class="R5q4o "><div><div flex="~"><span m="r-1">更新日志</span><svg width="32" height="32" viewBox="0 0 32 32" w="11px" h="11px" text="text-3" m="t-1 r-1"><path fill="currentColor" d="M10 6v2h12.59L6 24.59L7.41 26L24 9.41V22h2V6H10z"></path></svg></div></div></a></div><div class="pa-1" font="medium"><a href="https://github.com/modern-js-dev/modern.js/tree/main/packages/solutions/module-tools/CHANGELOG.md" target="_blank" rel="noopener noreferrer" class="R5q4o "><div><div flex="~"><span m="r-1">贡献指南</span><svg width="32" height="32" viewBox="0 0 32 32" w="11px" h="11px" text="text-3" m="t-1 r-1"><path fill="currentColor" d="M10 6v2h12.59L6 24.59L7.41 26L24 9.41V22h2V6H10z"></path></svg></div></div></a></div></div></div></div></div></div></div><div class="rp9pY" flex="~" justify="center" align-items-center="center"><div class="align-items-center appearance pa-2 ctzdQ" flex="~" justify="center"><button class="DdK0_ undefined" id="" type="button" role="switch"><span class="WLpap"><span class="Q_Ula"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewBox="0 0 24 24" class="JMkpU"><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z"></path><path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path><path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z"></path><path d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z"></path><path d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewBox="0 0 24 24" class="tgdgB"><path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"></path></svg></span></span></button></div></div><div flex="~" text="sm" font="bold" justify="center"><div m="x-1.5"><div pos="relative" class=" Tk5bz"><button class="X7ejb"><span class="IOfpr"><svg width="32" height="32" viewBox="0 0 32 32" w="18px" h="18px"><path fill="currentColor" d="M27.85 29H30l-6-15h-2.35l-6 15h2.15l1.6-4h6.85zm-7.65-6l2.62-6.56L25.45 23zM18 7V5h-7V2H9v3H2v2h10.74a14.71 14.71 0 0 1-3.19 6.18A13.5 13.5 0 0 1 7.26 9h-2.1a16.47 16.47 0 0 0 3 5.58A16.84 16.84 0 0 1 3 18l.75 1.86A18.47 18.47 0 0 0 9.53 16a16.92 16.92 0 0 0 5.76 3.84L16 18a14.48 14.48 0 0 1-5.12-3.37A17.64 17.64 0 0 0 14.8 7z"></path></svg></span><svg width="1em" height="1em" viewBox="0 0 32 32" class=" uavm2 "><path fill="currentColor" d="M16 22L6 12l1.4-1.4l8.6 8.6l8.6-8.6L26 12z"></path></svg></button><div><div class="ciUdc"><div class="pa-1"><span m="r-1" text="brand">简体中文</span></div><div class="pa-1" font="medium"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/en"><div><div flex="~"><span m="r-1">English</span><svg width="32" height="32" viewBox="0 0 32 32" w="11px" h="11px" text="text-3" m="t-1 r-1"><path fill="currentColor" d="M10 6v2h12.59L6 24.59L7.41 26L24 9.41V22h2V6H10z"></path></svg></div></div></a></div></div></div></div></div></div><div class="social-links FU7nx" nav-h="mobile sm:desktop" flex="~" align-items-center="~" pos="relative"><div h="full" flex="~" gap="x-4" align-items-center="~" transition="color duration-300"><a href="https://github.com/modern-js-dev/modern.js/tree/main/packages/solutions/module-tools" target="_blank" rel="noopener noreferrer"><div class="_8YjQ"><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path></svg></div></a></div></div></div></div></div></div></div></header><section><div p="t-0" m="md:t-14" class="Q34AI"><div class="_aGGP"><button flex="~ center" class="wNUbj"><div text="md" m="r-2"><svg width="1em" height="1em" viewBox="0 0 32 32"><path fill="currentColor" d="M4 6h24v2H4zm0 18h24v2H4zm0-12h24v2H4zm0 6h24v2H4z"></path></svg></div><span text="sm">Menu</span></button></div><aside class="UroNu "><nav m="t-1"><a class="R5q4o EZlU3" target="" cursor="pointer" href="/module-tools/api/index.html"><div m="t-1" p="y-1 x-2" block="~" border="rounded-sm" font-medium="~" class="r3Oz1" style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis">概览</div></a><section block="~" class="mt-1"><div flex="~" justify="between" items-start="~" cursor="pointer" class="items-center r3Oz1"><h2 p="y-1 x-2" text="sm" font="semibold">配置项</h2><div p="2" class="BgJSm"><div cursor-pointer="~" style="transition:transform 0.2s ease-out;transform:rotate(90deg)"><svg width="1em" height="1em" viewBox="0 0 32 32"><path fill="currentColor" d="M22 16L12 26l-1.4-1.4l8.6-8.6l-8.6-8.6L12 6z"></path></svg></div></div></div><div style="transition:height 0.2s ease-in-out;overflow:hidden;height:160px"><div m="last:b-0.5 l-4"><a class="R5q4o EZlU3" target="" cursor="pointer" href="/module-tools/api/config/build-config.html"><div m="t-1" p="y-1 x-2" block="~" border="rounded-sm" font-medium="~" class="r3Oz1" style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis">BuildConfig</div></a></div><div m="last:b-0.5 l-4"><a class="R5q4o EZlU3" target="" cursor="pointer" href="/module-tools/api/config/build-preset.html"><div m="t-1" p="y-1 x-2" block="~" border="rounded-sm" font-medium="~" class="r3Oz1" style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis">BuildPreset</div></a></div><div m="last:b-0.5 l-4"><a class="R5q4o EZlU3" target="" cursor="pointer" href="/module-tools/api/config/design-system.html"><div m="t-1" p="y-1 x-2" block="~" border="rounded-sm" font-medium="~" class="r3Oz1" style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis">DesignSystem</div></a></div><div m="last:b-0.5 l-4"><a class="R5q4o EZlU3" target="" cursor="pointer" href="/module-tools/api/config/plugins.html"><div m="t-1" p="y-1 x-2" block="~" border="rounded-sm" font-medium="~" class="r3Oz1" style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis">Plugins</div></a></div><div m="last:b-0.5 l-4"><a class="R5q4o EZlU3" target="" cursor="pointer" href="/module-tools/api/config/testing.html"><div m="t-1" p="y-1 x-2" block="~" border="rounded-sm" font-medium="~" class="RCb_U" style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis">Testing</div></a></div></div></section><section block="~" class="mt-1"><div flex="~" justify="between" items-start="~" cursor="pointer" class="items-center r3Oz1"><h2 p="y-1 x-2" text="sm" font="semibold">Plugin API</h2><div p="2" class="BgJSm"><div cursor-pointer="~" style="transition:transform 0.2s ease-out;transform:rotate(90deg)"><svg width="1em" height="1em" viewBox="0 0 32 32"><path fill="currentColor" d="M22 16L12 26l-1.4-1.4l8.6-8.6l-8.6-8.6L12 6z"></path></svg></div></div></div><div style="transition:height 0.2s ease-in-out;overflow:hidden;height:32px"><div m="last:b-0.5 l-4"><a class="R5q4o EZlU3" target="" cursor="pointer" href="/module-tools/api/plugin-api/plugin-hooks.html"><div m="t-1" p="y-1 x-2" block="~" border="rounded-sm" font-medium="~" class="r3Oz1" style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis">Plugin Hooks</div></a></div></div></section></nav></aside><div flex="~ shrink-0" class="TP8A7"><div w="full"><div class="modern-doc"><!--$--><h1 id="testing"><a class="header-anchor" aria-hidden="true" href="#testing">#</a>Testing</h1>
2
+ <p>本章描述了测试相关的配置。</p>
3
+ <div class="modern-directive tip"><p class="modern-directive-title">TIP</p><div class="modern-directive-content"><p>
4
+ 需要先通过 <code>pnpm run new</code>启用 单元测试 功能。</p></div></div>
5
+ <h2 id="jest"><a class="header-anchor" aria-hidden="true" href="#jest">#</a>jest</h2>
6
+ <ul>
7
+ <li>类型: <code>Object | Function</code></li>
8
+ <li>默认值:<code>{}</code></li>
9
+ </ul>
10
+ <p>对应 <a href="https://jestjs.io/docs/configuration" target="_blank" rel="nofollow">Jest</a> 的配置,当为 <code>Object</code> 类型时,可以配置 Jest 所支持的所有底层配置 。</p>
11
+ <div class="ch-codegroup not-prose "><div class="ch-editor-frame" style="background:#2e3440"><div class="ch-frame-title-bar" style="color:#C5C5C5;background:#2e3440"><div class="ch-frame-buttons"><div class="ch-frame-button ch-frame-button-left"></div><div class="ch-frame-button-space"></div><div class="ch-frame-button ch-frame-button-middle"></div><div class="ch-frame-button-space"></div><div class="ch-frame-button ch-frame-button-right"></div></div><div title="modern.config.ts" data-ch-tab="north" class="ch-editor-tab ch-editor-tab-active" style="background:#3b4252;color:#d8dee9;border-right-color:#3b425200;border-bottom-color:#88c0d000"><div><span style="opacity:0.5"></span>modern.config.ts</div></div><div style="flex:1;min-width:0.8em"></div><svg fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="ch-editor-button"><title>Copy</title><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6px" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"></path></svg></div><div data-ch-panel="north" style="flex-grow:1;overflow:hidden"><div class="ch-code-wrapper" style="margin:0;padding:0;position:relative;white-space:pre;box-sizing:content-box;opacity:0;overflow:auto;height:100%"><code class="ch-code-scroll-parent"><br/><div><div style="display:inline-block;margin-left:16px"><span>import { defineConfig } from &#x27;@modern-js/module-tools&#x27;;</span></div></div><div><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><div style="display:inline-block;margin-left:16px"><span>export default defineConfig({</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> testing: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> jest: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> testTimeout: 10000,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>});</span></div></div><br/></code></div></div></div></div>
12
+ <p>值为 <code>Function</code> 类型时,默认配置作为第一个参数传入,需要返回新的 Jest 配置对象。</p>
13
+ <div class="ch-codegroup not-prose "><div class="ch-editor-frame" style="background:#2e3440"><div class="ch-frame-title-bar" style="color:#C5C5C5;background:#2e3440"><div class="ch-frame-buttons"><div class="ch-frame-button ch-frame-button-left"></div><div class="ch-frame-button-space"></div><div class="ch-frame-button ch-frame-button-middle"></div><div class="ch-frame-button-space"></div><div class="ch-frame-button ch-frame-button-right"></div></div><div title="modern.config.ts" data-ch-tab="north" class="ch-editor-tab ch-editor-tab-active" style="background:#3b4252;color:#d8dee9;border-right-color:#3b425200;border-bottom-color:#88c0d000"><div><span style="opacity:0.5"></span>modern.config.ts</div></div><div style="flex:1;min-width:0.8em"></div><svg fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="ch-editor-button"><title>Copy</title><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6px" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"></path></svg></div><div data-ch-panel="north" style="flex-grow:1;overflow:hidden"><div class="ch-code-wrapper" style="margin:0;padding:0;position:relative;white-space:pre;box-sizing:content-box;opacity:0;overflow:auto;height:100%"><code class="ch-code-scroll-parent"><br/><div><div style="display:inline-block;margin-left:16px"><span>import { defineConfig } from &#x27;@modern-js/module-tools&#x27;;</span></div></div><div><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><div style="display:inline-block;margin-left:16px"><span>export default defineConfig({</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> testing: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> jest: options =&gt; {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> return {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> ...options,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> testTimeout: 10000,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> };</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>});</span></div></div><br/></code></div></div></div></div>
14
+ <h2 id="transformer"><a class="header-anchor" aria-hidden="true" href="#transformer">#</a>transformer</h2>
15
+ <ul>
16
+ <li>类型:<code>&#x27;babel-jest&#x27; | &#x27;ts-jest&#x27;</code></li>
17
+ <li>默认值:<code>&#x27;babel-jest&#x27;</code></li>
18
+ </ul>
19
+ <p>配置执行测试的时候对于源码的编译工具: <a href="https://www.npmjs.com/package/babel-jest" target="_blank" rel="nofollow">babel-jest</a> 或 <a href="https://github.com/kulshekhar/ts-jest" target="_blank" rel="nofollow">ts-jest</a>。默认使用 <code>babel-jest</code>。</p>
20
+ <div class="modern-directive info"><p class="modern-directive-title">INFO</p><div class="modern-directive-content"><p>
21
+ <code>babel-jest</code> 也可以编译 TS 文件,但不会类型报错,如果你需要跑测试的时候对 TS 类型进行校验,那么请使用 <code>ts-jest</code>。</p></div></div><!--/$--><div><footer m="t-8"><div flex="~ col sm:row" justify="sm:around" gap="2" p="t-6"><div flex="~ col" class="ajVjQ"><a class="R5q4o pAnzs" target="" cursor="pointer" href="/module-tools/api/config/plugins.html"><span class="rVEMI">上一页</span><span class="jr5Zr">Plugins</span></a></div><div flex="~ col" class="A2aco"><a class="R5q4o pAnzs A2aco" target="" cursor="pointer" href="/module-tools/api/plugin-api/plugin-hooks.html"><span class="rVEMI">下一页</span><span class="jr5Zr">Plugin Hooks</span></a></div></div></footer></div></div></div><div class="RsCtL" style="min-height:calc(100vh - (var(--modern-nav-height) + 32px))"><div><div flex="~ col"><div class="&lt;lg:hidden"><div p="l-4" text="sm" font-medium="~" id="aside-container" style="border-left:1px solid var(--modern-c-divider-light)" class="relative"><div class="absolute" opacity="0" w="1px" h="18px" bg="brand" style="top:33px;left:-1px;transition:top 0.25s cubic-bezier(0, 1, 0.5, 1), background-color 0.5s, opacity 0.25s" id="aside-marker"></div><div block="~" class="leading-7" text="sm" font="semibold">目录</div><nav><ul class="relative"><li><a href="#jest" block="~" text="text-2" hover="text-text-1" transition="color duration-300" class="leading-7" style="font-size:13px;padding-left:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis">jest</a></li><li><a href="#transformer" block="~" text="text-2" hover="text-text-1" transition="color duration-300" class="leading-7" style="font-size:13px;padding-left:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis">transformer</a></li></ul></nav></div></div></div></div></div></div></div></section></div></div></body></html>
@@ -0,0 +1 @@
1
+ <!doctype html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="https://lf3-static.bytednsdoc.com/obj/eden-cn/zq-uylkvT/ljhwZthlaukjlkulzlp/logo-1x-0104.png" /><title data-rh="true">index - Module Tools</title><meta data-rh="true" name="description" content="模块工程解决方案"/><script>!function(){"use strict";var e,n,i,t,o,r={},u={};function _(e){var n=u[e];if(void 0!==n)return n.exports;var i=u[e]={exports:{}};return r[e].call(i.exports,i,i.exports,_),i.exports}_.m=r,e=[],_.O=function(n,i,t,o){if(!i){var r=1/0;for(a=0;a<e.length;a++){i=e[a][0],t=e[a][1],o=e[a][2];for(var u=!0,d=0;d<i.length;d++)(!1&o||r>=o)&&Object.keys(_.O).every((function(e){return _.O[e](i[d])}))?i.splice(d--,1):(u=!1,o<r&&(r=o));if(u){e.splice(a--,1);var c=t();void 0!==c&&(n=c)}}return n}o=o||0;for(var a=e.length;a>0&&e[a-1][2]>o;a--)e[a]=e[a-1];e[a]=[i,t,o]},_.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return _.d(n,{a:n}),n},i=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},_.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if("object"==typeof e&&e){if(4&t&&e.__esModule)return e;if(16&t&&"function"==typeof e.then)return e}var o=Object.create(null);_.r(o);var r={};n=n||[null,i({}),i([]),i(i)];for(var u=2&t&&e;"object"==typeof u&&!~n.indexOf(u);u=i(u))Object.getOwnPropertyNames(u).forEach((function(n){r[n]=function(){return e[n]}}));return r.default=function(){return e},_.d(o,r),o},_.d=function(e,n){for(var i in n)_.o(n,i)&&!_.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:n[i]})},_.f={},_.e=function(e){return Promise.all(Object.keys(_.f).reduce((function(n,i){return _.f[i](e,n),n}),[]))},_.u=function(e){return"static/js/async/"+({229:"en_guide_intro_getting-started",237:"zh_api_config_build-config",315:"en_index",421:"zh_api_config_testing",727:"zh_guide_advance_in-depth-about-build",775:"zh_guide_basic_before-getting-started",1085:"en_api_index",1108:"zh_guide_intro_why-module-engineering-solution",1178:"zh_api_plugin-api_plugin-hooks",1180:"zh_guide_advance_theme-config",1189:"zh_api_index",1677:"en_api_plugin-api_plugin-hooks",1756:"zh_guide_basic_command-preview",1895:"zh_index",2013:"zh_guide_best-practices_components",2020:"zh_guide_basic_publish-your-project",2033:"en_guide_intro_welcome",2034:"zh_guide_intro_welcome",2097:"en_api_config_plugins",2532:"en_guide_basic_use-micro-generator",2540:"zh_guide_advance_in-depth-about-dev-command",2556:"en_api_config_testing",2611:"zh_guide_advance_copy",2633:"zh_guide_intro_getting-started",2678:"en_guide_basic_before-getting-started",2821:"zh_guide_basic_modify-output-product",2892:"zh_plugins_guide_setup-function",3032:"en_guide_basic_publish-your-project",3741:"en_guide_basic_test-your-project",3806:"zh_api_config_plugins",4260:"en_guide_advance_external-dependency",4390:"zh_plugins_official-list_overview",4663:"en_guide_advance_build-umd",4695:"zh_api_config_design-system",4749:"en_plugins_guide_setup-function",4837:"zh_guide_advance_build-umd",5057:"en_guide_advance_copy",5107:"zh_guide_basic_using-storybook",5284:"zh_plugins_guide_plugin-object",5300:"en_plugins_guide_plugin-object",5532:"zh_guide_advance_external-dependency",5578:"en_guide_basic_modify-output-product",5654:"en_api_config_build-config",5723:"zh_guide_advance_asset",5966:"zh_guide_basic_test-your-project",6098:"en_guide_advance_theme-config",7241:"zh_api_config_build-preset",7294:"zh_guide_basic_use-micro-generator",7401:"en_guide_best-practices_components",7512:"en_guide_intro_why-module-engineering-solution",7571:"en_guide_basic_command-preview",8230:"en_guide_advance_asset",8687:"en_plugins_guide_getting-started",8782:"en_api_config_build-preset",8927:"en_guide_advance_in-depth-about-build",9220:"en_api_config_design-system",9479:"en_plugins_official-list_overview",9675:"en_guide_basic_using-storybook",9826:"en_guide_advance_in-depth-about-dev-command",9868:"zh_plugins_guide_getting-started"}[e]||e)+"."+{229:"f8682be3",237:"048fd5ec",315:"7bd869c4",421:"a9888eed",727:"64e795f3",775:"6b06b54a",1085:"669f0a56",1108:"6f8b5ff6",1178:"a4d81bf6",1180:"b9570109",1189:"22957707",1677:"60d0260c",1756:"1199124a",1895:"c19f9dcf",2013:"7454d916",2020:"bf11b1c4",2033:"9cc45924",2034:"71c3fe16",2097:"fc95fb77",2532:"56325139",2540:"168ce7dd",2556:"8bc7f316",2611:"21a1aea4",2633:"a4c00d9a",2678:"a22fc49a",2821:"8ccbc8d1",2892:"67d07b91",3032:"08c5112f",3741:"f5f6b204",3799:"e31e8293",3806:"c22dc4be",4260:"a52d3247",4390:"a7635714",4663:"c254ed46",4695:"1eecd474",4749:"80a2bd97",4837:"b6d541ff",5057:"45c0a51d",5107:"27829e44",5284:"963289d5",5300:"bf6c6221",5532:"c7cf5d4b",5578:"ad453d13",5654:"367a5701",5723:"5b936003",5966:"ae52c47a",6098:"db0ad9fc",7241:"7c13584d",7294:"a091d57d",7401:"45155af9",7512:"7f2dae5c",7571:"1707ed29",8230:"5ff1d623",8652:"6fbf1cb7",8687:"b850249c",8782:"0d78b268",8927:"51bf3569",9220:"b28d6723",9479:"84e5cea0",9675:"9d721554",9826:"aec0b4e1",9868:"099dfaea"}[e]+".js"},_.miniCssF=function(e){},_.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),_.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t={},o="@modern-js/module-tools-docs:",_.l=function(e,n,i,r){if(t[e])t[e].push(n);else{var u,d;if(void 0!==i)for(var c=document.getElementsByTagName("script"),a=0;a<c.length;a++){var f=c[a];if(f.getAttribute("src")==e||f.getAttribute("data-webpack")==o+i){u=f;break}}u||(d=!0,(u=document.createElement("script")).charset="utf-8",u.timeout=120,_.nc&&u.setAttribute("nonce",_.nc),u.setAttribute("data-webpack",o+i),u.src=e),t[e]=[n];var s=function(n,i){u.onerror=u.onload=null,clearTimeout(g);var o=t[e];if(delete t[e],u.parentNode&&u.parentNode.removeChild(u),o&&o.forEach((function(e){return e(i)})),n)return n(i)},g=setTimeout(s.bind(null,void 0,{type:"timeout",target:u}),12e4);u.onerror=s.bind(null,u.onerror),u.onload=s.bind(null,u.onload),d&&document.head.appendChild(u)}},_.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},_.p="/",function(){var e={6272:0};_.f.j=function(n,i){var t=_.o(e,n)?e[n]:void 0;if(0!==t)if(t)i.push(t[2]);else if(6272!=n){var o=new Promise((function(i,o){t=e[n]=[i,o]}));i.push(t[2]=o);var r=_.p+_.u(n),u=new Error;_.l(r,(function(i){if(_.o(e,n)&&(0!==(t=e[n])&&(e[n]=void 0),t)){var o=i&&("load"===i.type?"missing":i.type),r=i&&i.target&&i.target.src;u.message="Loading chunk "+n+" failed.\n("+o+": "+r+")",u.name="ChunkLoadError",u.type=o,u.request=r,t[1](u)}}),"chunk-"+n,n)}else e[n]=0},_.O.j=function(n){return 0===e[n]};var n=function(n,i){var t,o,r=i[0],u=i[1],d=i[2],c=0;if(r.some((function(n){return 0!==e[n]}))){for(t in u)_.o(u,t)&&(_.m[t]=u[t]);if(d)var a=d(_)}for(n&&n(i);c<r.length;c++)o=r[c],_.o(e,o)&&e[o]&&e[o][0](),e[o]=0;return _.O(a)},i=self.webpackChunk_modern_js_module_tools_docs=self.webpackChunk_modern_js_module_tools_docs||[];i.forEach(n.bind(null,0)),i.push=n.bind(null,i.push.bind(i))}()}();</script><script defer="defer" src="/static/js/lib-polyfill.b3038509.js"></script><script defer="defer" src="/static/js/lib-lodash.c5845536.js"></script><script defer="defer" src="/static/js/lib-react.d41ace5e.js"></script><script defer="defer" src="/static/js/1607.70af642a.js"></script><script defer="defer" src="/static/js/main.2d3257a4.js"></script><link href="/static/css/main.edaad072.css" rel="stylesheet"></head><body><div id="root"><div style="height:100%"><header class="top-0 left-0 relative md:fixed w-full" style="border-bottom:1px solid var(--modern-c-divider-light);z-index:var(--modern-z-index-nav)"><div class="J5RhI modern-doc-nav" p="x-6"><div flex="~" justify="between" align="items-center" h="full" class="Be7Bu"><div class="undefined"><a href="/module-tools/" w="full" h="full" text="1rem" font="semibold" transition="opacity duration-300" hover="opacity-60" class="flex items-center"><span>Module Tools</span></a></div><div flex="~ 1" justify="end" align-items-center="~"><div class="fxz4T"><div class="search" flex="sm:1" p="sm:l-8"><div flex="~" align="items-center" pos="relative" m="r-2" font="semibold"><svg width="32" height="32" viewBox="0 0 32 32" w="5" h="5" fill="currentColor"><path fill="#888888" d="m29 27.586l-7.552-7.552a11.018 11.018 0 1 0-1.414 1.414L27.586 29ZM4 13a9 9 0 1 1 9 9a9.01 9.01 0 0 1-9-9Z"></path></svg><input disabled="" cursor="text focus:auto" placeholder="Search" height="8" border="none" type="text" text="sm" p="t-0 r-2 b-0 l-2" transition="all duration-200 ease" class="rounded-sm SjSZ2 " aria-label="Search" autoComplete="off"/><div m="r-3" w="10" h="6" p="x-1.5" border="1px solid gray-light-3 rounded-md" text="xs gray-light-3" flex="~" align="items-center" justify="around" class="iUJv9"><span>⌘</span><span>K</span></div></div></div><div class="menu" h="14"><div text="sm" font="medium" m="x-3" class=""><a class="R5q4o " target="" cursor="pointer" href="/module-tools/guide/intro/welcome.html">指南</a></div><div text="sm" font="medium" m="x-3" class="text-brand"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/index.html">API</a></div><div text="sm" font="medium" m="x-3" class=""><a class="R5q4o " target="" cursor="pointer" href="/module-tools/plugins/guide/getting-started.html">插件</a></div><div m="x-3" last="mr-0"><div h="14" class="relative" flex="~ center"><button flex="~ center" align="items-center" font="medium" text="sm text-1 hover:text-2" transition="color duration-200" class="nav-menu-group-button"><span m="r-1" text="sm" font="medium">v2.2.0</span><svg width="1em" height="1em" viewBox="0 0 32 32"><path fill="currentColor" d="M16 22L6 12l1.4-1.4l8.6 8.6l8.6-8.6L26 12z"></path></svg></button><div pos="top-13 right-0" m="x-0.8" transition="opacity duration-300" class="nav-menu-group-content absolute" style="opacity:0;visibility:hidden"><div p="3" w="full" h="full" class="min-w-128px max-h-100vh rounded-xl whitespace-nowrap" bg="white" style="box-shadow:var(--modern-shadow-3);margin-right:-1.5rem;z-index:100;border:1px solid var(--modern-c-divider-light)"><div font="medium"><a href="https://github.com/modern-js-dev/modern.js/tree/main/packages/solutions/module-tools/CHANGELOG.md" target="_blank" rel="noopener noreferrer" class="R5q4o "><div class="rounded-md" hover="bg-mute" p="y-1.6 l-3 r-6"><div flex="~"><span m="r-1">更新日志<svg width="32" height="32" viewBox="0 0 32 32" w="11px" h="11px" text="text-3" m="t-1 r-1 l-1" class="inline-block align-text-top"><path fill="currentColor" d="M10 6v2h12.59L6 24.59L7.41 26L24 9.41V22h2V6H10z"></path></svg></span></div></div></a></div><div font="medium"><a href="https://github.com/modern-js-dev/modern.js/tree/main/packages/solutions/module-tools/CHANGELOG.md" target="_blank" rel="noopener noreferrer" class="R5q4o "><div class="rounded-md" hover="bg-mute" p="y-1.6 l-3 r-6"><div flex="~"><span m="r-1">贡献指南<svg width="32" height="32" viewBox="0 0 32 32" w="11px" h="11px" text="text-3" m="t-1 r-1 l-1" class="inline-block align-text-top"><path fill="currentColor" d="M10 6v2h12.59L6 24.59L7.41 26L24 9.41V22h2V6H10z"></path></svg></span></div></div></a></div></div></div></div></div></div><div flex="~" text="sm" font="bold" align="items-center" class="translation WjR05"><div m="x-1.5"><div h="14" class="relative" flex="~ center"><button flex="~ center" align="items-center" font="medium" text="sm text-1 hover:text-2" transition="color duration-200" class="nav-menu-group-button"><span m="r-1" text="sm" font="medium"><svg width="32" height="32" viewBox="0 0 32 32" w="18px" h="18px"><path fill="currentColor" d="M27.85 29H30l-6-15h-2.35l-6 15h2.15l1.6-4h6.85zm-7.65-6l2.62-6.56L25.45 23zM18 7V5h-7V2H9v3H2v2h10.74a14.71 14.71 0 0 1-3.19 6.18A13.5 13.5 0 0 1 7.26 9h-2.1a16.47 16.47 0 0 0 3 5.58A16.84 16.84 0 0 1 3 18l.75 1.86A18.47 18.47 0 0 0 9.53 16a16.92 16.92 0 0 0 5.76 3.84L16 18a14.48 14.48 0 0 1-5.12-3.37A17.64 17.64 0 0 0 14.8 7z"></path></svg></span><svg width="1em" height="1em" viewBox="0 0 32 32"><path fill="currentColor" d="M16 22L6 12l1.4-1.4l8.6 8.6l8.6-8.6L26 12z"></path></svg></button><div pos="top-13 right-0" m="x-0.8" transition="opacity duration-300" class="nav-menu-group-content absolute" style="opacity:0;visibility:hidden"><div p="3" w="full" h="full" class="min-w-128px max-h-100vh rounded-xl whitespace-nowrap" bg="white" style="box-shadow:var(--modern-shadow-3);margin-right:-1.5rem;z-index:100;border:1px solid var(--modern-c-divider-light)"><div class="rounded-md" p="y-1.6 l-3"><span m="r-1" text="brand">简体中文</span></div><div font="medium"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/en/api/"><div class="rounded-md" hover="bg-mute" p="y-1.6 l-3 r-6"><div flex="~"><span m="r-1">English<svg width="32" height="32" viewBox="0 0 32 32" w="11px" h="11px" text="text-3" m="t-1 r-1 l-1" class="inline-block align-text-top"><path fill="currentColor" d="M10 6v2h12.59L6 24.59L7.41 26L24 9.41V22h2V6H10z"></path></svg></span></div></div></a></div></div></div></div></div></div><div class="WjR05 modern-doc-appearance" display="none sm:flex" align-items-center="center"><button class="DdK0_ undefined" id="" type="button" role="switch"><span class="WLpap"><span class="Q_Ula"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewBox="0 0 24 24" class="JMkpU"><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z"></path><path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path><path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z"></path><path d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z"></path><path d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewBox="0 0 24 24" class="tgdgB"><path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"></path></svg></span></span></button></div><div class="social-links FU7nx" nav-h="mobile sm:desktop" flex="~" align-items-center="~" pos="relative"><div h="full" flex="~" gap="x-4" align-items-center="~" transition="color duration-300"><a href="https://github.com/modern-js-dev/modern.js/tree/main/packages/solutions/module-tools" target="_blank" rel="noopener noreferrer"><div class="_8YjQ"><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path></svg></div></a></div></div></div><button class=" wzxr1"><span class="kECx4"><span class="wzOB6"></span><span class="coO8e"></span><span class="RrwJk"></span></span></button><div class="NeczB " id="navScreen"><div class="WLObZ"><div class="_3YuLy"><div w="full" class="osgV9"><div text="sm" font="medium" m="x-3" class=""><a class="R5q4o " target="" cursor="pointer" href="/module-tools/guide/intro/welcome.html">指南</a></div></div><div w="full" class="osgV9"><div text="sm" font="medium" m="x-3" class="text-brand"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/index.html">API</a></div></div><div w="full" class="osgV9"><div text="sm" font="medium" m="x-3" class=""><a class="R5q4o " target="" cursor="pointer" href="/module-tools/plugins/guide/getting-started.html">插件</a></div></div><div w="full" class="osgV9"><div m="x-3" last="mr-0"><div pos="relative" class=" Tk5bz"><button class="X7ejb"><span class="IOfpr">v2.2.0</span><svg width="1em" height="1em" viewBox="0 0 32 32" class=" uavm2 "><path fill="currentColor" d="M16 22L6 12l1.4-1.4l8.6 8.6l8.6-8.6L26 12z"></path></svg></button><div><div class="ciUdc"><div class="pa-1" font="medium"><a href="https://github.com/modern-js-dev/modern.js/tree/main/packages/solutions/module-tools/CHANGELOG.md" target="_blank" rel="noopener noreferrer" class="R5q4o "><div><div flex="~"><span m="r-1">更新日志</span><svg width="32" height="32" viewBox="0 0 32 32" w="11px" h="11px" text="text-3" m="t-1 r-1"><path fill="currentColor" d="M10 6v2h12.59L6 24.59L7.41 26L24 9.41V22h2V6H10z"></path></svg></div></div></a></div><div class="pa-1" font="medium"><a href="https://github.com/modern-js-dev/modern.js/tree/main/packages/solutions/module-tools/CHANGELOG.md" target="_blank" rel="noopener noreferrer" class="R5q4o "><div><div flex="~"><span m="r-1">贡献指南</span><svg width="32" height="32" viewBox="0 0 32 32" w="11px" h="11px" text="text-3" m="t-1 r-1"><path fill="currentColor" d="M10 6v2h12.59L6 24.59L7.41 26L24 9.41V22h2V6H10z"></path></svg></div></div></a></div></div></div></div></div></div></div><div class="rp9pY" flex="~" justify="center" align-items-center="center"><div class="align-items-center appearance pa-2 ctzdQ" flex="~" justify="center"><button class="DdK0_ undefined" id="" type="button" role="switch"><span class="WLpap"><span class="Q_Ula"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewBox="0 0 24 24" class="JMkpU"><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z"></path><path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path><path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z"></path><path d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z"></path><path d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewBox="0 0 24 24" class="tgdgB"><path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"></path></svg></span></span></button></div></div><div flex="~" text="sm" font="bold" justify="center"><div m="x-1.5"><div pos="relative" class=" Tk5bz"><button class="X7ejb"><span class="IOfpr"><svg width="32" height="32" viewBox="0 0 32 32" w="18px" h="18px"><path fill="currentColor" d="M27.85 29H30l-6-15h-2.35l-6 15h2.15l1.6-4h6.85zm-7.65-6l2.62-6.56L25.45 23zM18 7V5h-7V2H9v3H2v2h10.74a14.71 14.71 0 0 1-3.19 6.18A13.5 13.5 0 0 1 7.26 9h-2.1a16.47 16.47 0 0 0 3 5.58A16.84 16.84 0 0 1 3 18l.75 1.86A18.47 18.47 0 0 0 9.53 16a16.92 16.92 0 0 0 5.76 3.84L16 18a14.48 14.48 0 0 1-5.12-3.37A17.64 17.64 0 0 0 14.8 7z"></path></svg></span><svg width="1em" height="1em" viewBox="0 0 32 32" class=" uavm2 "><path fill="currentColor" d="M16 22L6 12l1.4-1.4l8.6 8.6l8.6-8.6L26 12z"></path></svg></button><div><div class="ciUdc"><div class="pa-1"><span m="r-1" text="brand">简体中文</span></div><div class="pa-1" font="medium"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/en"><div><div flex="~"><span m="r-1">English</span><svg width="32" height="32" viewBox="0 0 32 32" w="11px" h="11px" text="text-3" m="t-1 r-1"><path fill="currentColor" d="M10 6v2h12.59L6 24.59L7.41 26L24 9.41V22h2V6H10z"></path></svg></div></div></a></div></div></div></div></div></div><div class="social-links FU7nx" nav-h="mobile sm:desktop" flex="~" align-items-center="~" pos="relative"><div h="full" flex="~" gap="x-4" align-items-center="~" transition="color duration-300"><a href="https://github.com/modern-js-dev/modern.js/tree/main/packages/solutions/module-tools" target="_blank" rel="noopener noreferrer"><div class="_8YjQ"><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path></svg></div></a></div></div></div></div></div></div></div></header><section><div p="t-0" m="md:t-14" class="Q34AI"><div class="_aGGP"><button flex="~ center" class="wNUbj"><div text="md" m="r-2"><svg width="1em" height="1em" viewBox="0 0 32 32"><path fill="currentColor" d="M4 6h24v2H4zm0 18h24v2H4zm0-12h24v2H4zm0 6h24v2H4z"></path></svg></div><span text="sm">Menu</span></button></div><aside class="UroNu "><nav m="t-1"><a class="R5q4o EZlU3" target="" cursor="pointer" href="/module-tools/api/index.html"><div m="t-1" p="y-1 x-2" block="~" border="rounded-sm" font-medium="~" class="RCb_U" style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis">概览</div></a><section block="~" class="mt-1"><div flex="~" justify="between" items-start="~" cursor="pointer" class="items-center r3Oz1"><h2 p="y-1 x-2" text="sm" font="semibold">配置项</h2><div p="2" class="BgJSm"><div cursor-pointer="~" style="transition:transform 0.2s ease-out;transform:rotate(90deg)"><svg width="1em" height="1em" viewBox="0 0 32 32"><path fill="currentColor" d="M22 16L12 26l-1.4-1.4l8.6-8.6l-8.6-8.6L12 6z"></path></svg></div></div></div><div style="transition:height 0.2s ease-in-out;overflow:hidden;height:160px"><div m="last:b-0.5 l-4"><a class="R5q4o EZlU3" target="" cursor="pointer" href="/module-tools/api/config/build-config.html"><div m="t-1" p="y-1 x-2" block="~" border="rounded-sm" font-medium="~" class="r3Oz1" style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis">BuildConfig</div></a></div><div m="last:b-0.5 l-4"><a class="R5q4o EZlU3" target="" cursor="pointer" href="/module-tools/api/config/build-preset.html"><div m="t-1" p="y-1 x-2" block="~" border="rounded-sm" font-medium="~" class="r3Oz1" style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis">BuildPreset</div></a></div><div m="last:b-0.5 l-4"><a class="R5q4o EZlU3" target="" cursor="pointer" href="/module-tools/api/config/design-system.html"><div m="t-1" p="y-1 x-2" block="~" border="rounded-sm" font-medium="~" class="r3Oz1" style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis">DesignSystem</div></a></div><div m="last:b-0.5 l-4"><a class="R5q4o EZlU3" target="" cursor="pointer" href="/module-tools/api/config/plugins.html"><div m="t-1" p="y-1 x-2" block="~" border="rounded-sm" font-medium="~" class="r3Oz1" style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis">Plugins</div></a></div><div m="last:b-0.5 l-4"><a class="R5q4o EZlU3" target="" cursor="pointer" href="/module-tools/api/config/testing.html"><div m="t-1" p="y-1 x-2" block="~" border="rounded-sm" font-medium="~" class="r3Oz1" style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis">Testing</div></a></div></div></section><section block="~" class="mt-1"><div flex="~" justify="between" items-start="~" cursor="pointer" class="items-center r3Oz1"><h2 p="y-1 x-2" text="sm" font="semibold">Plugin API</h2><div p="2" class="BgJSm"><div cursor-pointer="~" style="transition:transform 0.2s ease-out;transform:rotate(90deg)"><svg width="1em" height="1em" viewBox="0 0 32 32"><path fill="currentColor" d="M22 16L12 26l-1.4-1.4l8.6-8.6l-8.6-8.6L12 6z"></path></svg></div></div></div><div style="transition:height 0.2s ease-in-out;overflow:hidden;height:32px"><div m="last:b-0.5 l-4"><a class="R5q4o EZlU3" target="" cursor="pointer" href="/module-tools/api/plugin-api/plugin-hooks.html"><div m="t-1" p="y-1 x-2" block="~" border="rounded-sm" font-medium="~" class="r3Oz1" style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis">Plugin Hooks</div></a></div></div></section></nav></aside><div flex="~ shrink-0" class="TP8A7"><div w="full"><div class="overview-index" m="x-auto" p="y-8 x-8"><div flex="~" align-items-center="~" justify="between"><h1>Overview</h1></div><div m="b-16"><h2>配置项</h2><div class="_ecV6"><div class="mLD5f"><div flex="~"><h3 style="margin-bottom:8px"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/config/build-config.html">BuildConfig</a></h3></div><ul list="none"><li m="first:t-2" class="AhQcS EdouY"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/config/build-config.html#alias">alias</a></li><li m="first:t-2" class="AhQcS EdouY"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/config/build-config.html#asset">asset</a></li><li m="first:t-2" class="AhQcS EdouY"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/config/build-config.html#autoexternal">autoExternal</a></li><li m="first:t-2" class="AhQcS EdouY"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/config/build-config.html#buildtype">buildType</a></li><li m="first:t-2" class="AhQcS EdouY"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/config/build-config.html#copy">copy</a></li><li m="first:t-2" class="AhQcS EdouY"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/config/build-config.html#define">define</a></li><li m="first:t-2" class="AhQcS EdouY"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/config/build-config.html#dts">dts</a></li><li m="first:t-2" class="AhQcS EdouY"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/config/build-config.html#externals">externals</a></li><li m="first:t-2" class="AhQcS EdouY"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/config/build-config.html#format">format</a></li><li m="first:t-2" class="AhQcS EdouY"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/config/build-config.html#input">input</a></li><li m="first:t-2" class="AhQcS EdouY"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/config/build-config.html#jsx">jsx</a></li><li m="first:t-2" class="AhQcS EdouY"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/config/build-config.html#metafile">metafile</a></li><li m="first:t-2" class="AhQcS EdouY"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/config/build-config.html#minify">minify</a></li><li m="first:t-2" class="AhQcS EdouY"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/config/build-config.html#outdir">outDir</a></li><li m="first:t-2" class="AhQcS EdouY"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/config/build-config.html#platform">platform</a></li><li m="first:t-2" class="AhQcS EdouY"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/config/build-config.html#sourcedir-1">sourceDir</a></li><li m="first:t-2" class="AhQcS EdouY"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/config/build-config.html#sourcemap">sourceMap</a></li><li m="first:t-2" class="AhQcS EdouY"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/config/build-config.html#splitting">splitting</a></li><li m="first:t-2" class="AhQcS EdouY"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/config/build-config.html#style">style</a></li><li m="first:t-2" class="AhQcS EdouY"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/config/build-config.html#target">target</a></li><li m="first:t-2" class="AhQcS EdouY"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/config/build-config.html#umdglobals">umdGlobals</a></li><li m="first:t-2" class="AhQcS EdouY"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/config/build-config.html#umdmodulename">umdModuleName</a></li></ul></div><div class="mLD5f"><div flex="~"><h3 style="margin-bottom:8px"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/config/build-preset.html">BuildPreset</a></h3></div><ul list="none"><li m="first:t-2" class="AhQcS EdouY"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/config/build-preset.html#string-1">string</a></li><li m="first:t-2" class="AhQcS EdouY"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/config/build-preset.html#function-1">Function</a></li></ul></div><div class="mLD5f"><div flex="~"><h3 style="margin-bottom:8px"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/config/design-system.html">DesignSystem</a></h3></div><ul list="none"><li m="first:t-2" class="AhQcS EdouY"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/config/design-system.html#screens-1">Screens</a></li><li m="first:t-2" class="AhQcS EdouY"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/config/design-system.html#colors-1">Colors</a></li><li m="first:t-2" class="AhQcS EdouY"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/config/design-system.html#spacing-1">Spacing</a></li><li m="first:t-2" class="AhQcS EdouY"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/config/design-system.html#核心插件">核心插件</a></li><li m="first:t-2" class="AhQcS EdouY"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/config/design-system.html#自定义默认配置">自定义默认配置</a></li><li m="first:t-2" class="AhQcS EdouY"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/config/design-system.html#配置引用">配置引用</a></li></ul></div><div class="mLD5f"><div flex="~"><h3 style="margin-bottom:8px"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/config/plugins.html">Plugins</a></h3></div><ul list="none"></ul></div><div class="mLD5f"><div flex="~"><h3 style="margin-bottom:8px"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/config/testing.html">Testing</a></h3></div><ul list="none"><li m="first:t-2" class="AhQcS EdouY"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/config/testing.html#jest-1">jest</a></li><li m="first:t-2" class="AhQcS EdouY"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/config/testing.html#transformer-1">transformer</a></li></ul></div></div></div><div m="b-16"><h2>Plugin API</h2><div class="_ecV6"><div class="mLD5f"><div flex="~"><h3 style="margin-bottom:8px"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/plugin-api/plugin-hooks.html">Plugin Hooks</a></h3></div><ul list="none"><li m="first:t-2" class="AhQcS EdouY"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/plugin-api/plugin-hooks.html#构建钩子">构建钩子</a></li><li m="first:t-2" class="AhQcS EdouY"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/plugin-api/plugin-hooks.html#buildplatform-钩子">buildPlatform 钩子</a></li><li m="first:t-2" class="AhQcS EdouY"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/plugin-api/plugin-hooks.html#调试钩子">调试钩子</a></li></ul></div></div></div></div></div></div></div></section></div></div></body></html>