vue项目页面嵌入代码块vue-prism-editor的实现
需求
1. 可输入代码,并且代码语法高亮
2. 支持编辑和不可编辑模式
3. 提交到后端到代码内容为字符串格式
实现
在gitbug上找到vue-prism-editor,可以满足以上需求。
使用
1.安装vue-prism-editor
npm install vue-prism-editor
由于vue-prism-editor需要依赖 prismjs,所以还需要安装prismjs
npm install prismjs
2.在需要使用vue-prism-editor的组件中引入
import { PrismEditor } from "vue-prism-editor"; import "vue-prism-editor/dist/prismeditor.min.css"; // import the styles somewhere // import highlighting library (you can use any library you want just return html string) import { highlight, languages } from "prismjs/ponents/prism-core"; import "prismjs/ponents/prism-clike"; import "prismjs/ponents/prism-javascript"; import "prismjs/themes/prism-tomorrow.css"; // import syntax highlighting styles
3.html代码
<prism-editor class="my-editor height-300" v-model="code" :highlight="highlighter" :line-numbers="lineNumbers" ></prism-editor>
code----为需要高亮显示的代码内容
highlighter----定义在methods中的一个方法,用于把code高亮显示
lineNumbers----是否可编辑标识
4.js代码
export default { ponents: { PrismEditor }, data: () => ({ code: 'console.log("Hello World")', lineNumbers: true, // true为编辑模式, false只展示不可编辑 }), methods: { highlighter(code) { return highlight(code, languages.js); //returns html } } };
5.css代码
<style lang="scss"> / required class / .my-editor { background: #2d2d2d; color: #c; font-family: Fira code, Fira Mono, Consolas, Menlo, Courier, monospace; font-size: 14px; line-height: 1.5; padding: 5px; } / optional / .prism-editor__textarea:focus { outline: none; } / not required: / .height-300 { height: 300px; } </style>
注意 css样式必写,不然编辑器没有样式,只是纯白页面展示
“height-300” 是给编辑器设置高度的,高度可自行设置,也可以不设置,这个样式非必需
到这里,功能基本就实现了。
在过程中遇到一些问题,这里也一并。
问题
1.如果仅安装vue-prism-editor
,没有安装prismjs,会报以下错误,npm install prismjs
即可
2.如果报错中有提示升级或者安装ajv或者vue2.6.X版本,根据提示安装即可
npm install ajv@^6.9.1 npm install vue@^2.6.11
个人理解,如果ajv和vue版本过低,可能会导致vue-prism-editor
依赖的相关东西安装不上,建议升级完ajv和vue之后,再重新安装vue-prism-editor
和prismjs.
3.vue与vue-template-piler版本不一致
卸载低版本vue-template-piler
npm uninstall vue-template-piler
然后安装跟vue同样版本的vue-template-piler
npm install vue-template-piler@2.6.11
到此这篇关于vue项目页面嵌入代码块vue-prism-editor的文章就介绍到这了,更多相关vue项目页面嵌入代码块内容请搜索狼蚁SEO以前的文章或继续浏览狼蚁网站SEO优化的相关文章希望大家以后多多支持狼蚁SEO!
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程