如何导出此覆盖功能,以便导入模块可以检查是否已调用该函数?
// util.js
export function isPageload() {
return (!!(isPageload = function() { return false; }));
}
当我用Babel编译它时,我收到此错误:
Uncaught TypeError: (0 , _util2.default) is not a function
这是ES5的等价物:
var isPageload = function() {
return (!!(isPageload = function() { return false; }));
}
console.log(isPageload()); // true
console.log(isPageload()); // false
答案 0 :(得分:29)
错误中的.default
表明你正在做
import isPageload from 'foo';
当你可能想要
时import {isPageload} from 'foo';
因为
export function isPageload() {
创建命名导出,而不是默认导出,默认导出实时绑定更新currently does not work in Babel。
然而,你对这个问题的处理似乎有点迂回。为什么不
let loaded = true;
export isPageLoaded(){
let state = loaded;
loaded = false;
return loaded;
}