Çevrimiçi bir javascript demosu yapmak istiyorum ve kullanıcıların kodu değiştirerek demo davranışını değiştirmelerine izin vermek istiyorum. Projem, RequireJS'i büyük bir başarı ile kullanıyor ve ben de buna bağlı kalmaya karar verdim.Yükleme CodeMirror with RequireJS from CDN
require(
[
"//cdnjs.cloudflare.com/ajax/libs/codemirror/5.13.4/codemirror.js",
"//cdnjs.cloudflare.com/ajax/libs/codemirror/5.13.4/mode/javascript/javascript.js",
"//cdnjs.cloudflare.com/ajax/libs/codemirror/5.13.4/addon/comment/continuecomment.js",
"//cdnjs.cloudflare.com/ajax/libs/codemirror/5.13.4/addon/edit/matchbrackets.js",
"//cdnjs.cloudflare.com/ajax/libs/codemirror/5.13.4/addon/comment/comment.js"
],
(CodeMirror)=>{
var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
lineNumbers: true,
matchBrackets: true,
continueComments: "Enter",
extraKeys: {"Ctrl-Q": "toggleComment"}
});
}
);
JS sonra bu yolu yüklenmeye çalışıyor gerektir: Önce mutlak URL yolları aracılığıyla editörü yüklemeye çalıştı http://cdnjs.cloudflare.com/ajax/libs/codemirror/5.13.4/lib/codemirror
- Ben önünde
/lib/
koymak için sormadım çünkü açıkçası yanlış Yolum, neden böyle yaptı? .js
eksik.
bu başarısızlığın sonra requireJS yapılandırıp göreli yolları kullanmaya çalıştı:
requirejs.config({
paths: {
codemirror: [
"//cdnjs.cloudflare.com/ajax/libs/codemirror/5.13.4/"
]
},
waitSeconds: 20
});
require(
[
"codemirror/codemirror",
"codemirror/mode/javascript/javascript",
"codemirror/addon/comment/continuecomment",
"codemirror/addon/edit/matchbrackets",
"codemirror/addon/comment/comment"
],
(CodeMirror)=>{
var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
lineNumbers: true,
matchBrackets: true,
continueComments: "Enter",
extraKeys: {"Ctrl-Q": "toggleComment"}
});
}
);
Bu sefer .js
orada ama yol hala yanlış: http://cdnjs.cloudflare.com/ajax/libs/codemirror/5.13.4//lib/codemirror.js
Bildirimi çift eğik çizgi.
RequireJS'in belirttiğim yoldan rastgele şeyler koymasını istemedim, o zaman neden böyle yapıyor? Bu işi nasıl yapabilirim?