Мне нужен узел.JS, чтобы использовать в AngularJS?


Я хотел бы использовать angular.js для моего инструмента редактирования изображений на моем сайте. Мне нужно node.js также?

Я не понимаю сценарий. Если мне это не нужно, когда nodejs и angularjs оба вместе?

6 60

6 ответов:

вам не нужны NodeJS для создания инструмента редактирования изображений на стороне клиента.

AngularJS-это платформа веб-приложений, поддерживаемая Google и сообществом, которая помогает создавать одностраничные приложения, состоящие из одной HTML-страницы с CSS и JavaScript на стороне клиента.

но если когда - нибудь вы захотите загрузить и сохранить эти изображения на сервере и сделать их доступными для нескольких клиентов-тогда да, вам также понадобится сервер. Этот сервер может быть сделано с NodeJS.

я чувствую твою боль.

для кого-то нового в Angular 2 development, я могу чувствовать боль от необходимости учиться серверные технологии для чего-то, что по существу является технология на стороне клиента. Из того, что я понимаю:

  1. node.js используется только для управления зависимостями приложения angular 2. Если вам каким-то образом удастся получить эти зависимости без использования node.js,npm или jspm затем вы можете запустить и разработать приложение в автономном режиме. Однако выполнение этого вручную займет неумолимое количество времени, так как вам придется загружать файлы вручную, которые могут иметь другие зависимости, которые потребуют повторной загрузки других файлов (да, я был там). node.js или npm или jspm в этом отношении автоматизирует этот процесс, а также принимает все необходимые меры по настройке файлов (jspm) Так что всякий раз, когда вы используете определенную зависимость в своем приложении, это конкретное другие зависимости также будут присутствовать в вашей системе.
  2. некоторые браузеры, в частности Google Chrome ограничивает файлы, загруженные локально в целях безопасности, так что некоторые технологии HTML 5, используемые Angular 2 будет производить ошибку при загрузке с помощью файла: протокол. Поэтому вам нужен сервер, с которого вы можете обслуживать свое приложение, чтобы все доступные технологии HTML 5 были доступны для запуска Angular 2.
  3. node.js также необходимо для hot-module-reload возможность быстрой разработки приложений, так как она обеспечивает file watcher api для обнаружения изменений в исходном коде.

но есть способ разработать приложение Angular 2 в автономном режиме без узла.js.

  1. помните, когда я сказал, что если вам удастся получить все необходимые зависимости, вы можете запускать и развивать свое приложение в автономном режиме? Если вы можете как-то найти или создать пакет, который имеет все необходимые зависимости вашего приложения, то вы не нужно npm или jspm для управления зависимостями для вас.
  2. на file-access-restriction проблема, вы можете загрузить свой проект в качестве расширения. Расширения имеют возможность использовать все доступные технологии HTML 5, а также некоторые мощные api (недоступные даже для приложений, обслуживаемых на сервере), в то же время будучи локальными для вашей среды разработки. Таким образом, вам не нужно запускать веб-сервер для доступа к технологиям HTML 5, Если вы обслуживаете свое приложение в качестве расширение.
  3. на hot-module-reload возможность, вы можете подойти к нему с другой стороны. Вместо того, чтобы иметь файловый наблюдатель на веб-сервере для отслеживания изменений файлов в локальной системе, вы можете сделать это из самого приложения. Так как приложение может fetch или xmlhttprequest ресурсы, которые необходимы приложению, вы можете периодически fetch или xmlhttprequest ресурсы, необходимые вашему приложению, и сравните его с некоторым кэшем. Но откуда вы знаете, какие файлы проверять? Вы можете ищите links внутри страницы script, of img. если вы используете SystemJS в качестве загрузчика модулей, то вы можете использовать его реестр для поиска файлов, необходимых вашему приложению, но не загруженных на страницу, так как он был транспилирован или что-то еще. Хотя все это может быть утечкой производительности в вашу систему вместе с дополнительными накладными расходами на транспилирование или предварительную обработку неродного кода, эта работа может быть передана на аутсорсинг в web worker это освободит основной поток выполнения в системе код приложения.

