1 通过用以下命令安装 ngx-markdown ,安装成功后会同时将库添加到 package.json 文件中。

npm install ngx-markdown --save

2. 由于库使用 Marked 解析器,需要将js引用添加到 angular.json文件中,

要激活 Prism.js语法高亮,还需要包含如下

"styles": ["src/styles.less","node_modules/prismjs/themes/prism-okaidia.css","node_modules/prismjs/plugins/line-numbers/prism-line-numbers.css","node_modules/prismjs/plugins/command-line/prism-command-line.css","node_modules/katex/dist/katex.min.css"
],
"scripts": ["node_modules/marked/marked.min.js","node_modules/prismjs/prism.js","node_modules/prismjs/components/prism-csharp.min.js", "node_modules/prismjs/components/prism-css.min.js","node_modules/prismjs/plugins/line-numbers/prism-line-numbers.js","node_modules/prismjs/plugins/command-line/prism-command-line.js","node_modules/katex/dist/katex.min.js"
]

3. 配置

3.1 在主应用程序模块(AppModule)中导入 MarkdownModule:

import { NgModule } from '@angular/core';
//添加此行
import { MarkdownModule } from 'ngx-markdown';import { AppComponent } from './app.component';@NgModule({imports: [//添加此行MarkdownModule.forRoot(),  ],declarations: [AppComponent],bootstrap: [AppComponent],
})
export class AppModule { }

此时跳到下一节(4. 使用 - 使用方法1),可以正确编译展示。

***注意1:***

由于官方文档里先介绍了使用后介绍的配置,导致在未配置时使用会出现以下报错:

3.2: 使用 [src] 属性直接加载远程文件

为了只保留一个 HttpClient 实例并避免拦截器的问题,还必须提供 HttpClient,同3.1配置,并且在文件中再添加:

//添加此行
import { HttpClientModule,HttpClient} from '@angular/common/http';//...
@NgModule({imports: [//添加此行HttpClientModule,],//...
})

对应下一节(4. 使用 - 使用方法2),可以正确编译展示

3.3: 在子模块中使用

新建module

ng generate module mymodule

在myModule里新建component:

ng generate component mymodule/mycomponent

在mymodule.module.ts里配置如下:

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { GameComponent } from './mycomponent/mycomponent.component';
import { MarkdownModule } from 'ngx-markdown';   //添加此行@NgModule({declarations: [MyComponent],imports: [CommonModule,MarkdownModule.forChild(),  //添加此行]
})
export class MymoduleeModule { }

***注意2:***:

如果仍有报错,要注意新建的mymodule是否被导入到了主应用程序模块(AppModule)中

4. 使用

使用方法1: 直接在标签内写markdown语法

<markdown># 直接在标签内写markdown语法
</markdown>

使用方法2: 通过src标签引用文件

<markdown [src]=" 'assets/md/markdown.md'"></markdown>

使用方法3: 动态加载

<markdown [data]="markdown" (load)="onLoad($event)" (error)="onError($event)">

app.component.ts文件里:

import { Component } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { MarkdownService } from 'ngx-markdown';@Component({selector: 'app-root',templateUrl: './app.component.html',styleUrls: ['./app.component.less']
})
export class AppComponent {constructor(private mdService: MarkdownService,private _httpClient: HttpClient) {}title = 'angular-work';markdownRaw: any = '';markdown: any = '';onLoad(e:any){}onError(e:any){}async ngOnInit() {this.markdownRaw = await this._httpClient.get(`assets/md/mark.md`, {responseType: 'text',}).toPromise();this.markdown = this.mdService.compile(this.markdownRaw);}
}

***注意3:***

(1) angular的资源文件需要在assets文件夹下的路径,否则引用不到且不报错,不好排查。
(2) 文件名注意不要有空格(有时候复制粘贴容易带上注意不到的空格),否则引用不到且不报错,不好排查。

5. 常见错误

5.1 ‘markdonw’ is not a known element,控制台报错

//...
'markdonw' is not a known element
//..

检查是否正确配置,模块是否正确导入。解决方案见"3.1配置"和"3.3配置",以及"注意1"和"注意2"。

5.2 无报错但引用文件不生效

解决方案见"3.2配置"和"注意3"。

参考链接1: 官方文档

