【发布时间】:2017-08-31 00:54:12
【问题描述】:
我有这个功能:
// menuAnimate() adds/removes the classes for the mobile menu animation
export default function menuAnimate() {...}
我正在将其导入我的 mocha 测试文件,如下所示:
import { menuAnimate } from '../src/scripts/nav';
但是,当我运行涉及 menuAnimate 的测试时,我收到一个错误:
/Users/johnsoct/Dropbox/Development/andybeverlyschool/src/scripts/nav.js:67
navToggle.addEventListener('click', menuAnimate);
TypeError: Cannot read property 'addEventListener' of null
此错误是从nav.js 内更下方的代码中引发的。
navToggle.addEventListener('click', menuAnimate);
如何只导出功能块?
【问题讨论】:
-
我认为这是不可能的。你能把不想运行的代码注释掉吗?
-
顺便说一句,这不是您导入默认导出的方式
-
@AndrewLi 好吧,你如何导入默认导出?
-
@ChrisJohnson 对于默认导出,删除导入周围的括号:
import menuAnimate from '...' -
@ChrisJohnson 默认导出没有括号。如果您要导出 多个 事物然后导入它们,则使用括号,称为 命名导出,例如
function foo() {}; function bar() {}; export { foo, bar };,然后将其导入:import { foo, bar } from '...'。foo和bar在此处被 命名 导出。在MDN page 上查看更多信息。
标签: javascript module ecmascript-6 mocha.js chai