如何将Bower.json中的devDependencies移至dependencies?

6
我一直在开发一个Angular项目,每当我需要一个新的包时,我都手动编辑bower.json文件并将包添加到devdependencies中,然后运行bower install来安装依赖项。
我从未真正看过我要添加到哪个部分的名称,但最近我运行了bower install <somepackage> -S,它创建了一个名为dependencies的新部分。哦!!!他们应该放在那里。
我查阅了资料,发现devdependencies是用于开发依赖项的,可以在生产构建期间排除,并且主要用于支持测试等功能的软件包。然而,dependencies包括在开发和生产构建中,并且旨在用于将在最终生产构建中使用的软件包。
所以现在我有很多"生产"软件包在devdependencies下。移动它们到dependencies的最佳方法是什么,而不会破坏任何东西?

4
把它们从一个部分剪切并粘贴到另一个部分吗? - JB Nizet
@JBNizet 那有什么问题吗?我正在使用 Angular 样板文件。指令明确指出要用 bower install --save-dev 进行安装。 - richard
1个回答

0

Bower 中的依赖项将安装到您的 bower_components 文件夹中,无论您是否将它们标记为开发依赖项。Bower 将始终使用 dependancies 中列出的内容填充 bower_components 文件夹,并根据您的指示可能会使用 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"
  }
}

顺便提一下,您应该考虑按照Bower的建议将项目迁移到Yarn。 您可以在这里找到如何执行此操作的信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接