inklusive js-Dateien mit html-und node.js

Ich trete messaging via websockets zwischen einem HTML5-client und-server läuft auf node.js. Natürlich wählte ich JSON als Nachrichtenformat und als solche angelegt gängige javascript-code, der Definition der verschiedenen Inhalte von Nachrichten-Typen und Transformationen. Der javascript-code ist geteilt zwischen den beiden Projekten.

Habe ich meine web-client wie einem git Projekt und meinem server ein weiteres git-Projekt. Teils, weil ich bin mit phonegap zu bauen, die einen webkit-basierten client für verschiedene touch-basierte Umgebungen. Es ist auch eine schöne Trennung der verschiedenen Logik.

Teilen die gemeinsame code, den ich erstellt ein separates Projekt für die gemeinsame Logik und verwendet git die Teilprojekte zu 'import' den code in die beiden anderen Projekte.

Nun dies funktioniert gut für die html5-basierten Projekt, wie kann ich nur das folgende tun, um den code:

<script src="common/js/comms.js" type="text/javascript"></script>

Jedoch mit Knoten-ich habe Probleme versuchen, um den code zu erhalten. um den code zu erhalten, habe ich am Ende machen die folgenden:

var fs = require('fs');
eval(fs.readFileSync('./common/js/comms.js').toString());

Während der Ansatz, den ich genommen habe funktioniert, ich habe bemerkt, dass Sie begann sehr chaotisch, wenn ich die Abhängigkeiten (wie in, ich brauche x.js, y.js und x.js wenn ich eine will.js), und ich muss es tun, für jeden einzelnen node.js js-Datei, die möchte, dass auf jede dieser Personen.

Ich bin mir auch nicht sicher mit der eval Ansatz. Ich habe nicht eine Frage der Sicherheit, aber ich möchte den strikten Modus und es ist mein Verständnis, dass eval und strict-Modus gehen zusammen wie öl und Wasser.

Meine Frage ist also, was ist die beste Methode, um gemeinsame js-Dateien zwischen html-Projekte und node.js Projekte? Ich würde lieber etwas, das folgt streng.

Sollte ich beachten, dass, während es gibt mehrere Fragen, die irgendwie um dieses Thema, ich konnte keine finden, die den spezifischen Themen, die ich aufgreife. Ich sollte auch hinzufügen, dass ich nicht wollen, zu 'dienen' die Dateien aus dem "server". Der HTML5-client ist 'standalone'.


Zu klären, was ich in den 'common js-Dateien' ist so etwas wie die folgenden:

var Comms = function (options) {
   ...
}

In HTML5 kann ich dann einfach Referenz ist über new Comms(), das ist, was ich Sehnsucht zu tun node.js wie gut.

  • möglich dup stackoverflow.com/questions/7310176/...
  • Ja, ich würde sagen, diese Fragen sind sehr ähnlich und ich denke, es ist definitiv antwortet auf seine Frage.
  • Wenn nicht, Sie können immer mit grunt concat-Dateien.
  • Wenn ich die Exporte in eine js-Datei verwendet, die von html -, werde ich nicht eine Fehlermeldung erhalten, weil die Exporte nicht definiert ist? @mpm löst es nicht mein problem, da es änderungen die js-Datei für die Arbeit mit node.js, die afaict wird dazu führen, dass zu brechen, mit dem html-code.
InformationsquelleAutor Metalskin | 2013-01-25
Schreibe einen Kommentar