v-code-diff
v-code-diff copied to clipboard
不自动依赖所有highlight.js的语言包
参考Highlight.js主页的用法: https://github.com/highlightjs/highlight.js
const hljs = require('highlight.js/lib/core');
hljs.registerLanguage('xml', require('highlight.js/lib/languages/xml'));
const highlightedCode = hljs.highlight('<span>Hello World!</span>', {language: 'xml'}).value
我实在是不需要语言高亮。将import hljs from 'highlight.js'
替换为import * as hljs from 'highlight.js/lib/core'
之后,js文件从1M减小到了100K。
另外Highlight.js官方有一个vue plugin: https://github.com/highlightjs/vue-plugin
谢谢你的建议,我试了一下,如果不高亮文本,使用动态 import 是可以减小体积的,如果可以,我明天测试后再发一个版本
测试发现动态 import 无法实现,我也不想做破坏性变更,如果你有比较好的方法欢迎提 pr
新版本中已解决了这一点,默认仅引入少数流行语言高亮包。如果有需要可以考虑使用插件新版本