最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

vue-cli3项目展示本地Markdown文件的方法

来源:懂视网 责编:小采 时间:2020-11-27 21:55:31
文档

vue-cli3项目展示本地Markdown文件的方法

vue-cli3项目展示本地Markdown文件的方法:【版本】 vue-cli3 webpack@4.33.0 【步骤】1、安装插件vue-markdown-loader npm i vue-markdown-loader -D ps:这个插件是基于markdown-it的,不需要单独安装markdown-it。 2、修改vue.config.js配置文件(如果没有,在项目根
推荐度:
导读vue-cli3项目展示本地Markdown文件的方法:【版本】 vue-cli3 webpack@4.33.0 【步骤】1、安装插件vue-markdown-loader npm i vue-markdown-loader -D ps:这个插件是基于markdown-it的,不需要单独安装markdown-it。 2、修改vue.config.js配置文件(如果没有,在项目根

得到的结果并不让我满意:

折腾了大半天才发现,这是由于标题的#井号和文字之间没有空格导致的。证明见下:

var MarkdownIt = require('markdown-it'),
md = new MarkdownIt();
console.log(md.render('# markdown-it rulezz!'))//<h1>markdown-it rulezz!</h1>
console.log(md.render('#markdown-it rulezz!'))//<p>#markdown-it rulezz!</p>

Fine :)

愚蠢的我想出了一个解决办法:

因为HyperDown.js能避免上面那样的情况,于是我用它来对文档做预处理。

安装HyperDown.js

npm install hyperdown -D

然后把vue.config.js改成了这样。

let HyperDown = require('hyperdown');
let parser = new HyperDown;

module.exports = {
 chainWebpack: config => {
 config.module.rule('md')
 .test(/\.md/)
 .use('vue-loader')
 .loader('vue-loader')
 .end()
 .use('vue-markdown-loader')
 .loader('vue-markdown-loader/lib/markdown-compiler')
 .options({
 // markdown-it config
 preset: 'default',
 breaks: true,
 raw: true,
 typographer: true,
 preprocess: function(markdownIt, source) {
 return parser.makeHtml(source);//重点在这里!!!
 }
 })
 }
}

文档

vue-cli3项目展示本地Markdown文件的方法

vue-cli3项目展示本地Markdown文件的方法:【版本】 vue-cli3 webpack@4.33.0 【步骤】1、安装插件vue-markdown-loader npm i vue-markdown-loader -D ps:这个插件是基于markdown-it的,不需要单独安装markdown-it。 2、修改vue.config.js配置文件(如果没有,在项目根
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top