可选的 files 字段是一个文件模式数组,描述了当您的包作为依赖项安装时要包含的条目。文件模式遵循与 .gitignore 类似的语法,但相反:包含文件、目录或 glob 模式(*、**/* 等)将使文件在打包时包含在 tarball 中。省略该字段将使其默认为 ["*"],这意味着它将包括所有文件。
一些特殊的文件和目录也被包含或排除,无论它们是否存在于 files 数组中(见下文)。
您还可以在包的根目录或子目录中提供 .npmignore 文件,这样可以防止包含文件。在你的包的根目录它不会覆盖 "files" 字段,但在子目录中它会。.npmignore 文件就像 .gitignore 一样工作。如果有 .gitignore 文件,而 .npmignore 缺失,则使用 .gitignore 的内容。
"package.json#files" 字段包含的文件不能通过 .npmignore 或 .gitignore 排除。
无论设置如何,始终包含某些文件:
package.jsonREADMELICENSE / LICENCEREADME & LICENSE 可以有任何大小写和扩展名。
相反,某些文件总是被忽略:
.gitCVS.svn.hg.lock-wscript.wafpickle-N.*.swp.DS_Store._*npm-debug.log.npmrcnode_modulesconfig.gypi*.origpackage-lock.json(如果您希望发布,请使用 npm-shrinkwrap.json)