【问题标题】:nodemon starting `node server.js` TypeError: marked is not a functionnodemon 开始 `node server.js` TypeError: 标记的不是函数
【发布时间】:2021-12-23 23:58:39
【问题描述】:

我正在创建一个博客,使用这个“Web Dev Simplified”教程: https://www.youtube.com/watch?v=1NrHkjlWVhM

我从 git hub https://github.com/WebDevSimplified/Markdown-Blog 复制了代码,安装了节点模块并将其在线链接到我的 mongodb 数据库。

节点模块包括; express、mongoose、ejs、--save-dev nodemon、slugify、方法覆盖、dompurify、jsdom。

数据库正在工作,我可以保存文章,直到我添加了关于清理 HTML 和将 markdown 转换为 HTML 的最后一部分,此时出现“TypeError:marked is not a function”,并且保存按钮停止工作。

由于最近的节点模块依赖关系(dompurify 库或 jsdom),似乎曾经理解的函数现在无法理解。我在这里真的超出了我的深度!请帮忙!

【问题讨论】:

  • 好的,我已经设法让它工作了,或者更确切地说,我的一个朋友做到了。有问题的行在这里,在 models/articles.js 文件中: if (this.markdown) { this.sanitizedHtml = dompurify.sanitize(marked.parse(this.markdown)) } .parse 需要添加。不要问我它是如何工作的,但确实如此,我什至不确定 parse 是什么意思!非常感谢卡尔!

标签: node.js mongodb express jsdom dompurify


【解决方案1】:

来自标记文档: https://marked.js.org/#demo

Node JS
import { marked } from 'marked';
// or const { marked } = require('marked');
const html = marked.parse('# Marked in Node.js\n\nRendered by **marked**.');

您的代码:

if (this.markdown) {
   this.sanitizedHtml = dompurify.sanitize(marked(this.markdown))
}

试试这个:

if (this.markdown) {
   this.sanitizedHtml = dompurify.sanitize(marked.parse(this.markdown))
}

它对我有用

【讨论】:

    猜你喜欢
    • 2019-02-14
    • 1970-01-01
    • 1970-01-01
    • 2020-11-07
    • 1970-01-01
    • 2020-10-28
    • 1970-01-01
    • 2016-09-09
    • 2020-08-29
    相关资源
    最近更新 更多