wangeditor mhchem
时间: 2024-12-28 13:22:45 浏览: 14
### 如何在 WangEditor 中集成或使用 mhchem 化学公式插件
#### 安装依赖包
为了能够在 WangEditor 中支持化学公式的输入,首先需要确保已经安装了必要的依赖项。对于 Vue 项目来说,可以按照如下方式来安装:
```bash
npm install @wangeditor/editor --save
npm install @wangeditor/editor-for-vue@next --save
```
这些命令会下载并保存 WangEditor 及其对应的 Vue 版本到项目的 `node_modules` 文件夹下[^5]。
#### 配置 KityFormula 插件
虽然官方文档并没有直接提到如何配置 mhchem 支持,但是可以通过引入第三方库如 MathJax 来实现对 mhchem 的解析和支持。KityFormula 是一个用于绘制数学表达式的 JavaScript 库,而 MathJax 则是一个强大的 LaTeX 和 mhchem 解析引擎。因此可以在初始化 WangEditor 实例前加载 MathJax 并设置好相应的渲染模式。
```html
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
```
这段 HTML 代码片段应该放置于页面头部 `<head>` 标签内以便尽早加载资源[^4]。
#### 初始化 Editor 实例
当所有准备工作完成后就可以开始编写自定义工具栏按钮以及处理化学方程式的逻辑了。下面给出一段简单的例子说明怎样向编辑器添加一个新的菜单选项用来插入化学公式:
```javascript
import { createEditor, IToolbarConfig } from '@wangeditor/editor';
// ...其他导入语句...
const toolbarConfig: Partial<IToolbarConfig> = {
// 自定义更多工具栏配置...
};
createEditor({
selector: '#editor', // 编辑区域 DOM 节点的选择器
menuConfig: [
// 添加新的菜单项 'chemical-equation'
{
key: 'chemical-equation',
title: 'Insert Chemical Equation',
iconSvg: '<svg xmlns="http://www.w3.org/2000/svg">...</svg>', // SVG 图标路径
onClick(editorInstance) {
const equationInputValue = prompt('请输入您的化学方程式:');
if (equationInputValue !== null && equationInputValue.trim() !== '') {
editorInstance.insertText(`$$${equationInputValue}$$`);
setTimeout(() => {
window.MathJax.typeset(); // 手动触发重新排版以应用最新更改
}, 0);
}
},
},
// 其他已有菜单项...
],
});
```
此段 JavaScript 代码展示了如何通过扩展默认的菜单列表来加入名为 "chemical-equation" 的新功能,并且利用 `prompt()` 函数获取用户输入的内容作为化学方程式的文本部分。最后调用了 `insertText()` 方法将该字符串包裹在双美元符号之间表示这是一个独立行内的 TeX 表达式,紧接着再执行一次全局范围内的 MathJax 排版操作使得刚刚插入进去的新内容能够被正确显示出来[^1]。
阅读全文