2016-09-08 4 views
22

Возможно ли запустить приложение Angular 2 в браузере без использования NodeJS в качестве сервера. Я не уверен, но если я правильно понимаю, новейшие браузеры могут компилировать/«понимать» код TypeScript, поэтому мне не нужно использовать какую-либо третью часть js lib для компиляции ее в простой javascript?Как запустить приложение AngularJS2 без сервера Node

Я хотел бы создать приложение, используя 100% Угловая 2 на веб-интерфейсе и для бэкэнд REST API с использованием Ruby On Rails, без использования страницы рендеринга Rails ШЕРСТИ, сессий и т.д ..

Я немного запутался в этом, как Angular2 работает/работает за кулисами ... Как мне настроить приложение Angular2 для его использования без NodeJS?

+0

Мне нужна помощь ура. Пожалуйста, ответьте мне как можно скорее. –

ответ

26

Думаю, вы смешиваете некоторые технологии здесь.

Сервер

Вы можете запустить угловое приложение на любом сервере, которые могут содержать статические файлы. В узле нет ничего особенного. Так что да, вы можете использовать рубин. Или Apache, nginx, lighttpd и т. Д.

Причина этого в том, что JavaScript выполняется на стороне клиента. Ответ сервера заключается только в том, чтобы доставлять файлы JS/HTML/CSS клиенту, который посещает ваш сайт.

машинопись

Если вы пишете приложение с машинопись вам нужно transpile его JavaScript, прежде чем любой браузер понимает. Вы можете сделать это (1), прежде чем развертывать свое приложение на сервере, или (2) использовать библиотеку, такую ​​как System.js, которая будет транслировать TypeScript на лету.

Хотя (2) определенно является опцией, и Angular CLI использовал его до недавнего времени (1), на мой взгляд, лучший вариант. Угловая CLI переключается на (1) и теперь использует webpack. Webpack транслирует и связывает ваше приложение до, оно размещается на сервере.

Надеюсь, что я смогу немного разобраться.

+0

Спасибо за ваш ответ :) –

+0

Добро пожаловать :) –

+0

Привет @SebastianSebald, спасибо за ответ. Но у меня есть сомнения. Я сделал учебное пособие по поиску героев углового 2-го сайта, и когда я закончил, он отлично работает на локальном запуске npm start, но если я поместил его на сервер (с apache), он не загрузится. Вы знаете, что может случиться? Благодаря! –

7

TL; DR

Если вы используете машинопись с угловыми 2, вам нужно только узел в процессе разработки:

Разработка: NodeJS используется для transpile .ts файлов .js файлов.

Производство: только генерироваться будут использоваться .js файлы, NodeJS является не требуется больше, за исключением, если вы также случаться использовать его в административной панели.

ПРИМЕЧАНИЕ: Если вы используете только простые JS в развитии не нужно даже Node

2

Вы можете использовать любую сторону сервера технологию, включая Asp.Net Core, Node.js, PHP на сервер JS, HTML и css-контент.

При создании приложения в среде IDE Node.js пересылает файлы .ts в файл .js.

Смежные вопросы