导出的最佳做法是什么?
class MyUtils {
print() {...}
convert() {...}
}
export default new MyUtils();
或者:
const myUtils = {
print() {...}
convert() {...}
}
export default myUtils;
还是其他什么?
注意:这应该是一个单身,不超过1个实例
答案 0 :(得分:3)
你的第二个选项应该适用于单身人士,这就是我正常使用的选项。根据Felix的评论,我得到的模块是单例,而选项1也可以。我仍然倾向于使用第二个选项,因为代码使我打算非常清楚地使用单例。
const myUtils = {
print() {...}
convert() {...}
}
export default myUtils;
答案 1 :(得分:1)
通常将对象导出为默认导出是一种反模式。你最好的选择是做
export function print() {...}
export function convert() {...}
然后做
import * as utils from "./utils";
避免完全创建对象,并依赖模块对象本身作为命名空间。
答案 2 :(得分:-1)
如果是单身人士,只需导出该对象即可。您应该像下面一样导出类,并且只有在您多次使用它时才会导出。 (毕竟,类的意义在于它应该像创建多个对象的模板一样运行)
export default class MyUtils {
print() {...}
convert() {...}
}