Как лучше всего переместить пакеты из зависимостей dev в зависимости в bower.json?

Я работал над угловым проектом, и всякий раз, когда мне нужен был новый пакет, я вручную редактировал bower.json и добавлял пакет в devdependencies, а затем запускал bower install, чтобы установить зависимость.

Я никогда не смотрел на название раздела, в который добавлял его, но недавно я запустил bower install <somepackage> -S, и он создал новый раздел под названием dependencies. Ооо!!! Они должны идти туда.

Я просмотрел его и, по-видимому, devdependencies предназначен для зависимостей разработки и может быть исключен во время производственной сборки и в первую очередь предназначен для пакетов, поддерживающих тестирование и т. д. Однако dependencies включен как в dev, так и в производственные сборки и предназначен для пакетов, которые будут в окончательной производственной сборке.

Так что теперь у меня много "производственных" пакетов под devdependencies. Как лучше всего переместить их в dependencies, ничего не сломав?


person richard    schedule 15.02.2015    source источник
comment
вырезать и вставлять их из одного раздела в другой?   -  person JB Nizet    schedule 15.02.2015
comment
@JBNizet Есть ли с этим проблемы? Я использую угловой шаблон. В инструкциях конкретно говорится об установке с bower install --save-dev   -  person richard    schedule 16.02.2015


Ответы (1)


Зависимости в Bower будут установлены в вашу папку bower_components независимо от того, пометите ли вы их как зависимости dev или нет. Bower всегда будет заполнять папку bower_components тем, что указано в dependancies, и, в зависимости от ваших инструкций, возможно тем, что указано в devDependancies. В вашем случае, если вы знаете, какие пакеты требуются только для разработки, вы можете просто переместить их в нужный объект. Если у вас сейчас все работает с вашими зависимостями в devDependancies, то ничего не сломается, если вы переместите их в dependancies.

Например

{
  ...
  "dependencies": {
    "angular": "1.5.11",
    "angular-resource": "1.5.11",
    "angular-sanitize": "1.5.11",
    "babel-core": "^6.26.0",
    "babel-preset-es2015": "^6.24.1",
    "gulp": "^3.9.1"
  }
}

станет

{
  ...
  "devDependencies" {
    "babel-core": "^6.26.0",
    "babel-preset-es2015": "^6.24.1",
    "gulp": "^3.9.1"
  },
  "dependencies": {
    "angular": "1.5.11",
    "angular-resource": "1.5.11",
    "angular-sanitize": "1.5.11"
  }
}

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

person Bobby Nichols    schedule 01.11.2017