问题描述
我在构建应用程序时遇到某种编译失败。
node_modules/@mycomp/lib-my-pat/shared/store/selectors/filter.selector.d.ts:5:75 - error TS2304: Cannot find name 'Interval'.
const getDateInterval: import("@ngrx/store").MemoizedSelector<object,Interval,import("@ngrx/store").DefaultProjectorFn<Interval>>;
它说 Cannot find name 'Interval'.
即使它可用。但它来自不同的库,其他库也使用此间隔,并且在应用程序内运行良好。这个库只会通过这样说来引发编译问题。
如果我将这个有问题的库链接到本地应用并运行,它就可以正常工作。
此 Interval 来自 date-fns
库。它已作为对等依赖项添加到库和应用程序的依赖项。还有一些其他库也在应用程序内部使用相同的间隔,并且这些库工作正常。我该如何解决这个问题?
解决方法
在那里尝试了一些解决方法后,我得到了这个问题的解决方案。
它发生的原因是date-fns
。它没有在应用程序内部使用,但已在库中使用。
在侧库中,没有导入该 Interval 来全局解析它。间隔已由库内的其他模块解决。因此必须在库中添加 import 语句来解决该问题。然后它在全局可见。
import { Interval } from 'date-fns';