我一直试图为' react-dates'写一个自定义声明文件。 npm模块,但无法让编译器将我的声明文件解析为该模块。
当我import {DateRangePicker} from 'react-dates'
时,我收到以下错误:
无法找到模块' react-dates'的声明文件。 ' absolute_path / SRC / node_modules /反应-日期/ index.js' 隐含地有一个“任何”的类型。
我的声明文件位于路径' @ types / react-dates / index.d.ts'看起来像这样:
import * as React from 'react';
declare class DateRangePicker extends React.Component<{}, {}> { }
tsconfig.json看起来像这样:
{
"compilerOptions": {
"outDir": "./dist/",
"sourceMap": true,
"noImplicitAny": true,
"strictNullChecks": true,
"module": "commonjs",
"target": "es6",
"jsx": "react",
"typeRoots": [
"./@types"
]
},
"include": [
"./app/**/*",
"./@types/**/*"
]
}
答案 0 :(得分:3)
通过将它包装在这样的模块语句中来解决它:
declare module 'react-dates' {
import { Component } from 'react';
export class DateRangePicker extends Component<{}, {}> { }
}
请注意,import语句必须位于模块块内,否则返回:
扩充中的模块名称无效。模块&#39; react-dates&#39;解析为&path; / path_modules / react-dates / index.js&#39;中的无类型模块,无法扩充。