.npmignore不会忽略文件

我有一个私人模块存储在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是否适用于私人托pipe模块? 提前致谢。

由于您将依赖项myModule指定为Git存储库,因此npm可能只是回购了回购。 因此你的.npmignore文件没有被使用。

.npmignore似乎在“制作模块”时使用,例如: packpublish不消耗模块(如你的例子)。

使用.npmignore时要小心

如果您没有使用.npmignore ,则默认使用.gitignore以及一些额外的理智默认值。

许多人没有意识到,一旦你添加一个.npmignore文件到你的项目中, .gitignore规则(讽刺)被忽略。 结果是您将需要同步审计两个忽略文件,以防止发布时出现敏感泄漏。

不过,我认为丢失/node_modules在您的.npmignore

package.json文件中设置private: true属性如下:

 { "name": "project-name", "version": "0.0.0", "license": "MIT", "scripts": { }, "private": true, "dependencies": { }, "devDependencies": { } } 

生成到/public文件夹发布到NPM存储库与.npmignore到该文件夹​​。