首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“标识符'global‘已在compileFunction中声明”升级到monaco editor 0.21.0后jest测试中出现错误

“标识符'global‘已在compileFunction中声明”升级到monaco editor 0.21.0后jest测试中出现错误
EN

Stack Overflow用户
提问于 2020-09-24 16:38:30
回答 1查看 595关注 0票数 4

我升级了我的react项目,以使用monaco editor版本0.21.0,从那时起,对导入了monaco editor的文件的jest测试开始失败,出现以下错误:

代码语言:javascript
复制
● Test suite failed to run

/Users/omerharoon/Documents/code/packages/webapp/node_modules/monaco-editor/esm/vs/editor/editor.api.js:20
const global = self; // Set defaults for standalone editor
      ^

SyntaxError: Identifier 'global' has already been declared
    at compileFunction (<anonymous>)

  2 | 
  3 | import React from 'react';
> 4 | import * as monaco from 'monaco-editor';
    | ^
  5 | import { Resizable } from 're-resizable';
  6 | import {
  7 |   getLanguageFromFilename,

  at Runtime._execModule (node_modules/jest-runtime/build/index.js:1179:56)
  at Object.<anonymous> (src/components/helpers/MonacoEditor/index.tsx:4:1)
  at Object.<anonymous> (src/components/helpers/MonacoEditor/monaco_colorization.spec.tsx:6:1)

这在升级之后就开始发生了,旧版本是0.19.3,所有的测试都在这个版本上工作得很好。摩纳哥-编辑器-webpack-插件也从1.9.0升级到2.0.0

我们直接从

代码语言:javascript
复制
node_modules/monaco-editor/esm/vs/editor/editor.api

为了克服延迟加载的问题。

Jest配置:

代码语言:javascript
复制
"jest": {
"modulePaths": [
  "<rootDir>/src"
],
"collectCoverageFrom": [
  "**/*.{js,jsx,ts,tsx}",
  "!**/*.d.ts",
  "!**/node_modules/**",
  "!**/public/**",
  "!**/next.config.js",
  "!**/server.js"
],
"setupFilesAfterEnv": [
  "<rootDir>/setupTests.js"
],
"testPathIgnorePatterns": [
  "<rootDir>/node_modules/",
  "<rootDir>/.next/",
  "<rootDir>/public/",
  "<rootDir>/config/",
  "<rootDir>/next.config.js",
  "<rootDir>/server.js",
  "<rootDir>/build/"
],
"transform": {
  "^.+\\.[jt]sx?$": "babel-jest",
  "^.+\\.css$": "<rootDir>/config/jest/cssTransform.js"
},
"transformIgnorePatterns": [
  "/node_modules/(?!monaco-editor)/",
  "^.+\\.module\\.(css|sass|scss)$"
],
"moduleNameMapper": {
  "^monaco-editor$": "monaco-editor/esm/vs/editor/editor.api",
  "^.+\\.module\\.(css|sass|scss)$": "identity-obj-proxy"
},
"coverageReporters": [
  "text",
  [
    "lcov",
    {
      "projectRoot": "../../"
    }
  ]
]},
EN

回答 1

Stack Overflow用户

发布于 2021-04-15 09:10:47

升级到monaco-editor 0.23.0为我解决了这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64042617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档