не веришь мне? Вот доказательство.

  1. угловой в проекте Chrome на github содержит пакет на молнии который содержит необходимые зависимости, необходимые для разработки приложения minimal Angular 2 (по minimal, я имею в виду учебник Tour of Heroes, упомянутый на странице быстрого запуска). Так что, если вы находитесь в системе, не поддерживаемой узлом.js (да есть, например, ChromeOS) или просто на ограниченном система в каком узле.js просто недоступен, все необходимые зависимости доступны, и вам не нужно npm или jspm для управления необходимыми зависимостями для вас.
  2. есть доказательство расширения понятия который служит tour of heroes tutorial (файлы разработки, typescript и все) локально в качестве расширения chrome.
  3. расширение также реализует hot-module-reload функциональность путем подключения к HMR-примитивам, разработанным Алексисом Винсентом для SystemJS. Элемент hot-module-reload функциональность включена одним файлом javascript, так что если эта функциональность не нужна или занимает слишком много ресурсов, то вы можете просто удалить оскорбительную строку кода.

но будьте осторожны, хотя.

  1. если вы используете эту систему, то вам нужен способ обновить свой пакет разработки, поскольку технология движется вперед, и она движется в быстром темпе (что с разговором об угловом 3, когда угловой 2 только что был выпущен) или технологии, которые вы используете для разработки своего приложения, могут устареть или что где-то на этом пути изменение api может помешать вашему приложению работать в будущем. Также не гарантируется наличие обновленных репозиториев для зависимостей, так как эти типы пакетов поддерживаются вручную.
  2. связывание вашего приложения в качестве расширения Chrome, например, в Angular in Chrome, приведет к узким местам производительности. Так как код транспилируется и модули лениво загружаются, вы теряете достижения JIT-компиляции и других улучшений производительности, которые современные движки javascript используют для оптимизации кода, выполняемого в браузере. Однако то, что вы теряете в производительности, вы получаете гибкость, чтобы использовать технологию, которую вы предпочитаете развивать. Всегда есть компромисс. Кроме того, хит производительности только в начале, как код загружается. После того, как он был загружен приложением, то система будет знать, как реализовать производительность улучшение. Когда вы распространяете свое приложение, вам действительно нужно скомпилировать необходимые ресурсы, чтобы воспользоваться преимуществами повышения производительности современных движков javascript.
  3. The hot-module-reload возможность в настоящее время является хакерским способом реализации file watcher, который использует общие соглашения для проекта (temp1.ts, temp1.css, temp1.htm) поскольку нет способа (я могу ошибаться в этом) получить окончательный список всех ресурсов, необходимых приложению, но не загруженных главная страница (транспилированные или предварительно обработанные ресурсы).

узел.js используется для записи Javascript на стороне сервера. угловатый.js-это фреймворк на стороне клиента.

вам не нужен узел.js для использования углового.js но, вы можете установить npm (node packaged modules), чтобы использовать некоторые удивительные инструменты, которые сделают вашу жизнь в качестве углового разработчика намного проще. Например: yoeman, который является отличным инструментом, монтаж. Есть много других инструментов, доступных на npm вот ссылка на их сайт Узнайте больше об угловом на официальный угловой сайт или на угловой youtube канал

нет. Angular используется на стороне клиента и Node для серверной части.

они используют, чтобы идти вместе, как средний стек но это не обязательно.

вам не нужен узел.JS для AngularJS, чтобы работать. NodeJS-это серверная сторона, AngularJS-клиентская сторона.

Если вы новичок в AngularJS, я бы предложил этот учебник в AngularJS учебник. В учебнике вы будете использовать NodeJS, вы поймете, почему они работают вместе, но не являются необходимыми.

трудно ответить, не зная, как работает ваш инструмент редактирования изображений. Но чтобы ответить на ваш вопрос, никакой узел вам не нужен.js для использования AngularJS.

Angular-это интерфейсная платформа javascript, которая работает в веб-браузере клиентов.

Node-это сервис, который может выполнять javascript и часто используется на сервере, возможно, в замене PHP (как в среднем стеке). Кроме того, поскольку Node-это служба, которая может выполнять javascript, ее можно использовать в вашем локальном компьютере при разработке угловых приложений для выполнения фоновых задач, таких как минимизация css и javascript и выполнение тестов.

поэтому, если ваш инструмент редактирования изображений разработан на javascript и ваше приложение использует Angular и Node (как веб-сервер), код может быть выполнен на стороне клиента или на стороне сервера.

есть чтение на среднем стеке, чтобы увидеть, где узел и угловой вписываются. Вам даже не нужен узел вообще, но это хорошо, чтобы развиваться все в том же язык.