正在以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/

10-11 09:07