如何在Codemirror中识别javascript?

时间:2019-05-24 10:04:02

标签: javascript codemirror

我正在创建一个网站,试图在其中嵌入代码块。有人将我引到CodeMirror库,此后,我试图在代码块中包含一些Javascript代码。

我已将CodeMirror CSS和JS库合并到我的HTMl中 文件并创建了CodeMirror实例。

我设法创建了一个代码块。但是代码块对于文本是否为Javascript并没有对文本应用任何格式/样式

它仅显示带有纯文本的代码块。到目前为止,我已经实现了以下代码。

一开始我定义了以下几行:

<link rel="stylesheet" href="codemirror-5.47.0/lib/codemirror.css">

<script src="codemirror-5.47.0/lib/codemirror.js"></script>

<script type="text/javascript" language="javascript">
    window.load = function () {
        var myCodeMirror = CodeMirror.fromTextArea(document.getElementById("codeeditor"), {
            mode: "javascript",
            lineNumbers: true
        });

        myCodeMirror.setSize(500, 300);
    }
</script>

<textarea id="codeeditor" rows="20" cols="100">
                                                           var GetArray = function (Feature) {var dic = {                    "Bedrijfsvestigingen":                    ["bedrijfsvestigingen_Sbi2008_BedrijfsvestigingenNaarActiviteit_ALandbouw_BosbouwEnVisserij",                    "bedrijfsvestigingen_Sbi2008_BedrijfsvestigingenNaarActiviteit_B-fNijverheidEnEnergie",                    "bedrijfsvestigingen_Sbi2008_BedrijfsvestigingenNaarActiviteit_G_p_IHandelEnHoreca",                    "bedrijfsvestigingen_Sbi2008_BedrijfsvestigingenNaarActiviteit_H_p_JVervoer_InformatieEnCommunicatie",                    "bedrijfsvestigingen_Sbi2008_BedrijfsvestigingenNaarActiviteit_K-lFinancieleDiensten_OnroerendGoed",                    "bedrijfsvestigingen_Sbi2008_BedrijfsvestigingenNaarActiviteit_M-nZakelijkeDienstverlening",                    "bedrijfsvestigingen_Sbi2008_BedrijfsvestigingenNaarActiviteit_R-uCultuur_Recreatie_OverigeDiensten",                    "bedrijfsvestigingen_Sbi2008_BedrijfsvestigingenTotaal"]};

</textarea>

因此,结果是带有纯文本的代码块,因此未对JavaScript代码应用格式。如果有人知道该问题的解决方案,那么最好有一个纯Javascript解决方案,因为例如,例如,我对jQuery不熟悉。

1 个答案:

答案 0 :(得分:0)

您似乎忘记了导入“模式”文件;可能还有一些插件。

var myCodeMirror = CodeMirror.fromTextArea(document.getElementById("codeeditor"), {
  mode: "javascript",
  lineNumbers: true
});
//myCodeMirror.setSize(500, 300);
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.47.0/codemirror.min.css">

<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.47.0/codemirror.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.47.0/mode/javascript/javascript.min.js"></script>

<textarea id="codeeditor" rows="20" cols="100">
var GetArray = function(Feature) {
  var dic = {
    "Bedrijfsvestigingen": [
      "bedrijfsvestigingen_Sbi2008_BedrijfsvestigingenNaarActiviteit_ALandbouw_BosbouwEnVisserij",
      "bedrijfsvestigingen_Sbi2008_BedrijfsvestigingenNaarActiviteit_B-fNijverheidEnEnergie",
      "bedrijfsvestigingen_Sbi2008_BedrijfsvestigingenNaarActiviteit_G_p_IHandelEnHoreca",
      "bedrijfsvestigingen_Sbi2008_BedrijfsvestigingenNaarActiviteit_H_p_JVervoer_InformatieEnCommunicatie",
      "bedrijfsvestigingen_Sbi2008_BedrijfsvestigingenNaarActiviteit_K-lFinancieleDiensten_OnroerendGoed",
      "bedrijfsvestigingen_Sbi2008_BedrijfsvestigingenNaarActiviteit_M-nZakelijkeDienstverlening",
      "bedrijfsvestigingen_Sbi2008_BedrijfsvestigingenNaarActiviteit_R-uCultuur_Recreatie_OverigeDiensten",
      "bedrijfsvestigingen_Sbi2008_BedrijfsvestigingenTotaal"
    ]
  };
}
</textarea>