javascript это - Разница между Grunt, NPM и Bower (package.json vs bower.json)




1 Answers

Обновление за середину 2016 года :

Все меняется так быстро, что если это конец 2017 года, этот ответ может быть не в курсе!

Начинающие могут быстро заблудиться в выборе инструментов сборки и рабочих процессов, но то, что наиболее актуально в 2016 году, не использует Bower, Grunt или Gulp вообще! С помощью Webpack вы можете делать все прямо в NPM!

Не заставляйте меня ошибочно использовать другие рабочие процессы, и я по-прежнему использую GULP в своем проекте с наследием (но медленно выхожу из него), но так оно и делается в лучших компаниях, и разработчики, работающие в этом рабочем процессе, зарабатывают много денег!

Посмотрите на этот шаблон, это очень современная установка, состоящая из смеси лучших и новейших технологий: https://github.com/coryhouse/react-slingshot

  • Webpack
  • NPM как инструмент построения (без Gulp, Grunt или Bower)
  • Реагировать с Redux
  • ESLint
  • список длинный. Иди и исследуй!

Ваши вопросы:

Когда я хочу добавить пакет (и проверить зависимость от git), где он принадлежит - в package.json или в bower.json

  • Все принадлежит в package.json сейчас

  • Зависимости, необходимые для сборки, находятся в «devDependencies», то есть npm install require-dir --save-dev (--save-dev обновляет ваш пакет.json, добавляя запись в devDependencies)

  • Зависимости, необходимые для вашего приложения во время выполнения, находятся в «зависимостях», то есть npm install lodash --save (--save обновляет ваш пакет.json, добавляя запись к зависимостям)

Если это так, когда я должен устанавливать пакеты явно так, не добавляя их в файл, который управляет зависимостями (кроме установки инструментов командной строки по всему миру)?

Всегда . Просто из-за комфорта. Когда вы добавляете флаг ( --save-dev или --save ), файл, который управляет deps (package.json), обновляется автоматически. Не тратьте время, редактируя его вручную. Ярлык для npm install --save-dev package-name - npm i -D package-name и ярлык для npm install --save package-name npm i -S package-name

update init

Я новичок в использовании npm и bower, создавая свое первое приложение в emberjs :).
У меня есть некоторый опыт работы с рельсами, поэтому я знаком с идеей файлов для перечисления зависимостей (таких как bundler Gemfile)

Вопрос: когда я хочу добавить пакет (и проверить зависимость в git), где он принадлежит - в package.json или в bower.json ?

Из того, что я собираю,
запущенная bower install будет извлекать пакет и помещать его в каталог /vendor ,
при запуске npm install он будет извлекать его и помещать в каталог /node_modules .

Этот ответ SO говорит, что беседа для front-end и npm для бэкэнда.
Ember-app-kit похоже, придерживается этого различия с первого взгляда ... Но инструкции в файле grunt для включения некоторых функций дают две явные команды, поэтому я здесь полностью смущен.

Интуитивно я бы предположил, что

  1. npm install --save-dev package-name будет эквивалентно добавлению имени пакета в мой пакет package.json

  2. bower install --save package-name может быть таким же, как добавление пакета в мой bower.json и запуск установки bower ?

Если это так, когда я должен устанавливать пакеты явно так, не добавляя их в файл, который управляет зависимостями (кроме установки инструментов командной строки по всему миру)?




Related