已复制
全屏展示
复制代码

React如何使用Prism.js使代码高亮


· 1 min read

一. Prism.js安装

首先确保你的 React 应用能正常运行,然后安装 prismjs 组件。

npm install prismjs
# 或者
yarn add prismjs

二. 定义高亮组件

定义一个组件专门用来亮代码,只需要传入语言类型和需要高亮的代码即可。

import React, {useEffect} from 'react';
import Prism from 'prismjs';

// 选择 prismjs 主题,可选主题包括:
// prism prism-coy prism-dark prism-funky prism-okaidia
// prism-solarizedlight prism-tomorrow prism-twilight
import 'prismjs/themes/prism-okaidia.min.css';

// 按需导入需要高亮的语言,这里只导入了 bash 和 javascript
import 'prismjs/components/prism-bash';
import 'prismjs/components/prism-javascript';

function CodeHighlighter(props) {
  useEffect(() => {
    Prism.highlightAll();
  }, []);

  return (
    <pre style={{margin: 0}}>
      <code className={`language-${props.language}`}>
        {props.code}
      </code>
    </pre>
  );
}

export default CodeHighlighter;

三. 使用高亮组件

直接使用 CodeHighlighter 组件,传入 language 和 code 即可。

import React from 'react';
import CodeHighlighter from './CodeHighlighter';

const code = `
  function greet() {
    console.log('Hello, world!');
  }
`;

function App() {
  return (
    <div>
      <h1>Code Highlighting JavaScript Example</h1>
      <CodeHighlighter language="javascript" code={code} />
    </div>
  );
}

export default App;
🔗

文章推荐