files

中英双语

可选的 files 字段是一个文件模式数组,描述了当您的包作为依赖项安装时要包含的条目。文件模式遵循与 .gitignore 类似的语法,但相反:包含文件、目录或 glob 模式(***/* 等)将使文件在打包时包含在 tarball 中。省略该字段将使其默认为 ["*"],这意味着它将包括所有文件。

一些特殊的文件和目录也被包含或排除,无论它们是否存在于 files 数组中(见下文)。

您还可以在包的根目录或子目录中提供 .npmignore 文件,这样可以防止包含文件。在你的包的根目录它不会覆盖 "files" 字段,但在子目录中它会。.npmignore 文件就像 .gitignore 一样工作。如果有 .gitignore 文件,而 .npmignore 缺失,则使用 .gitignore 的内容。

"package.json#files" 字段包含的文件不能通过 .npmignore.gitignore 排除。

无论设置如何,始终包含某些文件:

  • package.json
  • README
  • LICENSE / LICENCE
  • "main" 字段中的文件

README & LICENSE 可以有任何大小写和扩展名。

相反,某些文件总是被忽略:

  • .git
  • CVS
  • .svn
  • .hg
  • .lock-wscript
  • .wafpickle-N
  • .*.swp
  • .DS_Store
  • ._*
  • npm-debug.log
  • .npmrc
  • node_modules
  • config.gypi
  • *.orig
  • package-lock.json(如果您希望发布,请使用 npm-shrinkwrap.json