有没有一种干净的导入模块的方法?

时间:2020-12-29 02:38:50

标签: javascript

我目前正在处理一个项目,我必须将文件导入到我的 index.js 文件中。

这是一个片段:

import './inspector'
import { openSidebar, collapse } from './inspector'

我想从 inspector.js 导入所有内容,以便在该文件中运行更多逻辑,同时在其中导入 openSidebarcollapse 函数。但我注意到我的编辑器中出现 eslint 错误 no-duplicate-imports

如何解决这个问题?我仍在学习如何在 javascript 中完全导入。我在想,也许删除其中一个导入仍然有效。提前致谢。

1 个答案:

答案 0 :(得分:1)

无论何时导入模块,模块的所有代码都会运行,无论导入什么 - 即使没有导入任何内容。给定以下模块:

// inspector.js
console.log('running inspector');
export const openSidebar = () => console.log('opening sidebar');
export const collapse = () => console.log('collapsing');

以下代码将成功记录 running inspector(除了该模块顶层存在的任何其他代码):

import './inspector';

以下行也会记录它:

import { openSidebar, collapse } from './inspector';

所以你应该能够使用上面的那个版本,它将运行顶级代码从模块中导入所需的值。