在react-codemirror2中需要vs导入语法

问题描述

此示例在react_codemirror2中完全混淆,该示例同时使用importrequire语法; [请参见requiring codemirror resources部分中的https://github.com/scniro/react-codemirror2]

import CodeMirror from 'react-codemirror2'; 
require('codemirror/mode/xml/xml'); 
require('codemirror/mode/javascript/javascript');

我知道require('codemirror / etc')一词指的是普通的JS库依赖项(不是特定于React的),但是为什么require甚至可以工作而不会抛出错误

可以将require替换为import吗? 如何使VS Code编辑器中的警告消失?

enter image description here

解决方法

这部分文档的主要思想是您需要自己 require 自己需要的 CodeMirror 模块(这意味着如果您需要 javascript 模式或自动完成,您需要将这些模块添加到您的代码中)。

react-codemirror2 文档说:

如何导入/要求这些资产将根据 您的开发环境的细节

在大多数情况下,requireimport 的作用相同,因此您可以使用 react-codemirror2 文档中提供的代码:

import CodeMirror from 'react-codemirror2'; 
require('codemirror/mode/xml/xml'); 
require('codemirror/mode/javascript/javascript');

或将其模拟与导入一起使用:

import CodeMirror from 'react-codemirror2'; 
import 'codemirror/mode/xml/xml'; 
import 'codemirror/mode/javascript/javascript';