Webpack导入返回未定义,具体取决于导入顺序

亚历克·梅夫(Alec Mev)

我正在使用webpack + babel。我有三个看起来像这样的模块:

// A.js

// some other imports here
console.log('A');
export default 'some-const';

// B.js

import someConst from './A';
console.log('B', someConst);
export default 'something-else';

// main.js

import someConst from './A';
import somethingElse from './B';
console.log('main', someConst);

main.js执行时,我看到以下内容:

B undefined
A
main some-const

如果将中的进口交换为main.js,则B成为第一个,我得到:

A
B some-const
main some-const

怎么会B.js得到undefined而不是第一个版本中的模块?怎么了?

亚历克·梅夫(Alec Mev)

在解决问题(拉头发)近一整天的工作后,我终于意识到我有一个循环依赖。

它说的是// some other imports hereA导入另一个模块C,然后依次导入BA首先在得到进口main.js,所以B最终是在“圆”的最后一个环节,和的WebPack(或任何CommonJS的般的环境,对于这个问题,如Node)刚刚短路通过返回Amodule.exports,这仍然是undefined最终,它等于some-const,但是同步代码B最终undefined代替了。

通过移出C依赖于out的代码,消除循环依赖关系B解决了该问题。希望Webpack能够以某种方式警告我。

编辑:最后一点,如@cookie所指出的,如果您想避免再次遇到此问题,则有一个用于循环依赖项检测的插件

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Ember返回的url参数未定义,具体取决于参数名称

来自分类Dev

动态导入:导入css模块,具体取决于

来自分类Dev

反应导入的函数返回未定义

来自分类Dev

C中的“未定义的函数引用”错误,具体取决于定义的位置

来自分类Dev

C中的“未定义的函数引用”错误,具体取决于定义的位置

来自分类Dev

SASS @导入多个文件,具体取决于屏幕大小

来自分类Dev

Python:导入模块麻烦,具体取决于运行模式

来自分类Dev

导入的函数未定义

来自分类Dev

create-react-app导入的函数返回未定义

来自分类Dev

从index.ts导入返回未定义

来自分类Dev

无法使用karma-webpack和babel导入类。导入的类未定义

来自分类Dev

取决于具有未定义符号的共享库

来自分类Dev

模块导入:NameError:名称未定义

来自分类Dev

Golang导入(未定义:请求)

来自分类Dev

CSV导入未定义数据

来自分类Dev

CSV导入:未定义的方法“路径”

来自分类Dev

导入在Typeorm中给出未定义

来自分类Dev

打字稿导入的对象未定义

来自分类Dev

Keras模型导入名称未定义

来自分类Dev

全局导入的变量未定义

来自分类Dev

CSV导入未定义数据

来自分类Dev

ANTLRWorks未定义的导入错误

来自分类Dev

CSV导入:未定义的方法“路径”

来自分类Dev

导入模块错误这是未定义的

来自分类Dev

为什么在 javascript 中执行导入时,有时会返回未定义的变量?

来自分类Dev

导入的sass文件出现严重的“未定义变量”错误

来自分类Dev

烧瓶不能导入枚举?UndefinedError:“枚举”未定义

来自分类Dev

PHP CSV导入脚本“未定义偏移”错误

来自分类Dev

导入Bootstrap时,nil:NilClass的未定义方法`environment'

Related 相关文章

热门标签

归档