正在以create-react-app
开始的应用程序上工作。
在我的代码中,我有多个名为import的文件,其编写方式如下:
import {Banana, Apple} from 'fruits'
fruits
模块是其中包含index.js
的文件夹,其中具有export {Banana} from './banana'
的某个位置。该./banana
导出对象Banana = {bite: ()=>{}}
。所以我期望
Foo
是在banana
中导出的对象。现在,我正在尝试做类似的事情
const {bite} = Banana;
该捆绑软件构建成功,但是当我运行它时-失败,表示无法从
bite
获取undefined
。而对我来说真正奇怪的是-以前没有发生过,但是后来就开始发生了,没有任何特殊原因。但是有时Jest也发生了-无法从未定义导入
bite
。现在我正在做
import {Banana} from 'fruits/banana';
import {Apple} from 'fruits/apple';
这样就可以了。但是,我希望它成为
import {Banana, Apple} from 'fruits';
const {bite} = Banana;
有什么想法可能导致这种情况吗?
我应该怎么做才能保持所需的代码(见上文)?
最佳答案
毕竟,事实证明在我们自己的特定设置中这是一个循环依赖项问题(webpack有时会为未直接引用或未引用所使用脚本的脚本返回未定义的信息。
我们在每个文件夹(例如index.js
)中都有一个fruits
脚本,并且其中一个模块使用了另一个脚本(例如Banana
使用了从Pineapple
导入的fruits
,而不是直接引用它,fruits/Pineapple
)
这个问题一劳永逸,教我在每个Webpack构建中使用circular-dependency-plugin(并避免循环依赖)
关于javascript - Babel,ES6,Webpack-销毁销毁的进口商品,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52219746/