我正在使用Create React App构建的项目(未弹出),并且我同时安装了codemirror和@types/codemirror模块。
类型的设置方式是它使用namespace merging来扩展类型以匹配Codemirror如何通过附加组件添加功能。
例如,如果您只是这样做:
import {EditorConfiguration} from "codemirror"
EditorConfiguration
中定义的默认@types/codemirror/index.d.ts
接口没有styleActiveLine
属性
但是,如果您这样做:
import {EditorConfiguration} from "codemirror"
import "codemirror/addon/selection/active-line";
@types/codemirror/addon/selection/active-line.d.ts
的内容:
import * as CodeMirror from "codemirror";
declare module "codemirror" {
...
interface EditorConfiguration {
styleActiveLine?: StyleActiveLine | boolean;
}
}
然后接口EditorConfiguration
将具有styleActiveLine
属性。
因此上述所有作品,100%,我印象深刻。但是,当我尝试导入@types/codemirror/codemirror-comment.d.ts
时,打字稿编译器出了以下错误:
Can't resolve 'codemirror/codemirror-comment' in 'project\src\editor-components'
这仅在文件位于模块根目录中时发生。知道这里发生了什么吗?
[其他说明:
1)我还尝试对相对路径进行一些奇怪的操作,例如将该文件称为“ codemirror / addon /../ codemirror-comment”。那似乎没有用。