Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Webpack从模块中提取依赖于外部范围的函数_Javascript_Webpack_Webpack 4 - Fatal编程技术网

Javascript Webpack从模块中提取依赖于外部范围的函数

Javascript Webpack从模块中提取依赖于外部范围的函数,javascript,webpack,webpack-4,Javascript,Webpack,Webpack 4,有时,当模块的函数中几乎没有代码时,我会注意到这个错误: // module A import data from "data.json"; export function getSomeData() { return data; } // module B impoort { getSomeData } from "moduleA"; alert(getSomeData()); 那么这个错误就是 TypeError:数据\u json\u网页包\u导入的\u模块\u 1\u未定

有时,当模块的函数中几乎没有代码时,我会注意到这个错误:

// module A
import data from "data.json";

export function getSomeData() {
    return data;
}

// module B
impoort { getSomeData } from "moduleA";

alert(getSomeData());
那么这个错误就是

TypeError:数据\u json\u网页包\u导入的\u模块\u 1\u未定义

我注意到在模块B的顶部有一些绑定导出(不管是什么)


这让我觉得,只要有可能,为了优化东西,webpack会捆绑它,这样只有这个函数才能执行,但它忽略了它依赖于模块本身的数据。我怎样才能防止这种情况发生(除了编写更好的代码之外,duh)?

我为将来失去的灵魂发布这篇文章

我发现原因是我将模块B也包含在模块A中,这似乎是webpack处理递归包含(其中节点将返回空对象)的一种非常聪明的方式。遗憾的是,对于像我这样没有适当知识的人来说,调试这可能会非常令人沮丧和耗时


希望它能帮助别人。

这只是偶尔发生的事?无法可靠地复制?@CertainPerformance我甚至不确定情况是否如此,我只是希望有人已经偶然发现了这一点,并能分享他们的经验。对我来说似乎是一个常见的问题。这似乎是一个错误。。。请尝试在网页包存储库中报告此情况。如果可能的话,把这个例子推到github上,这样他们就可以测试它了。
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getSomeData", function() { return getSomeData; });