javascript - 如何将代码存储在 prism 的 JavaScript 变量中

标签 javascript html mongodb

我正在尝试在我的网站上显示一些代码。我正在使用运行良好的 prism,但是,我最终必须将我尝试在 mongodb 数据库中呈现的代码存储起来。现在,我无法弄清楚如何将代码保存为变量 codeSnippet 并呈现它。我该怎么做?

它应该是什么样子

class DispalyCodeExample extends React.Component {
  constructor(props) {
    super(props);
    this.state = {};
  }

  componentDidMount() {
    Prism.highlightAll();
  }

  render() {
    return (
      <pre>
        <code className="language-javascript">
          {`
let animals = {
  cow: 'moo',
  mouse: 'squeak'
}
let mouse = 'cow';
let x = animals[mouse];
          `}
        </code>
      </pre>
    );
  }
}

由于我的 codeSnippet 变量,我的尝试不起作用

class DispalyCodeExample extends React.Component {
  constructor(props) {
    super(props);
    this.state = {};
  }

  componentDidMount() {
    Prism.highlightAll();
  }

  render() {
    const codeSnippet =  {
    let animals = {
      cow: 'moo',
      mouse: 'squeak'
    }
    let mouse = 'cow';
    let x = animals[mouse];
              };
    return (
      <pre>
        <code className="language-javascript">
         {codeSnippet}
        </code>
      </pre>
    );
  }
}

最佳答案

我会对整个类进行base64编码,然后将其存储在MongoDB中。当您准备好在网页上显示时,base64 对源代码块进行解码。这样,所有源代码都不会更改为 HTML 字符。所有变量和函数都将被保留。

关于javascript - 如何将代码存储在 prism 的 JavaScript 变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55962683/

相关文章:

javascript - document.getElementById ('id' ) is null javascript 错误

html - 如何创建多列列表?

mongodb - 子文档中的 Mongoose 聚合管道连接字段

javascript - 如何在Bootstrap中实现这种滚动效果?

php - MongoDB PHP 未捕获 MongoDB\Driver\Exception\ConnectionTimeoutException : No suitable servers found

python - mongokit 索引不起作用

javascript - Laravel 5.3 中的脚本文件包含

javascript - 如何使用仅在运行时已知的变量名调用 JavaScript 函数?

javascript - 如何使用 ng-boilerplate 包含 CDN 托管的库?

html - 元素有时只显示