在导入模块的特定部分时,是否可以导入而不导入模块的所有副作用?
示例:
Module_A.js
导出自定义元素(CustomElement
)的类定义,但也将其在自定义元素注册表中定义为副作用Module_B.js
从CustomElement
导入Module_A
以便可以对其进行扩展,但是由于Module_A
已经在注册表中定义了CustomElement
,Module_B
无法使用该名称定义它自己的元素。理想情况下,Module_B
可以从CustomElement
导入Module_A
,而不会运行Module_A
的任何副作用,从而允许使用所需的特定部分,也不会出现任何意外情况。
这可能吗?
答案 0 :(得分:1)
否,这是不可能的。您所能做的就是拆分模块以消除副作用。
在您的示例中,
CustomElement.js
将导出自定义元素(CustomElement
)的类定义Module_A.js
将导入CustomElement
并还将其在自定义元素注册表中定义为副作用Module_B.js
将导入CustomElement
,以便对其进行扩展,并使用该名称定义自己的元素。