如何在摩纳哥使用addExtraLib添加lodash库

Him*_*har 5 javascript monaco-editor

我希望摩纳哥编辑将 lodash 视为一个库。为了解决这个问题,我使用addExtraLib(content: string, filePath?: string)。由于 lodash 是我的节点模块,我可以提供文件路径,但要在内容中写入内容。我需要在我的摩纳哥编辑器中启用 lodash 的全部功能。

我可以使用https://microsoft.github.io/monaco-editor/playground.html#extending-language-services-configure-javascript-defaults添加一个小型自定义库

需要帮助来解决此问题。 在此输入图像描述

Prz*_*ela -1

您可以使用 Webpack 来管理它。

  1. 使用 CopyPlugin 将您想要在 Monaco Editor 中使用的有趣的 d.ts 文件复制到项目的输出中。
  2. 使用 ManifestPlugin 创建清单文件,其中包含要加载到摩纳哥的 d.ts 文件列表
plugins: [
    new CopyPlugin({
      patterns: typesToUse,
    }),
    new ManifestPlugin.WebpackManifestPlugin({
      fileName: 'dts-files.json',
      generate: (seed, files) => {
        return files.filter(file => file.name.endsWith('.d.ts')).map(file => file.name);
      }
    })
    ]
Run Code Online (Sandbox Code Playgroud)
  1. 使用 Webpack 源创建的内容来填充 Monaco 定义:
plugins: [
    new CopyPlugin({
      patterns: typesToUse,
    }),
    new ManifestPlugin.WebpackManifestPlugin({
      fileName: 'dts-files.json',
      generate: (seed, files) => {
        return files.filter(file => file.name.endsWith('.d.ts')).map(file => file.name);
      }
    })
    ]
Run Code Online (Sandbox Code Playgroud)

回购| 演示