使用 .npmignore 文件将内容保存在您的包之外。如果没有 .npmignore 文件,但存在 .gitignore 文件,那么 npm 将忽略与 .gitignore 文件匹配的内容。如果您想要包含被 .gitignore 文件排除的内容,您可以创建一个空的 .npmignore 文件来覆盖它。与 git 一样,npm 在包的所有子目录中查找 .npmignore 和 .gitignore 文件,而不仅仅是根目录。
.npmignore 文件跟随 相同的模式规则 为 .gitignore 文件:
# 开头的行将被忽略。/ 结束模式以指定目录。! 开头来否定模式。默认情况下,会忽略以下路径和文件,因此无需将它们显式添加到 .npmignore:
.*.swp._*.DS_Store.git.gitignore.hg.npmignore.npmrc.lock-wscript.svn.wafpickle-*config.gypiCVSnpm-debug.log此外,node_modules 中的所有内容都将被忽略,但捆绑的依赖项除外。npm 会自动为您处理此问题,因此不必费心将 node_modules 添加到 .npmignore。
以下路径和文件永远不会被忽略,因此将它们添加到 .npmignore 是没有意义的:
package.jsonREADME(及其变体)CHANGELOG(及其变体)LICENSE / LICENCE如果在给定项目结构的情况下,您发现 .npmignore 是一个令人头疼的维护问题,您可以尝试填充 package.json 的 files 属性,该属性是应该包含在您的包中的文件或目录名称的数组。有时手动选择允许哪些项目比构建阻止列表更容易管理。