Javascript 如何使用requirejs加载pagedown编辑器

Javascript 如何使用requirejs加载pagedown编辑器,javascript,requirejs,pagedown,Javascript,Requirejs,Pagedown,我对requirejs相当陌生。我已经设法将requirejs与AMD模块(如ace编辑器等)配合使用,效果很好。我在stackoverflow上看到,从理论上讲,用requirejs加载普通js是可能的 经过几次尝试、研究和一些挫折之后,我未能用requirejs无误地加载pagedown编辑器 这是我的密码: requirejs.config({ paths: { jquery: "jquery-2.0.2.min",

我对requirejs相当陌生。我已经设法将requirejs与AMD模块(如ace编辑器等)配合使用,效果很好。我在stackoverflow上看到,从理论上讲,用requirejs加载普通js是可能的

经过几次尝试、研究和一些挫折之后,我未能用requirejs无误地加载pagedown编辑器

这是我的密码:

       requirejs.config({
        paths: {
          jquery:    "jquery-2.0.2.min",
          bootstrap: "bootstrap.min",
          ace:       "ace/lib/ace",
          prettify:  "pagedown/prettify",
          pdconv:    "pagedown/Markdown.Converter",
          pdsanity:  "pagedown/Markdown.Sanitizer",
          pdeditor:  "pagedown/Markdown.Editor",
          pdextra:   "pagedown/Markdown.Extra", 
      },
      shim: {
        "bootstrap": {
            deps: ["jquery"]
        }
      }
    });

require(['jquery', 'bootstrap', 'ace/ace', 'prettify', 'pdconv', 'pdeditor', 'pdsanity', 'pdextra'], 
  function($, Bootstrap, ace, prettyPrint) {
      var input = $('#wmd-input').text();
      var editor = ace.edit("wmd-input");
      var conv = Markdown.getSanitizingConverter();
      Markdown.Extra.init(conv, {
        extensions: "all",
        highlighter: "prettify"
      });

      var md = new Markdown.Editor(conv);
      md.hooks.chain("onPreviewRefresh", prettyPrint); // google code prettify

      md.run(editor);
      editor.focus();
});
以下是我不断遇到的错误:

未捕获类型错误:未定义不是函数标记。Editor.js:185

每次击键后,我都会发现这个错误。 这些文件确实是通过requirejs加载的,但不起作用。是否有一种简单的方法使pagedown编辑器与requirejs一起工作,或者这是不可能的

如有任何帮助/建议/建议,将不胜感激

谢谢

您可以这样使用:

requirejs.config({
    paths: {
        'markdown-converter': "../Scripts/markdown/Markdown.Converter",
        'markdown-sanitizer': '../Scripts/markdown/Markdown.Sanitizer'
    },
    shim: {
        "markdown-sanitizer": {
            deps: ["markdown-converter"],
            exports: "markdown-sanitizer"
        }
    }
});
// create markdown module 
define("markdown",["markdown-converter","markdown-sanitizer"],function(mc, ms) {
    return window.Markdown;
});

define("markdown",function(markdown) {
   var converter = new Markdown.Converter();
   return {
    converter:converter
   }
});