2

我正在开发一个基于这个样板的应用程序:react-app-boilerplate

我正在使用react-codemirror 模块

我想将 javascript 模式应用于 codemirror,但是当我简单地插入在http://codemirror.net/mode/javascript/javascript.js找到的外部脚本时,我得到一个“CodeMirror 未定义”错误

我不确定如何在此配置中将所有内容连接在一起,我试图从 javascript.js 文件中的 react-codemirror 中要求 CodeMirror 对象,但没有成功。

var InputCode = React.createClass({
  getInitialState () {
    return {
      code: '{ "message": "Some JSON input" }'
    };
  },
  updateCode (newCode) {
    this.setState({
      code: newCode
    });
  },
  render () {
    var options = {
      lineNumbers: true,
      extraKeys: {"Ctrl-Space": "autocomplete"},
      mode: {name: "javascript", json: true, globalVars: true},
      theme: "sublime-text-like",
      viewportMargin: Infinity
    };
    return <Codemirror value={this.state.code} onChange={this.updateCode} options={options} />;
  }
});
4

1 回答 1

2

需要所有您需要的 CodeMirror 模式和插件 - 当您需要它们时,它们CodeMirror.defineMode()会用于配置自己,因此当 CodeMirror 稍后尝试使用它们时会找到它们。

main.js例如,对于您正在使用的样板,在渲染您的应用程序之前,需要在其模块中使用 JavaScript 模式:

require('codemirror/mode/javascript/javascript')
于 2015-09-25T19:38:42.843 回答