我想知道在另一个模块中导入模块的功能/类的最佳实践是什么,该模块本身在导入另一个模块之前需要调用/初始化其自身的功能/类?我不知道我能否清楚地问我的问题!因此,让我们举一个例子。
这是我的模块:
// myModule.js
class MyModule {
constructor() {
// do sth
}
}
let myModule = new MyModule();
这就是我想将其导入另一个模块的方式:
import MyModule from './myModule';
这实际上很好!但是正如您所看到的,在myModule.js
文件中我不是export default
我的MyModule
班,因为这不是文件中唯一发生的事情myModule.js
!我也在定义它之后初始化该类...(我知道,即使我将类设置为export default
初始化,当将模块导入其他地方时,初始化仍然可以正常工作...)
因此,无需将任何内容设置为在模块内部导出,或将类设置为export default
,将模块导入其他地方后,一切都可以正常工作……到目前为止,一切都很好!但是,我正在寻找一种最佳实践!
因此,这是我对此类情况的疑问:
export default
,尽管我们在模块的类之外进行了更多工作(定义类后正在执行的初始化工作)?非常感谢大家!我真的很感谢对此的任何帮助:)
非常感谢你们的回答。我非常感谢。实际上,我对正在从事的项目感到非常困惑,所以也许我无法表达自己的意图。
但是无论如何,我会针对自己的问题写自己的答案,也许其他人会发现它们很有用:
拥有一个export default
或export
一个我们将要编写的模块总是一个好习惯。因为每段代码都倾向于产生一些结果,对吗?因此,在一个模块中,我们应该考虑最终要实现的目标,然后将其导出。导出您的输出,即您希望模块在将其导入其他地方时将提供的东西。
如果您的模块是单个类,那么对它很好export default
。否则,就像我在第一个答案中所说的那样,这完全取决于您将在模块中实现的目标以及结果是什么。导出所有结果,实用程序功能等。
您可能也喜欢这样做!但是首先考虑您的用例。一旦将模块导入其他地方,模块中的所有代码将被执行。因此,您可以做任何想做的事情,然后导出最终结果。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句