我正在用打字稿代码导入相对模块:
import * as NGLViewer from '../../ngl/build/js/ngl.esm'
(位于https://github.com/arose/ngl) 该模块是使用typescript构建的,并且内部具有很多类型,但是无论出于何种原因,它都没有模块声明文件。因此,当我导入它时,会出现此错误:
52:28 Could not find a declaration file for module '../../ngl/build/js/ngl.esm'.
'/myproject/ngl/build/js/ngl.esm.js' implicitly has an 'any' type.
所以我想我可以在modules.d.ts
文件中添加环境模块decl:
declare module '../../ngl/build/js/ngl.esm'
但是会出现此错误:
12:16 Ambient module declaration cannot specify relative module name.
我不想修改“ ngl”模块,除此之外,一切正常,所以我只想关闭错误。我的modules.d.ts
中正确的咒语是什么?还是我输入的是错误的东西?
答案 0 :(得分:0)
该错误表明模块声明不能具有相对的模块名称,例如“ ../../module_name”。您是否尝试过使用软件包管理器(例如npm或yarn)将此模块添加到您的代码库中?
如果您使用的是包管理器,则在.d.ts文件中声明模块的正确方法如下:
declare module "ngl"{
// properties and their types
}