为什么要在全局和本地安装 gulp?

Why should gulp be installed both globally and locally?

我是 npm 和 gulp 的新手。我正在 gulp 阅读这篇 css-tricks tutorial。在 安装 Gulp 部分中,他们全局安装了 gulp 以便它可以在计算机的任何位置与命令行一起使用。在下一节 创建 Gulp 项目 中,他们再次在本地安装了 gulp

我不明白的是,如果 gulp 已经全局安装并且我们可以从任何地方使用它,那么为什么要安装两次 gulp?为什么不将 gulpfile.js 与其他 package.json 文件放在一起?

您在终端中使用简单的 gulp 命令全局安装 gulp 并在本地安装 gulp(具有 package.json 依赖项)以便不丢失依赖项,因为您可以将您的项目安装到任何计算机上,所以调用 npm i 并使用 ./node_modules/.bin/gulp 访问 gulp,无需任何额外安装

您甚至不需要 gulp 全局安装。只需将它放在本地并将 gulp 命令放入 package.json 脚本中,如下所示:

  "scripts": {
    "start": "gulp",
    "speed-test": "gulp speed-test -v",
    "build-prod": "gulp build-prod",
    "test": "NODE_ENV=test jasmine JASMINE_CONFIG_PATH=spec/support/jasmine.json"
  },

比起在同一项目上工作的每个人都可以 npm install 并启动 运行ning 命令,甚至无需全局安装 gulp。

  • npm start 将 运行 gulp
  • npm run speed-test 将 运行 gulp speed-test -v
  • npm run build-prod 将 运行 gulp build-prod

当然,您可以在那里添加任意数量的命令。如果团队中有人拥有或想要全局拥有 gulp,那么他们可以直接从终端 运行 gulp 命令。