首页 > 其他分享 >Vue mavon-editor 本地加载 – 关闭 CDN

Vue mavon-editor 本地加载 – 关闭 CDN

时间:2023-09-17 19:48:33浏览次数:52  
标签:md mavon Vue CDN editor css 加载

 转载自Vue mavon-editor 本地加载 – 关闭 CDN - 前端教程。仅自用。

时间 2022-03-31 21:07:09

前言

在 Vue 里面使用 Markdown 编辑器的选择并不多。mavon-editor 大概是 GitHub 上星星最多的 Vue Markdown 编辑器了,用起来也比较方便。

但是由于 mavon-editor 默认使用 Cloudflare 作为 CDN 来加载一些资源,而 Cloudflare 有些情况下访问起来比较困难,所以关闭 CDN 以进行本地加载成了不少开发者的需求。

当然,mavon-editor 的作者已经在文档中介绍了本地加载的方式,但是实现起来有些问题,这篇文章是对原作的补充。

方式

事实上,当你在使用 npm install mavon-edior 来安装编辑器的时候,所有的资源文件已经被下载到本地(/node_modules/mavon-editor/)了。所以我们只需要将这些本地文件替代掉指向 CDN 的资源就行了。

如果你是按照本文来进行配置,那么请不要按照原作者的方式来修改,所有步骤请在刚刚配置好 mavon-editor 的情况下开始。

以下是具体步骤:

1. 复制本地文件

将 /node_modules/mavon-editor/dist/ 下的文件复制到 /public/md/ 下,这些就是需要本地加载的资源文件。

其中,/public/md/ 就是在 /src/ 目录下新建了个自定义的文件夹,开发者可以自定义修改,但需要与后文的引用路径保持一致。

2. 编辑配置

在 Vue 下的 data 中,添加一个属性:

externalLink: {
    markdown_css: () => '/md/github-markdown.min.css',
    hljs_js: () => '/md/highlightjs/highlight.min.js',
    hljs_css: (css) => '/md/highlightjs/styles/' + css + '.min.css',
    hljs_lang: (lang) => '/md/highlightjs/languages/' + lang + '.min.js',
    katex_css: () => '/md/katex/katex.min.css',
    katex_js: () => '/md/katex/katex.min.js',
}
 

  

这组配置就是 mavon-editor 的资源加载配置了。注意到 markdown_css 的值为 false,这与原作者文档不同,我们将手动引入所需的 css。

 

4. 修改标签属性

在 <mavon-editor> 标签上,修改 external-link 属性来使配置生效:

<mavon-editor :external-link="externalLink"></mavon-editor>

  

 

根据以上 4 个步骤来修改代码,通过浏览器的开发者工具来看看效果吧!

标签:md,mavon,Vue,CDN,editor,css,加载
From: https://www.cnblogs.com/moloom/p/17709570.html

相关文章

  • 如何在Vue组件中定义方法
    在Vue组件中定义方法,你可以按照以下步骤进行:在Vue组件的methods选项中定义方法。methods:{methodName(){//方法的具体逻辑},anotherMethod(){//另一个方法的逻辑}}在上述示例中,使用methods选项来定义了两个方法:methodName和anotherMethod。......
  • 关于vue2的模块级总结
    前阵子在赶一个项目的进度,一直没时间做总结,今日闲来无事,消化一下。背景vue2的项目,面向受众为g端内容1.项目原因,单路由下包含详情&列表两页面。根据v-if跳转,笔者这里用的是动态组件的方式2.同样由于项目原因,使用的模块级vuex,因而在使用时,也有了许多盲点:(如图:)使用createNa......
  • vue3中验证手机号的正则表达式
    在Vue3中,你可以使用正则表达式来验证手机号。以下是一个基本的手机号验证正则表达式示例,可以用于检查中国大陆地区的手机号码:constphoneNumberRegex=/^1[3456789]\d{9}$/;//示例用法constphoneNumber="13812345678";if(phoneNumberRegex.test(phoneNumber)){cons......
  • vue项目中的Tinymce富文本编辑器如何从word中粘贴图片上传到七牛云
    Tinymce富文本编辑器粘贴图片时需要上传到自己的空间中才能被打开。一、首先需要安装引入七牛云npminstallqiniu-jsvarqiniu=require('qiniu-js')//orimport*asqiniufrom'qiniu-js'二、同时引入客户端生成的tokenimport{qiniuTokenCreate}from"@/assets/js/qin......
  • Vue学习六:路由进阶
    一、路由的封装抽离目标:将路由模块抽离出来。好处:拆分模块,易于维护。第一步:在src目录下新建一个router目录,在创建一个index.js文件,将先前main.js中的路由代码转移到index.js文件中。(这里需要使用到vue所以需将vue包导入;需修改组件路径,@符号代表绝对路径src;需将路由实例导出)index......
  • 报错error Component name "Index" should always be multi-word vue/multi-word-co
    1、问题说明:在创建组件命名时,引用index.vue的过程中报错;2、报错的原因及分析:其一、报错的全称为:errorComponentname"index"shouldalwaysbemulti-wordvue/multi-word-component-names翻译为:错误组件名称“索引”应始终为多词vue/多词组件名称其二、问题分析:新手在使用......
  • 添加Element ui依赖报错:npm ERR code EPERM,syscall mkdir, npm ERR! path D:\Vue\
    添加Elementui依赖报错:npmERRcodeEPERM,syscallmkdir,npmERR!pathD:\Vue\nodejs\node_cache\_cacache\index-v5\f3\de具体报错信息如下:我这个是在IDEA控制台输入npmielement-ui-S添加elementui依赖时出现的报错解决办法:修改nodejs(安装node的安装地址那里)......
  • vue2 使用tinymce编辑器实现上传图片及粘贴word文本保留格式并粘贴图片自动上传
    下载对应的版本 npminstall@tinymce/[email protected]@5.8.2-S然后在node_modules中找到tinymce把整个文件复制下来粘到public中 在组件页面使用根据自己需求进行注释或添加功能<template><divclass="tinymce-editor"><Editor:......
  • 【Vue】关于 The template root requires exactly one element 报错的解决方案
     在<template>内添加<div>总括起来: ......
  • CDN 在某些页面上提供图像,但在其他页面上不提供图像
    如果在某些页面上使用CDN提供图像,但在其他页面上不提供图像,可能是以下几个原因导致的:1.页面链接错误:检查在不提供图像的页面上,图像的链接是否正确。确保链接指向CDN上的正确图像位置。2.缓存问题:有可能之前访问缺少图像的页面时,图像链接出现问题,导致浏览器缓存了错误的链接。尝试......