带有 webpack 和 react 的 SyntaxHighlighter

Mar*_*rco 5 syntaxhighlighter reactjs webpack

我尝试使用 react 和 webpack 来实现 SyntaxHighlighter。

我是通过 npm 安装的。

npm install --save syntaxhighlighter

它安装完美。现在的问题是如何正确导入它。

我试过这样:

import SyntaxHighlighter from 'syntaxhighlighter';
Run Code Online (Sandbox Code Playgroud)

但它不起作用,Chrom 控制台报告如下错误:

类型错误:无法分配给对象“#”的只读属性“exports”

如何在 webpack 中使用 syntaxHighlighter 并做出反应?

Ala*_*ALI 3

第1步:安装react-syntax-highlighter

npm install react-syntax-highlighter
Run Code Online (Sandbox Code Playgroud)

第2步:导入react-syntax-highlighter

import SyntaxHighlighter from "react-syntax-highlighter";
Run Code Online (Sandbox Code Playgroud)

第 3 步:导入样式

import { aStyle } from "react-syntax-highlighter/styles/hljs-or-prism";
Run Code Online (Sandbox Code Playgroud)

第 4 步:显示您的代码

<SyntaxHighlighter language="yourLanguage" style={aStyle}>
     {yourCode}
</SyntaxHighlighter>
Run Code Online (Sandbox Code Playgroud)

例子

import React from "react";
import ReactDOM from "react-dom";

import SyntaxHighlighter from "react-syntax-highlighter";
import { docco } from "react-syntax-highlighter/styles/hljs";

function App() {
    return (
        <div className="App">
            <SyntaxHighlighter language="javascript" style={docco}>
                {console.log('Hello world!...');}
            </SyntaxHighlighter>
        </div>
    );
}

const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);
Run Code Online (Sandbox Code Playgroud)

实时运行示例

完整文档