Est-il possible d'exécuter une application Angular 2 dans le navigateur sans utiliser NodeJS comme serveur. Je ne suis pas sûr, mais si je comprends bien, les navigateurs les plus récents sont capables de compiler/"comprendre" le TypeScript du code, donc je n'ai pas besoin d'utiliser une troisième partie js lib pour le compiler en javascript simple?
Je voudrais créer une application en utilisant 100% Angular 2 sur le frontend et pour le backend REST API en utilisant Ruby sur Rails, sans utiliser le rendu de page de Rails, les sessions etc.
Je suis un peu confus à ce sujet comment Angular2 fonctionne/s'exécute dans les coulisses ... Comment dois-je configurer mon application Angular2 pour l'utiliser sans NodeJS?
Je pense que vous mélangez certaines technologies ici.
Serveur
Vous pouvez exécuter une application Angular sur n'importe quel serveur pouvant héberger des fichiers statiques. Il n'y a rien de spécial à propos du nœud. Donc oui, vous pouvez utiliser un Ruby. Ou un Apache, nginx, lighttpd etc.
La raison en est que JavaScript est exécuté côté client. La réponse du serveur est uniquement de livrer les fichiers JS/HTML/CSS au client qui visite votre site.
TypeScript
Si vous écrivez une application avec TypeScript, vous devez la transpiler en JavaScript avant que le navigateur any le comprenne. Vous pouvez le faire (1) avant de déployer votre application sur le serveur ou (2) utiliser une bibliothèque comme System.js qui transposera TypeScript à la volée.
Alors que (2) est définitivement une option et que Angular CLI l'a utilisé jusqu'à récemment, (1) est à mon avis la meilleure option. Angular CLI est passé à (1) et utilise maintenant webpack . Webpack transpile et regroupe votre application avant elle est hébergée sur un serveur.
J'espère que je pourrais éclaircir un peu les choses pour vous.
TL; DR
Si vous utilisez TypeScript avec Angular 2, vous n'avez besoin que de Node pendant le développement:
DEV : NodeJS est utilisé pour transpiler .ts
fichiers vers .js
des dossiers.
PROD : généré .js
les fichiers sont utilisés à l'intérieur du navigateur, NodeJS est non requis plus, sauf si vous l'utilisez également dans le backend.
NOTE : Si vous n'utilisez que du JS ordinaire dans le développement, vous n'avez même pas besoin de Node
Vous pouvez utiliser n'importe quelle technologie côté serveur, notamment Asp.Net Core, Node.Js, PHP pour gérer le contenu js, html et css.
Lors de la création de l'application dans l'EDI, Node.js transpile les fichiers .ts en fichier .js.