簡體   English   中英

React-codemirror 2 linting 功能不起作用

[英]React-codemirror 2 linting feature not working

我在我的 react 應用程序中創建了一個 react-codemirror 2 組件,但 package 的 linting 功能不起作用。 我嘗試瀏覽其他堆棧溢出問題,但由於這些問題至少有 2 年的歷史,看起來原始庫的文件結構,即 codemirror 已更改,並且似乎沒有一個解決方案有效。 我還在他們的 Github 存儲庫中打開了一個問題,但沒有對此作出回應。 希望您能提供幫助,這是我的組件的代碼。

import React from "react";
import { UnControlled as CodeMirror } from "react-codemirror2";

import 'codemirror/lib/codemirror.css';
import 'codemirror/theme/material.css';
import 'codemirror/addon/lint/lint.css';
import 'codemirror/addon/hint/show-hint.css';



import 'codemirror/mode/javascript/javascript.js';
import 'codemirror/addon/lint/javascript-lint';
import 'codemirror/addon/lint/lint.js';
import 'codemirror/addon/hint/javascript-hint';


const JsEditor = ({code}) => {
  return (
    <div>
      <h1> JavaScript </h1>
      <CodeMirror
        value={code}
        options={{
          gutters: ["CodeMirror-lint-markers"],
          mode: "javascript",
          theme: "material",
          lineNumbers: true,
          lineWrapping: true,
          lint: true,
         
        }}
       
      />
    </div>
  );
};

export default JsEditor;

CodeMirror 的 lint 插件需要 jshint 庫。 如果添加它( npm i jshint ),以下代碼應該可以工作:

import React from 'react';
import { UnControlled as CodeMirror } from "react-codemirror2";
import 'codemirror/lib/codemirror.css';
import 'codemirror/theme/material.css';
import 'codemirror/addon/lint/lint.css';
import 'codemirror/addon/hint/show-hint.css';
import 'codemirror/mode/javascript/javascript.js';
import 'codemirror/addon/lint/javascript-lint';
import 'codemirror/addon/lint/lint.js';
import 'codemirror/addon/hint/javascript-hint';
import { JSHINT } from 'jshint';
window.JSHINT = JSHINT;

const JsEditor = ({ code }) => {
  return (
    <div>
      <h1> JavaScript </h1>
      <CodeMirror
        value={code}
        options={{
          gutters: ["CodeMirror-lint-markers"],
          mode: "javascript",
          theme: "material",
          lineNumbers: true,
          lineWrapping: true,
          lint: true,
        }}
      />
    </div>
  );
};

function App() {
  return (
    <div className="App">
      <JsEditor code={'var widgets =[]; debugger'} />
    </div>
  );
}

export default App;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM