Для чего используются node.js и AMD API?

У меня есть некоторый опыт работы с JavaScript, но совсем не с управлением проектами и инструментами JavaScript. Я смотрю на использование node и AMD, но не совсем уверен, для чего они используются, и у меня проблемы с документацией.

Вот некоторые из конкретных моментов, на которых я застрял:

Узел

  • у меня сложилось впечатление, что он предназначен для серверного JavaScript. Может ли он также выполнять сборки для клиентских проектов?
  • если он может выполнять сборки, может ли он собирать проекты (+ зависимости) в один файл для развертывания на стороне клиента?
  • Может ли процесс сборки интегрировать такие инструменты, как jslint и grunt?

AMD


person Matt Fenwick    schedule 23.01.2013    source источник
comment
это вопрос Shark vs Gorilla, и до очень конкретного вопроса о том или ином нужно оставаться закрытым. Также вопрос показывает полное непонимание обеих технологий ОП. Это тоже не вопрос! Все, что X против Y, не по теме, так как требует мнения и обсуждения.   -  person    schedule 23.01.2013
comment
@JarrodRoberson, это не вопрос акулы против гориллы; извините, если так показалось. Этот узел не предназначен для сборки, чего я не знал, поэтому я и задал вопрос.   -  person Matt Fenwick    schedule 23.01.2013
comment
@JarrodRoberson the question shows a complete lack of comprehension of both technologies by the OP это правда - отсюда и вопрос.   -  person Matt Fenwick    schedule 23.01.2013
comment
Вопрос кажется достаточно сфокусированным, чтобы на него можно было ответить. Просто уточните пункты ОП.   -  person Robert Harvey    schedule 23.01.2013


Ответы (1)


Эти проекты не связаны.

node.js — это интерпретатор JavaScript, как и веб-браузер. Это серверная технология, и она не может работать на клиенте. В частности, это набор библиотек-оболочек, которые добавляют поддержку ввода-вывода в файл или сеть, чтобы вы могли читать с диска или отвечать на запросы TCP (и, следовательно, TCP/IP, также известные как HTTP(S) или FTP). В противном случае это просто javascript, который вы бы написали в браузере. Вы можете использовать его для запуска скрипта из командной строки или для создания веб-сервера.

Его можно использовать для «сборки» проектов из командной строки, поскольку его можно использовать как язык сценариев в среде оболочки (он даже реагирует на маршрутизацию команды #!).

AMD — это инструмент для управления зависимостями для проектов JavaScript. Вы можете использовать его для загрузки зависимостей динамически и даже асинхронно (отсюда и название). AMD будет работать в браузере и в node.js (но в node.js уже есть технология для динамической загрузки JavaScript, так что это не будет особо полезно).

person Aaron Digulla    schedule 23.01.2013