将 gulp 插件保存在项目中



我正在尝试使用Gulp自动创建ZIP文件来分发我的PHP项目。我对 npm 还不是很熟悉。

我已经意识到我需要几个插件(到目前为止,gulp-asvn 和 gulp-zip)。我已经按照官方网站上提供的说明安装了它们,例如:

npm install --save-dev gulp-asvn

我的node_modules目录已经和实际的代码库一样大,而且作为一个内部开发人员工具,如果没有必要的话,我不想把它提交到我的 Subversion 存储库中。

有没有办法告诉 npm 需要哪些包,并有可能一次安装它们,这样当其他人签出代码时,配置他们的环境就不会有太多问题?在PHP的作曲家中,你会有一个composer.json文件,但我不确定package.json是否等同于该文件,而且npm install也没有创建它。

TLDR如果您的依赖项在package.json文件中命名,则罚款。用户只需对npm说要安装它们:npm install

说来话长

假设您有package.json文件。

现在你做到了

npm install --save-dev gulp-asvn

这将安装gulp-asvn包并将其作为devDependencies添加到package.json文件中。

如果您忽略了检查文件中的node_modules,则用户只需说npm即可安装所有依赖项,您就可以了。

npm install

此命令查看package.json内部,解析所有依赖项和开发依赖项,将它们从npm注册表中拉下并安装它们。

参考作

曲家文档 -

这个想法并不新鲜,Composer 受到 node 的 npm 和 ruby 的捆绑器的强烈启发。

您可以使用此命令确保忽略要提交到 svn 存储库node_modules文件夹。

  svn propedit svn:ignore . 

将弹出默认文本编辑器,您可以根据文件夹结构添加要忽略node_modules目录。

现在如您所知,npm"可能"不会存在很长时间。为了安全起见,您可以为node_modules创建另一个存储库。

此外,还可以区分依赖项和开发依赖项,并将其分别保存在 package.json 文件中。

  npm install

PS - 上面的命令足以让其他人配置他们的环境。如果没有,您可以将环境变量用于 api 密钥和其他环境相关常量。

如果文件夹中有文件package.json,则节点模块将安装在文件夹中。该package.json有许多字段,其中说明了作者,git存储库等。

这里有一个重要的字段,即dependencies:,它基本上列出了运行此项目所需的节点模块。当npm install somePackage --save-dev运行时,它会尝试查找package.json并将其保存为依赖项,同时下载模块。

您可以通过编写npm init并列出依赖项中的所有节点模块来创建package.json

"dependencies": {
  "gulp-asvn": "^0.4.5",
  "....." : ".."
},

并运行npm install.

还可以通过单独运行 npm install --save-dev gulp-asvn 包和其他包来保存依赖项。然后,它将添加到您的package.json

项目依赖项存储在package.json文件中,但如果文件不存在,npm install --save-dev将不会创建该文件,甚至警告它不存在并且--save-dev开关将不起作用。(从这个意义上说,它的行为与 Composer 不同,后者只是自动创建其composer.json文件。

不是可再发行 JavaScript 库的项目的最低配置可以像这样小:

{
  "private": true
}

相关内容

最新更新