繁体   English   中英

将外部模块包含到Typescript文件中时,TS2307错误

[英]TS2307 error when including external modules to Typescript file

我通过npm安装了一个模块,并试图在我的打字稿文件中访问它。

npm install marker-animate-unobtrusive --save

import SlidingMarker = require('marker-animate-unobtrusive');

这导致

//Error TS2307: Cannot find module 'marker-animate-unobtrusive'

搜索该问题会带来编译器选项的升级,其他人提到为Type Script创建一个d.ts文件以识别该模块,但是我在任何地方都没有一个明确的答案。 我尝试了这些方法,但到目前为止收效甚微。 如果此信息有帮助,我正在为此使用Angular 2和Ionic 2。

任何帮助表示赞赏!

问题是因为SlidingMarker npm模块还没有类型定义。

1)在types / marker-animate-unobtrusive.d.ts中创建通用定义:

declare module 'marker-animate-unobtrusive' {
  const x: any;
  export = x;
}

2)将此文件添加到types / main.d.ts(如果使用的是较新的类型,则为types / index.d.ts)的定义列表:

/// <reference path="marker-animate-unobtrusive.d.ts"></reference>

3)接下来,更新您的导入语句:

import * as SlidingMarker from 'marker-animate-unobtrusive';

ia! 注意,您可能需要将任何转换为​​“ SlidingMarker”的变量更改为“ any”,以避免其他TypeScript错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM