我通过npm安装了一个模块,并尝试在我的打字稿文件中访问它。
npm install marker-animate-unobtrusive --save
import SlidingMarker = require('marker-animate-unobtrusive');
这导致
//Error TS2307: Cannot find module 'marker-animate-unobtrusive'
搜索此问题会改变编译器选项,其他人会提到为类型脚本创建一个d.ts文件来识别模块,但我从来没有在任何地方得到明确的答案。我试过这些方法,但到目前为止收效甚微。 我正在使用Angular 2和Ionic 2,如果这些信息有帮助的话。
任何帮助表示赞赏!!
答案 0 :(得分:1)
问题是因为SlidingMarker npm模块还没有类型定义。
1)在typings / marker-animate-unobtrusive.d.ts中创建通用定义:
declare module 'marker-animate-unobtrusive' {
const x: any;
export = x;
}
2)将此文件添加到typings / main.d.ts中的定义列表(如果使用较新的类型,则添加到typings / index.d.ts):
/// <reference path="marker-animate-unobtrusive.d.ts"></reference>
3)接下来,更新您的import语句:
import * as SlidingMarker from 'marker-animate-unobtrusive';
Volia!注意,您可能需要将任何变为“SlidingMarker”的变量更改为“any”以避免其他TypeScript错误。