【问题标题】:What's the best way to move packages from devdependencies to dependencies in bower.json?将包从 devdependencies 移动到 bower.json 中的依赖项的最佳方法是什么?
【发布时间】:2015-04-16 06:32:29
【问题描述】:

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

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

我查了一下,显然devdependencies 用于开发依赖项,可以在生产构建期间排除,主要用于支持测试等的包。但是dependencies 包含在开发和生产构建中,并且适用于将在最终生产构建中的软件包。

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

【问题讨论】:

  • 将它们从一个部分剪切并粘贴到另一个部分?
  • @JBNizet 这有什么问题吗?我正在使用角度样板。说明中特别说明了使用bower install --save-dev 进行安装

标签: angularjs bower bower-install


【解决方案1】:

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。您可以找到有关如何执行此操作的信息here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-04
    • 1970-01-01
    • 2018-10-04
    • 1970-01-01
    • 2015-12-28
    • 2023-02-24
    • 1970-01-01
    • 2020-12-01
    相关资源
    最近更新 更多