首页
/ 【亲测免费】 使用指南:React Monaco Editor 框架

【亲测免费】 使用指南:React Monaco Editor 框架

2026-01-17 09:08:46作者:魏侃纯Zoe

1. 项目介绍

React Monaco Editor 是一个用于在React应用程序中集成微软Monaco编辑器的库。它允许你在Web页面上创建类似于VSCode的代码编辑体验,支持语法高亮、自动补全和错误检查等功能。该项目是基于MIT许可证发布的,适合商业和开源项目使用。

2. 项目快速启动

首先确保你已经安装了Node.js和npm。接下来,你可以按照以下步骤来引入并运行一个基本的React Monaco Editor实例:

安装依赖

npm init -y
npm install react react-dom react-monaco-editor --save
# 如果是create-react-app项目,还需要安装以下插件
npm install --save-dev react-app-rewired
npm install --save-dev MonacoEditorWebpackPlugin

配置webpack(仅限非create-react-app项目)

在你的webpack.config.js文件中添加MonacoEditorWebpackPlugin

const MonacoWebpackPlugin = require('monaco-editor-webpack-plugin');

module.exports = {
  // ...
  plugins: [
    new MonacoWebpackPlugin({
      languages: ['javascript']
    })
  ]
};

创建React组件

在你的项目中的某个JSX文件中创建一个新的React组件。

import React, { Component } from 'react';
import MonacoEditor from 'react-monaco-editor';

class App extends Component {
  constructor(props) {
    super(props);
    this.state = {
      code: '// type your code'
    };
  }

  editorDidMount(editor, monaco) {
    console.log('editorDidMount', editor);
    editor.focus();
  }

  onChange(newValue, e) {
    console.log('onChange', newValue, e);
  }

  render() {
    const { code } = this.state;
    const options = {
      selectOnLineNumbers: true
    };

    return (
      <MonacoEditor
        width="800"
        height="600"
        language="javascript"
        theme="vs-dark"
        value={code}
        options={options}
        onChange={this.onChange}
        editorDidMount={this.editorDidMount}
      />
    );
  }
}

export default App;

运行项目

对于create-react-app项目,你需要使用react-app-rewired来配置Webpack。

// 在package.json中替换原有的"start"命令
"scripts": {
  "start": "react-app-rewired start"
}

现在,运行你的项目:

npm start

浏览器将会打开一个新的窗口,显示带有Monaco编辑器的简单React应用。

3. 应用案例和最佳实践

  • 代码主题切换:通过设置theme属性可以方便地在不同主题之间切换。
  • 交互操作:使用editorDidMount方法获取到编辑器实例,然后调用其方法进行交互,如editor.setValue()来设置初始值,editor.getAction('editor.action.formatDocument')().run()执行代码格式化。
  • 错误标记和警告:使用Monaco的API实现自定义的错误验证规则并展示在编辑器中。

4. 典型生态项目

  • react-app-rewired:帮助自定义create-react-app构建过程。
  • MonacoWebpackPlugin:专为Webpack设计的插件,用来加载Monaco Editor相关的资源。

更多示例和详细信息可以参考React Monaco Editor官方文档

登录后查看全文
热门项目推荐
相关项目推荐