在项目中保存gulp插件

时间:2016-02-18 09:47:36

标签: node.js npm 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还没有创建它

4 个答案:

答案 0 :(得分:1)

<强> TLDR 如果您的依赖项在package.json文件中命名,则可以。 用户只需要npm安装即可:npm install

长篇故事

假设您有package.json个文件。

现在你做

npm install --save-dev gulp-asvn

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

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

npm install

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

答案 1 :(得分:1)

参考作曲家文档 -

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

您可以使用此命令确保忽略要提交给svn repo的node_modules文件夹。

  svn propedit svn:ignore . 

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

现在您知道npm&#39;可能&#39;好久不见了。为了安全起见,您可以为node_modules创建另一个repo。

此外,您可以将依赖项和开发依赖项区分开来,并在package.json文件中单独保存。

  npm install

P.S。 - 上面的命令足以让其他人配置他们的环境。如果不是,您可以将环境变量用于api键和其他依赖于环境的常量。

答案 2 :(得分:1)

节点模块安装在文件夹中,如果它有文件package.jsonpackage.json有许多字段,告诉作者,git存储库等。

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

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

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

并运行npm install

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

答案 3 :(得分:1)

项目依赖项存储在package.json文件中,但npm install --save-dev 不会创建文件,如果它不存在,或者甚至警告它没有&#39 ; t存在且--save-dev开关无效。 (从这个意义上说,它的行为与Composer不同,后者只是自动创建composer.json文件。)

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

{
  "private": true
}
相关问题