2015-12-08 3 views

Répondre

1

Vous ne pouvez pas exécuter les scripts node.js du côté client.

En fait, cette déclaration n'est pas entièrement vraie. Si un script ne contient que du code que le navigateur et node.js peuvent exécuter, ou peut en quelque sorte détecter l'environnement dans lequel il s'exécute et passer au code ami de cet environnement, alors cela fonctionnera. Mais un script est limité aux capacités de l'environnement qu'il exécute dans, donc les appels comme http.createServer() ne fonctionneront pas dans le navigateur. Ce n'est pas défini dans le navigateur, et ne le sera probablement jamais. C'est trop dangereux du point de vue de la sécurité.

Qu'est-ce que vous pouvez faire est de créer une API côté serveur dans Node.js, et que l'appel navigateur à travers AJAX. Le script servant votre API sera exécuté dans node.js, donc il peut faire tout ce que node.js peut faire. Cependant, étant donné que ce code ne s'exécute pas dans le navigateur, il ne pourra pas affecter le navigateur, sauf en cas de retour.

Je suppose que vous avez réellement besoin de deux scripts (un sur le serveur et un sur le client) qui communiquent entre eux. La manière dont vous configurez cette communication dépend de vous, mais si vous lancez des serveurs en réponse à des appels AJAX, vous devrez faire très attention à la sécurité. Pourtant, c'est faisable; Les applications comme webmin sont communes.

4

Aucune alternative à browserify ne va vous permettre de faire des choses qui sont simplement impossibles dans un environnement de navigateur ... y compris le démarrage d'un serveur HTTP.

1

Démarrage d'un serveur sur le navigateur ne sera pas possible.

Aucun navigateur sensé ne le permet car cela peut conduire à une faille de sécurité drastique et à des attaques.