在阅读源码monaco-editor的时候,我看到
import * as api from 'vs/editor/editor.api';
这行代码中有import,但是我在项目中找不到这个路径vs/editor/editor.api
,请问在哪里如何引入的呢?
在阅读源码monaco-editor的时候,我看到
import * as api from 'vs/editor/editor.api';
这行代码中有import,但是我在项目中找不到这个路径vs/editor/editor.api
,请问在哪里如何引入的呢?
在monaco-editor
的源码中,vs/editor/editor.api
并不是指的一个文件系统路径,而是一个模块标识符,它对应于项目内部构建系统(通常是基于webpack或其他模块打包工具)配置的别名或路径映射。
在monaco-editor
这样的项目中,通常会配置webpack或类似的工具来解析这些模块标识符。vs/editor/editor.api
这种路径在内部被映射到项目内部的某个具体位置,可能是TypeScript定义文件或编译后的JavaScript文件。
为了找到vs/editor/editor.api
实际对应的文件,你需要检查monaco-editor
项目的构建配置文件。这通常是一个名为webpack.config.js
、tsconfig.json
或者与构建系统相关的其他配置文件。
在monaco-editor
的GitHub仓库中,你可以搜索这些配置文件,查找vs/editor/editor.api
的映射路径。一旦找到映射,你就可以根据这个映射找到实际文件的位置。
注意,这些映射通常是专门为项目的构建过程设置的,因此它们可能不会直接映射到一个可以在文件系统上直接访问的路径。也就是说,如果你只是下载了源码而没有运行构建过程,你可能无法直接找到对应的文件。
最后,由于monaco-editor
是一个独立的库,通常情况下,作为使用者,你不需要关心其内部的模块路径。相反,你应该查看项目的文档和API,了解如何正确地引入和使用这个库。如果你正在尝试构建或修改monaco-editor
本身,那么你将需要更深入地了解项目的构建系统和源代码结构。
这是个利用.d.ts声明的模块。
你截图里不是有一行/// <reference path="./editor.api.d.ts" />
吗?
你打开它,就看到里面是
declare module 'vs/editor/editor.api' {
const x: any;
export = x;
}
这里declare module
的作用就是声明了一个名为vs/editor/editor.api
的模块,然后就可以用import
来用它了。
8 回答4.7k 阅读✓ 已解决
6 回答3.4k 阅读✓ 已解决
6 回答2.3k 阅读
5 回答6.3k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
安装 monaco-editor:
在
node_modules/monaco-editor/esm/vs/editor/editor.api.js
中