/ / cómo cargar el editor de pagedown con requirejs - javascript, requirejs, pagedown

cómo cargar el editor de paginación con requirejs - javascript, requirejs, pagedown

Soy bastante nuevo con requirejs. Me las arreglé para usar requirejs con módulos AMD, como el editor de ace, etc., muy bien. Vi en stackoverflow que teóricamente es posible cargar js normales con requirejs.

Después de varios intentos, investigaciones y algunas frustraciones, no he podido cargar el editor de paginación con requirejs sin errores.

Aquí está mi código:

       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();
});

Aquí está el error que sigo recibiendo:

TypeError no capturado: undefined no es una función Markdown.Editor.js: 185

Sigo recibiendo ese error después de cada pulsación de tecla. Los archivos se cargan a través de requirejs pero no funcionan. ¿Existe una manera fácil de hacer que el editor de paginación funcione con requirejs o no es posible?

Cualquier ayuda / consejo / sugerencias sería muy apreciada.

Gracias

Respuestas

1 para la respuesta № 1

Se puede usar así:

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
}
});