如何使用没有Node或require.js的Markdown-it插件

Phi*_*hil 3 html javascript markdown

我正在尝试使用markdown-it-footnote扩展为markdown-it JS解析器.

自述文件给出了使用node.js时如何安装它的示例:

var md = require('markdown-it')()
            .use(require('markdown-it-footnote'));

md.render(/*...*/) // See examples above
Run Code Online (Sandbox Code Playgroud)

但是我没有使用node.js(到目前为止从未这样做过).如何将扩展名直接嵌入到HTML文档中?

我使用markdown-it-parser如下:

<script type="text/javascript" src="https://cdn.jsdelivr.net/markdown-it/8.2.2/markdown-it.min.js"></script>
<script type="text/javascript">
var md = window.markdownit();
md.render(...);
</script>
Run Code Online (Sandbox Code Playgroud)

降价 - 脚注 - 自述文件还指出:

如果直接将脚本加载到页面中,没有包系统,模块将全局添加为window.markdownitFootnote.

我试图在很多方面使用它,但没有成功:

var md = window.markdownit();
md = window.markdownitFootnote();
Run Code Online (Sandbox Code Playgroud)

要么

var md = window.markdownit().markdownitFootnote;
Run Code Online (Sandbox Code Playgroud)

要么

var md = window.markdownit(window.markdownitFootnote);
Run Code Online (Sandbox Code Playgroud)

...

Phi*_*hil 6

我刚刚找到了解决方案.使用:

<script type="text/javascript">
var md = window.markdownit().use(markdownitFootnote);
</script>
Run Code Online (Sandbox Code Playgroud)

  • @johnc.j。如果你谷歌你可能会找到更好的解释。但简而言之:`window` 是全局范围变量。如果你没有指定它,它可能是我在我的函数中定义了 `var markdownit = 2`,然后它会尝试在这个变量上调用函数。如果它没有找到它,它将在范围内上升,直到它到达全局范围以找到变量。使用 `window.markdown` 将始终强制采用全局范围。 (2认同)