【问题标题】:What is the correct option to use Grunt locally and on the production server, --save or --save-dev?在本地和生产服务器上使用 Grunt 的正确选项是什么,--save 或 --save-dev?
【发布时间】:2015-05-10 08:49:00
【问题描述】:

Grunt 网站上的install page 给出以下建议

Grunt 和 Grunt 插件应该在你的
中定义为 devDependencies 项目的 package.json。这将允许您安装所有
项目的依赖项只需一个命令:npm install

我想使用 grunt 来运行一些特定于本地开发的任务,例如

  • 开发:连接 javascript,但不要缩小
  • 生产:连接缩小javascript

如果我将 Grunt 安装为开发依赖项,这是否意味着当我在生产服务器上运行 NPM install 时 - grunt 不会安装到节点模块中?

能够在本地生产服务器上使用 Grunt 的正确选项是什么?

【问题讨论】:

    标签: gruntjs


    【解决方案1】:

    如果你将 Grunt 作为开发依赖安装没关系,当你运行 npm install 时它仍然会被安装。

    没有安装开发依赖项的情况是当您运行npm install <package> 时,因为共识是您是希望使用(而不是构建/测试)该包的最终用户。但是,您仍然可以通过添加 --dev 标志来包含开发依赖项。

    【讨论】:

    • 哦,所以 NPM 基本上假设我的项目是为了添加到 NPM 存储库而开发的,并且当我使用 npm install grunt --save-dev 将 grunt 添加到我的项目时 - 如果/当“最终用户“来通过 NPM repo 安装我的包(这基本上不会发生,因为这只是一个网站项目)NPM 说 “哦 Grunt 只在这个人开发他的包时才需要” - 并且“结束用户”只会给我的项目的内容 - 没有咕噜声?
    • @user4668401 完全是 :)
    【解决方案2】:

    您应该使用--save-dev 安装 grunt。它的作用是在项目的package.json 中添加一行。类似于使用--save-dev 安装any 其他节点模块。然后,如果您在具有相同package.json 的任何机器上运行npm install,所有这些模块将被下载并安装在本地,并且可供您的项目使用。

    至于在生产和开发中运行不同的任务,我假设你知道如何配置 grunt 来做到这一点。

    【讨论】:

      猜你喜欢
      • 2013-10-13
      • 2014-05-18
      • 2016-02-03
      • 2014-09-04
      • 2017-02-27
      • 2013-11-03
      • 1970-01-01
      相关资源
      最近更新 更多