我在github上存储了一个私有模块,它包含在我使用npm的一个项目中。模块有一个.npmignore文件,但当我安装或更新该模块时,不会忽略任何内容。
项目的package.json
{
"name": "Your Cool Project",
"version": "0.0.0",
"dependencies": {
"myModule" : "git+ssh://git@github.com:user/myModule.git",
/* All your other dependencies */
}
...
}模块的.npmignore文件
.git*
gulpfile.js
index.html
tests.js
README.md当我运行npm update myModule时,这些文件仍然被下载到我的项目中。我是不是遗漏了什么?.npmignore是否适用于私人托管的模块?提前谢谢。
发布于 2014-06-16 23:47:31
由于您将依赖项myModule指定为Git存储库,因此npm可能只是克隆回购。因此,您的.npmignore文件没有被使用。
.npmignore似乎在“制作模块”时使用,例如:pack或publish不使用模块(如您的示例中所示)。
发布于 2016-09-05 16:42:49
使用.npmignore时要小心
如果您还没有使用过.npmignore,那么它默认为.gitignore,并附加了几个正常的默认值。
很多人没有意识到,一旦将.npmignore文件添加到项目中,.gitignore规则就会被忽略(具有讽刺意味的是)。结果是,您需要同步审核这两个忽略文件,以防止发布时的敏感泄漏。
尽管如此,我认为是缺少的--把/node_modules放在你的.npmignore中。
在private: true文件中设置属性package.json,如下所示:
{
"name": "project-name",
"version": "0.0.0",
"license": "MIT",
"scripts": {
},
"private": true,
"dependencies": {
},
"devDependencies": {
}
}生成构建到/public文件夹,将其发布到NPM存储库,并将.npmignore发布到该文件夹中。
https://stackoverflow.com/questions/24084820
复制相似问题