首页 > 解决方案 > Webpack:模块评估期间未定义的导入

问题描述

我遇到了一个我无法解决的问题。假设我们有一个模块

export const Do = (arg) => arg + 1;

还有另一个模块

import { Do } from './Do';

const foo = 5;
export const DoneFoo = Do(foo);

使用 webpack 时,发出的代码会导致Do is not a function异常(如导入Do的那样undefined)。但是,如果我将代码更改为

import { Do } from './Do';

const foo = 5;
export const GetDoneFoo = () => Do(foo);

它工作正常。似乎 webpack 按照在评估文件依赖项之前评估文件的顺序对模块进行排序。

这个例子被简化了。此问题仅发生在单个大型工作区中,并且仅针对某些模块。我的假设是依赖关系图有些损坏,但是,我不知道如何成功调试它并解决导致问题的原因。

捆绑包作为库输出并在 Web 浏览器 (window.libraryName) 中使用。

标签: javascriptwebpacknode-moduleses6-modules

解决方案


推荐阅读