【Nuxt.js】markdown-it-anchor や markdown-it-toc-done-right を導入するとエラーが出る場合の対処法【備忘録】

2021/06/02 22:40公開
2021/06/02 22:57最終更新

かなりはまりました。

markdown-it にてタイトルのプラグインを読み込むと、以下のようなエラーが表示され、ページが表示されなくなります。

let md = new MarkdownIt().use(require('markdown-it-anchor'))
TypeError: plugin.apply is not a function
    at MarkdownIt.push../node_modules/markdown-it/lib/index.js.MarkdownIt.use
    at tryCatch (commons.app.js:6771)
    at Generator.invoke [as _invoke] (commons.app.js:6997)
    at Generator.prototype.<computed> [as next] (commons.app.js:6823)
    at asyncGeneratorStep (vendors.app.js:31)
    at _next (vendors.app.js:53)
    at vendors.app.js:60
    at new Promise (<anonymous>)
    at vendors.app.js:49
Table of Contents
  1. 対処法
  2. 参考

対処法

requireではなく、importを使ってインポートします。なぜ治るのかはよく分かりません。

import mdAnchor from 'markdown-it-anchor'

const MarkdownIt = require('markdown-it')

let md = MarkdownIt().use(mdAnchor)

参考

https://github.com/valeriangalliat/markdown-it-anchor/issues/54