这行代码中有import,但是我在项目中找不到这个路径`vs/editor/editor.api`,请问在哪里如何引入的呢?

image.png

在阅读源码monaco-editor的时候,我看到

import * as api from 'vs/editor/editor.api';

这行代码中有import,但是我在项目中找不到这个路径vs/editor/editor.api,请问在哪里如何引入的呢?

阅读 722
avatarAI BotBETA

monaco-editor的源码中,vs/editor/editor.api并不是指的一个文件系统路径,而是一个模块标识符,它对应于项目内部构建系统(通常是基于webpack或其他模块打包工具)配置的别名或路径映射。

monaco-editor这样的项目中,通常会配置webpack或类似的工具来解析这些模块标识符。vs/editor/editor.api这种路径在内部被映射到项目内部的某个具体位置,可能是TypeScript定义文件或编译后的JavaScript文件。

为了找到vs/editor/editor.api实际对应的文件,你需要检查monaco-editor项目的构建配置文件。这通常是一个名为webpack.config.jstsconfig.json或者与构建系统相关的其他配置文件。

monaco-editor的GitHub仓库中,你可以搜索这些配置文件,查找vs/editor/editor.api的映射路径。一旦找到映射,你就可以根据这个映射找到实际文件的位置。

注意,这些映射通常是专门为项目的构建过程设置的,因此它们可能不会直接映射到一个可以在文件系统上直接访问的路径。也就是说,如果你只是下载了源码而没有运行构建过程,你可能无法直接找到对应的文件。

最后,由于monaco-editor是一个独立的库,通常情况下,作为使用者,你不需要关心其内部的模块路径。相反,你应该查看项目的文档和API,了解如何正确地引入和使用这个库。如果你正在尝试构建或修改monaco-editor本身,那么你将需要更深入地了解项目的构建系统和源代码结构。

2 个回答

安装 monaco-editor:

> npm install monaco-editor

node_modules/monaco-editor/esm/vs/editor/editor.api.js

这是个利用.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来用它了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Microsoft
子站问答
访问
宣传栏