31 votes

Comment faire fonctionner une application AngularJS2 sans serveur Node

Est-il possible d'exécuter une application Angular 2 dans un 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 code TypeScript, de sorte que je n'ai pas besoin d'utiliser une librairie js tierce pour le compiler en javascript pur ?

Je voudrais créer une application en utilisant 100% Angular 2 en frontend et pour le l'API REST en utilisant Ruby On Rails, sans utiliser le rendu de page de Rails, les sessions, etc.

Je suis un peu confus à ce sujet, comment Angular2 fonctionne/exécute dans les coulisses... Comment dois-je configurer mon application Angular2 pour l'utiliser sans NodeJS ?

37voto

Je pense que vous mélangez quelques technologies ici.

Serveur

Vous pouvez exécuter une application Angular sur tout serveur capable d'héberger des fichiers statiques. Il n'y a rien de spécial à propos de node. Donc oui, vous pouvez utiliser un ruby. Ou un Apache, nginx, lighttpd etc.

La raison en est que JavaScript est exécuté du côté client. La réponse du serveur consiste uniquement à transmettre 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 de l'utiliser. tout Le navigateur le comprend. Vous pouvez le faire (1) avant de déployer votre application sur le serveur ou (2) en utilisant une bibliothèque comme System.js qui transpile TypeScript à la volée.

Bien que (2) soit définitivement une option et que la CLI Angular Je l'ai utilisé jusqu'à récemment, le point (1) est à mon avis la meilleure option. Angular CLI est passé à (1) et utilise maintenant webpack . Webpack transpose et regroupe votre application. avant il est hébergé sur un serveur.

J'espère avoir pu clarifier un peu les choses pour vous.

16voto

Christophe Roussy Points 2347

TL;DR

Si vous utilisez TypeScript avec Angular 2, vous n'avez besoin de Node que pendant le développement :

DEV : NodeJS est utilisé pour transpiler .ts pour .js des fichiers.

PROD : Généré .js les fichiers sont utilisés dans le navigateur NodeJS est pas nécessaire sauf si vous l'utilisez également dans le backend.

NOTE : Si vous n'utilisez que du simple JS dans le développement, vous n'avez même pas besoin de Node.

2voto

Vous pouvez utiliser n'importe quelle technologie côté serveur, y compris Asp.Net Core, Node.Js, PHP, pour héberger le contenu js, html et css.

Pendant la construction de l'application dans l'IDE, Node.js transpile les fichiers .ts en fichiers .js.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X