Jamie Vaughan
Jamie Vaughan

Reputation: 1

nodemon starting `node server.js` TypeError: marked is not a function

I'm creating a blog, using this 'Web Dev Simplified' tutorial: https://www.youtube.com/watch?v=1NrHkjlWVhM

I've copied the code from git hub https://github.com/WebDevSimplified/Markdown-Blog, installed the node modules and linked it to my mongodb database online.

Node Modules include; express, mongoose, ejs, --save-dev nodemon, slugify, method-override, dompurify, jsdom.

The database was working and I could save articles, until I added the last part about sanitizing HTML and converting markdown to HTML, this is when the 'TypeError: marked is not a function' comes up, and the save button ceases to work.

Seems a once understood function is now not understood because of a more recent node module dependency, either the dompurify library or jsdom. I'm really out of my depth here! please help!

Upvotes: 0

Views: 1295

Answers (2)

rodneyt
rodneyt

Reputation: 144

In my case:

const { marked } = require('marked');

instead of

const marked = require('marked')

...

this.sanitizedHTML = dompurify.sanitize(marked.parse(this.markdown))

Per node example documentation at https://marked.js.org/#demo

Upvotes: 0

danny
danny

Reputation: 11

From Marked Documentation: 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**.');

Your Code:

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

try this:

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

its work for me

Upvotes: 1

Related Questions