y compris les fichiers js avec html et node.js

Je suis l'exécution de messagerie via les websockets entre un HTML5 client et le serveur en cours d'exécution sur node.js. Naturellement, j'ai choisi JSON comme format de message et, comme telle, créé en commun du code javascript, de définir les divers messages de types de contenu et des opérations de transformation. Le code javascript est partagé entre les deux projets.

J'ai créé mon client web comme un projet git et mon serveur comme un autre projet git. En partie parce que je suis en utilisant phonegap pour construire un basé sur webkit client pour les différents environnements. C'est aussi une belle séparation des différentes logique.

À part de la commune code que j'ai créé un projet distinct pour la logique commune et utilisé git de sous-projets à "importer" le code dans les deux autres projets.

Maintenant cela fonctionne très bien pour le html5 projet basé sur, comme je peux le faire à la suite d'inclure le code:

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

Cependant avec le noeud, j'ai eu des problèmes en essayant d'obtenir le code. pour obtenir le code, j'ai fini par faire ce qui suit:

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

Tandis que l'approche que j'ai pris œuvres, j'ai remarqué qu'il commence à faire très salissant quand j'ai des dépendances (comme dans l', j'ai besoin de x.js, y.js et x.js si je veux une.js), et je dois le faire pour chaque node.js fichier js qui souhaite utiliser l'une de ces entités.

Je ne suis pas à l'aise à l'aide de la eval approche. Je n'ai pas de problème de sécurité avec elle, bien que je voudrais utiliser le mode strict et c'est ma compréhension que eval et le mode strict vont ensemble comme l'huile et l'eau.

Donc ma question est, quelle est la meilleure méthode pour prévoir un partage des fichiers js entre html projets et node.js les projets? Je préfère quelque chose qui suit stricte.

Je note qu'il y a plusieurs questions qui sont un peu autour de ce thème, je ne pouvais pas trouver tout pour régler les problèmes que j'élève. Je dois aussi ajouter que je ne souhaite pas "servir" les fichiers à partir du 'serveur'. Le HTML5 client 'autonome'.


Pour préciser, ce que j'ai dans la commune, fichiers js' est quelque chose comme ce qui suit:

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

En HTML5, je peux simplement référence est via new Comms(), qui est ce que j'ai envie de faire dans node.js ainsi.

possible dup de stackoverflow.com/questions/7310176/...
Oui, je dirais que ces questions sont très similaires et je pense que c'certainement des réponses à ses questions.
Si pas, vous pouvez toujours utiliser grunt à concat les fichiers.
Si j'utilise les exportations dans un fichier js utilisé par html, vais-je pas une erreur parce que les exportations n'est pas défini? @mpm ça ne résout pas mon problème car il modifie le fichier js de travailler avec node.js qui afaict va l'amener à rompre avec le code html.

OriginalL'auteur Metalskin | 2013-01-25