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!
编程语言
- 甘肃哪有关键词排名优化购买方式有哪些
- 甘肃SEO如何做网站优化
- 河南seo关键词优化怎么做电话营销
- 北京SEO优化如何做QQ群营销
- 来宾百度关键词排名:提升您网站曝光率的关键
- 卢龙关键词优化:提升您网站排名的策略与技巧
- 山东网站优化的注意事项有哪些
- 四川整站优化怎样提升在搜索引擎中的排名
- 疏附整站优化:提升网站性能与用户体验的全新
- 海南seo主要做什么工作售后服务要做到哪些
- 荣昌百度网站优化:提升您网站的搜索引擎排名
- 河北seo网站排名关键词优化如何做SEO
- 江西优化关键词排名推广售后保障一般有哪些
- 古浪SEO优化:提升你的网站可见性
- 西藏网站排名优化怎么把网站排名在百度首页
- 如何提升阳东百度快照排名:详尽指南