【发布时间】:2018-10-19 21:47:04
【问题描述】:
我有一个小节点包,我希望用户只在他们的项目中使用命名导入。
import { Logger } from 'logger';
但是,没有什么可以阻止用户这样做
import defaultImportedLogger from 'logger';
当他们发现 defaultImportedLogger 是 undefined 因为我的项目在任何地方都没有 export default 时,他们将很难学。因此默认导出为undefined。
如果我尝试导入命名导出,例如:
import { foo } from 'logger'
我的编辑会抱怨,因为foo 没有暴露。为什么我的编辑在默认导入的情况下不报错?
【问题讨论】:
-
不导出某些东西会阻止他们导入它(但不是试图这样做,没有什么可以做到的)。你只是在做正确的事。
-
“为什么我的编辑不抱怨?” - 这是一个单独的问题。
-
正确@Bergi。对于那些对编辑问题感到好奇的人,这个eslint rule 应该会对你有所帮助。
标签: node.js ecmascript-6