在创建React App + Typescript设置中的@types模块中导入根目录文件

问题描述 投票:0回答:1

我正在使用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”。那似乎没有用。

2)打字稿服务器确实在某个时候看到了它,并提供了自动更正功能,但是编译器似乎没有看到它。Code

typescript webpack create-react-app codemirror
1个回答
0
投票

您是否尝试过使用完整的名称空间/路径

请参阅此处如何导入Axios

enter image description here

我希望这对你有用

© www.soinside.com 2019 - 2024. All rights reserved.