Code:Gibt es etwas falsch mit diesem Javascript dynamische Datei-Include-System?
function stop(reason){
throw(reason);
}
function pragma_once(file_name){
if(window[file_name] !== undefined)
stop("Duplicate symbol: "+file_name);
window["__INCLUDE__"+file_name]=true;
return true;
}
function include(file_name){
var x = document.createElement('script');
x.src = file_name;
document.getElementsByTagName("head")[0].appendChild(x);
}
Ich habe node.js benutze und die require() schien wirklich nützlich sauber meinen Code zu halten, leichter zu verfolgen und leichter zu lesen. Aber wie ich bemerkt habe Javascript für das Web nicht "require()". Ich habe requestjs gefunden, die require() Funktionalität zu Web Javascript hinzufügt. Aber ich weiß nicht, ob eine Bibliothek nützlich für etwas ist, das eine ziemlich kleine Aufgabe zu sein scheint. Also habe ich etwas geschrieben, das so ähnlich funktioniert wie require (eher wie C# include). Das einzige wirkliche Problem, das ich bemerkte, ist, dass es alles asynchron lädt. Dies ist nicht die endgültige Version, aber die Idee, wie dies funktioniert, wird sich nicht ändern.
Gibt es irgendwelche zugrunde liegenden Probleme, die ich nicht kenne? Irgendwelche Gründe, dies NICHT zu benutzen?
Ich würde einen vorhandenen Modul Bundler, z. browserifizieren, webpack oder rollup. –
Node.js hat 'require()', weil es serverseitig ist und der Akt der Anforderung viel trivialer zu tun ist, wenn Sie mit dem Dateisystem spielen müssen. In den Client-Seite benötigen Dateien mit viel mehr Komplikationen. Ich unterstütze @ FelixKlings Vorschlag. – apokryfos