在 bower.json 中将包从开发依赖项移动到依赖项的最佳方法是什么?



我一直在做一个angular项目,每当我想要一个新的包时,我都会手动编辑bower.json,并将包添加到devdependencies中,然后运行bower install来安装依赖项。

我从来没有真正查看过要添加它的部分的名称,但最近我运行了bower install <somepackage> -S,它创建了一个名为dependencies的新部分。哦!!!他们应该去那里。

我查了一下,很明显devdependencies是用于开发依赖项的,在生产构建过程中可以被排除在外,主要用于支持测试等的包。然而,dependencies既包括在开发构建中,也包括在生产构建中,用于最终生产构建中的包。

所以现在我在devdependencies下有很多"生产"包。在不破坏任何内容的情况下,将它们移动到dependencies的最佳方法是什么?

bower中的

Dependencies将安装到您的bower_components文件夹中,无论您是否将其标记为dev-dependences。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"
  }
}

顺便说一句,您应该考虑根据Bower自己的建议将您的项目迁移到Yarn。你可以在这里找到如何做到这一点的信息。

最新更新