ngx-markdown 安装和使用相关推荐

  1. Windows10安装Markdown安装教程(超级详细)

    markdown其实就是我们平常写博客的地方,下面我来详细介绍它的安装教程 首先到官网去安装 markdown 点击download,我反正点击download后它自动就下载了 然后下载好后是安装包, ...

  2. down.php怎么安装,Markdown、phpstudy的安装及配置

    1.Markdown及常用插件的安装和基本语法 Markdown安装 https://code.visualstudio.com 官网下载vsCode安装包,现在完成傻瓜式(直击下一步,下步即可)安装 ...

  3. chrome浏览器安装markdown浏览插件

    chrome本身是不支持markdown浏览的,打开.md文件,是长这样的 然后,我们安装chrome的插件. 在谷歌应用商店里,搜索Markdown. 安装第二个Markdown Viewer. 然 ...

  4. 被气晕过去的Anaconda和本地安装的python3.6关于安装包(markdown包)报错问题

    被气晕过去的Anaconda和本地安装的python3.6关于安装包(markdown包)报错问题 01 说明: 01 此次解决问题的心理过程的煎熬   首先声明博主是个典型的强迫症患者,我觉得作为一 ...

  5. WordPress+Markdown+为知笔记,实现高质量笔记和博客

    本文写给:和我一样想要有一套操作容易.使用方便.兼容性好的 高质量个人知识管理和博客 实现方案的人. 欢迎通过此链接注册为知笔记来支持本人:https://note.wiz.cn/i/1fe81312 ...

  6. 如何下载python模块_python安装模块与包

    Python模块,简单说就是一个.py文件,其中可以包含我们需要的任意Python代码.迄今为止,我们所编写的所有程序都包含在单独的.py文件中,因此,它们既是程序,同时也是模块.关键的区别在于,程序 ...

  7. Sublime and Markdown

    Sublime and Markdown 文章目录 Sublime and Markdown 安装 Sublime 设置 Sublime 安装插件 Package Control MarkdownEd ...

  8. 使用LaTeX,全面对标Word和Markdown

    使用LaTeX,全面对标Markdown 最近终于考完试了,这个奇怪的学期也接近结束了.在再也忍受不了word诟病的排版系统后,我终于下定决心要学一学LaTeX来做排版.这么多天使用下来后,我发现la ...

  9. Django + markdown 前台使用markdown编辑器深入浅出详解

    一.需求来源 近期有一个 django 前台使用 markdown 编辑器的需求,网上查了很多资料很多都是在后台使用 markdown 编辑器,然后在前台展示,可以参考.但是这种的教程对于想在前台页面 ...

  10. Raspberry Pi, UPNP(二), Scala

    Raspberry Pi 概述 树莓派(Raspberry Pi)在极客领域可谓大名鼎鼎,它的官网是: https://www.raspberrypi.org/ 从型号来看,它可以分为三大类型: 1) ...

最新文章

  1. android服务重启间隔,android – 崩溃的服务在很长一段时间后重新启动
  2. linux c basename dirname函数 从路径得到 文件名 目录名
  3. C#找出数组中重复次数最多的数值
  4. Matlab中(),[],与{}的用法认识
  5. Linux与Xshell:登陆服务器与后台执行程序
  6. nagios介绍及Server安装(三)
  7. 思科与华为常用交换机产品线介绍
  8. 初步用Echarts实现圆饼图
  9. 【paddlepaddle安装报错系列】Installing collected packages :OpenCV-python ERROR :After october 2020 you…
  10. 015. P2P技术详解(一):NAT详解——详细原理、P2P简介
  11. 基于HTML5的数据可视化方法有哪些
  12. java是面向对象还是面向过程_Java教程分享Java面向对象与面向过程
  13. 基于STM32的智能台灯
  14. python图结构学习--networkx整理
  15. Python3 数字组合
  16. 微信第 1 行代码曝光,还有多少个十年!
  17. 常用的GNOME Shell 扩展
  18. Unix/Linux编程:进程间通信(IPC)总结
  19. 《OV4689摄像头模组驱动源码解析》
  20. 未来有哪些行业会是暴利行业?

热门文章

  1. 怎么打包python环境_python环境搭建和打包
  2. 瑞红淘宝商城旗舰店开张 正式进军B2C市场
  3. 记录你生活的点滴,体会分享的快乐
  4. PHP中获取字符串长度的使用方法
  5. python输入一个整数和一个字符_【python零基础入门】基础语法之变量、字符串、数字、规则。...
  6. U盘启动制作及系统安装
  7. 对于图片倾斜做矫正处理
  8. python列表拆包_python拆包
  9. 学习少儿编程成就不平凡人生
  10. 华为过程可信cib是指_华为EMUI10取消IMEI?数字联盟可信ID——更可靠的移动设备唯一标识...