Cómo ejecutar la aplicación AngularJS2 sin servidor de nodos


Es posible ejecutar una aplicación Angular 2 en el navegador sin usar NodeJS como servidor. No estoy seguro, pero si entiendo correctamente los navegadores más recientes son capaces de compilar/"entender" el código TypeScript por lo que no tengo que usar ninguna tercera parte js lib para compilarlo en javascript normal?

Me gustaría crear una aplicación usando 100% Angular 2 en frontend y para el API REST de backend usando Ruby On Rails, sin usar el renderizado de páginas de Rails, sesiones sucesivamente..

Estoy un poco confundido sobre cómo funciona Angular2/corre detrás de las escenas... ¿Cómo debo configurar mi aplicación Angular2 para usarla sin NodeJS?

Author: Nagy Ervin, 2016-09-08

3 answers

Creo que estás mezclando algunas tecnologías aquí.

Servidor

Puede ejecutar una aplicación Angular en cualquier servidor que pueda alojar archivos estáticos. No hay nada especial en node. Así que sí, puedes usar un rubí. O un Apache, nginx, lighttpd etc.

La razón de esto es que JavaScript se ejecuta en el lado del cliente. La respuesta del servidor es solo para entregar los archivos JS / HTML / CSS al cliente que está visitando su sitio.

TypeScript

Si eres al escribir una aplicación con TypeScript, debe transpilarla a JavaScript antes de que cualquier navegador la entienda. Puede hacer esto (1) antes de implementar su aplicación en el servidor o (2) usar una biblioteca como System.js que transpilará TypeScript sobre la marcha.

Mientras que (2) es definitivamente una opción y la CLI Angular la usaba hasta hace poco, (1) es en mi opinión la mejor opción. Angular CLI cambió a (1) y ahora está usando webpack. Webpack está transpilando y agrupando su aplicación antes de que esté alojada en un servidor.

Espero poder aclararte un poco las cosas.
 33
Author: Sebastian Sebald,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-01 17:41:12

TL; DR

Si utiliza TypeScript con Angular 2, solo necesita Node durante el desarrollo:

DEV : NodeJS se utiliza para transpilar .ts archivos a .js archivos.

PROD : Los archivos generados .js se utilizan dentro del navegador, NodeJS no es ya no es necesario, excepto si también sucede usarlo en el backend.

NOTA: Si solo usa JS en desarrollo, ni siquiera necesita Node

 13
Author: Christophe Roussy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-26 12:13:46

Puede utilizar cualquier tecnología del lado del servidor, incluyendo Asp.Net Núcleo, Nodo.Js, PHP para servir el contenido js, html y css.

Mientras compila la aplicación en el IDE, el nodo.js transpile el .archivos ts en .archivo js.

 2
Author: Deepak Wanjarkhede,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-29 18:08:14