RequireJS/CodeMirror(sql模式)-如何使其工作

RequireJS/CodeMirror(sql模式)-如何使其工作,requirejs,codemirror,Requirejs,Codemirror,我刚开始使用CodeMirror 4.1,正在使用RequireJs。我也在使用ReactJs,但我很确定这不是问题所在 我显然没有正确配置它。如果有人能指出我的错误,我将不胜感激 我的配置看起来像这样 require.config({ deps: ["main"], paths: { ... codemirror: "../../external/codemirror/codemirror-4.1/lib/codemirror", cmsql:

我刚开始使用CodeMirror 4.1,正在使用RequireJs。我也在使用ReactJs,但我很确定这不是问题所在

我显然没有正确配置它。如果有人能指出我的错误,我将不胜感激

我的配置看起来像这样

require.config({

deps: ["main"],

paths: {
  ...
  codemirror:          "../../external/codemirror/codemirror-4.1/lib/codemirror",
  cmsql:               "../../external/codemirror/codemirror-4.1/mode/sql/sql"
},

shim: {
  ...
  codemirror:          { exports: "codemirror" },
  cmsql:               { deps: ["codemirror"],  exports: "cmsql" }    
}   
})

我正在实例化的模块如下所示:

define(['jquery', 'react', 'codemirror', 'cmsql'],
function ($, React, CodeMirror) {

return React.createClass({

  render: function () {
    console.log("render-editarea");
    return (
      <textarea id="editarea">
      -- Comment here
      SELECT ID 
      FROM [Patient Demographics]
      </textarea>
    )
  },

  componentDidMount: function () {                  
    var editorNode = document.getElementById("editarea"); 
    var editor = CodeMirror.fromTextArea(editorNode, {        
      lineNumbers: true,
      matchBrackets: true,
      indentUnit: 4,
      mode: "text/x-sql"
    });          
  },

  });
});
当使用模块加载器时,CodeMirror手册会显示此配置

我可以看到CodeMirror在诸如行号等方面的效果,但在语法着色方面看不到

因此,任何帮助都将受到感激


S

为什么你一发布某个东西

答案是一旦我对手册有了进一步的理解

require.config({

  deps: ["main"],

  paths: {
    cm:                  "../../external/codemirror/codemirror-4.1"
  },

  shim: {
    ...
  }

});


为什么你一贴上东西

答案是一旦我对手册有了进一步的理解

require.config({

  deps: ["main"],

  paths: {
    cm:                  "../../external/codemirror/codemirror-4.1"
  },

  shim: {
    ...
  }

});


谢谢你的解决方案。这对我有用。在require中,指向基本CodeMirror目录,然后引用如上所示。CodeMirror似乎使用了相对路径,这似乎会使您感到困惑,但它可能是另一种情况。

感谢您提供此解决方案。这对我有用。在require中,指向基本CodeMirror目录,然后引用如上所示。CodeMirror似乎使用的是相对路径,这似乎会让人感到困惑,但它可能是另一种方式