当前位置: 首页 > news >正文

vue+prismjs 网页代码高亮插件

最近在使用wangEditor的过程中发现编辑器中代码块展示没有问题,但是预览编辑器中的内容样式丢失,看过wangEditor的文档后发现用到了Prism.js,现将使用的经验分享。

使用步骤

1、安装prismjs插件

// 1. 安装prismjs 插件
npm install prismjs -S// 2. 安装prismjs 编译器插件
npm install babel-plugin-prismjs -D

 2、插件配置

打开 babel.config.js ,在module.exports中的plugins添加以下配置,如果原本没有plugins可以手动添加

// babel.config.js
["prismjs", {"languages": ["javascript", "css", "markup"],"plugins": ["line-numbers"],"theme": "twilight","css": true}
]

配置后 babel.config.js 的内容

module.exports = {presets: ['@vue/cli-plugin-babel/preset'],plugins: ["@vue/babel-plugin-jsx", ["prismjs", {"languages": ["javascript", "css", "markup"],"plugins": ["line-numbers"], //配置显示行号插件"theme": "twilight", //主体名称"css": true}]]
}

3、在VUE中使用

// 引入
import Prism from "prismjs"; // 引入插件
import 'prismjs/themes/prism.css'; // 引入样式

3.1、静态页直接调用

<template><div><pre class="language-javascript"><code class="language-javascript" >const editorRef = shallowRef()const valueHtml = ref('这是代码演示')</code></pre></div>
</template><script>
// 引入
import Prism from "prismjs"; // 引入插件
import 'prismjs/themes/prism.css'; // 引入样式export default {mounted(){Prism.highlightAll()}
}
</script>

3.2、异步渲染

<div v-html="valueHtml" class="iu-editor-html"></div><script>
// 引入
import Prism from "prismjs"; // 引入插件
import 'prismjs/themes/prism.css'; // 引入样式
export default {methods: {getHtml(){// ... do somethingthis.$nextTick(() => {Prism.highlightAll()})// 不生效使用setTimeout// setTimeout(() => {//   Prism.highlightAll()// }, 100);}}}
</script>

OK,over😋

http://www.lryc.cn/news/219316.html

相关文章:

  • 【软件测试】其实远远不止需求文档这么简单
  • SAP-PP-常用TCODE
  • 第六章认识Node.js服务器开发
  • Ubuntu 增加服务 比如openfire
  • 海康Visionmaster-全局变量:全局变量关联流程中具体 模块结果的方法
  • Eureka介绍和使用
  • Incremental Object Detection via Meta-Learning【论文解析】
  • AI大模型时代网络安全攻防对抗升级,瑞数信息变革“下一代应用与数据安全”
  • 后端接口接收对象和文件集合,formdata传递数组对象
  • python json包
  • 基于 NGram 分词,优化 Es 搜索逻辑,并深入理解了 matchPhraseQuery 与 termQuery
  • PivotNet:Vectorized Pivot Learning for End-to-end HD Map Construction
  • 阿里云安全恶意程序检测
  • Xcode中如何操作Git
  • 浅述边缘计算场景下的云边端协同融合架构的应用场景示例
  • C++中禁止在栈中实例化的类
  • MsgPack和Protobuf
  • 自定义类型联合体
  • 【Shell 系列教程】Shell printf 命令( 六)
  • 2022年电工杯数学建模B题5G网络环境下应急物资配送问题求解全过程论文及程序
  • git reflog 恢复git reset --hard 回退的内容
  • kali Linux中更换为阿里镜像源
  • 【每日一题】移除链表元素(C语言)
  • stm32 ADC
  • linux网络服务综合项目
  • 每日一题(LeetCode)----数组--移除元素(三)
  • AI:57-基于机器学习的番茄叶部病害图像识别
  • 人工智能-深度学习计算:层和块
  • Linux第一个小程序进度条
  • JavaEE平台技术——预备知识(Maven、Docker)