将文件*保存在您的包中*

中英双语

使用 .npmignore 文件将内容保存在您的包之外。如果没有 .npmignore 文件,但存在 .gitignore 文件,那么 npm 将忽略与 .gitignore 文件匹配的内容。如果您想要包含被 .gitignore 文件排除的内容,您可以创建一个空的 .npmignore 文件来覆盖它。与 git 一样,npm 在包的所有子目录中查找 .npmignore.gitignore 文件,而不仅仅是根目录。

.npmignore 文件跟随 相同的模式规则.gitignore 文件:

  • 空白行或以 # 开头的行将被忽略。
  • 标准 glob 模式有效。
  • 您可以使用正斜杠 / 结束模式以指定目录。
  • 您可以通过以感叹号 ! 开头来否定模式。

默认情况下,会忽略以下路径和文件,因此无需将它们显式添加到 .npmignore

  • .*.swp
  • ._*
  • .DS_Store
  • .git
  • .gitignore
  • .hg
  • .npmignore
  • .npmrc
  • .lock-wscript
  • .svn
  • .wafpickle-*
  • config.gypi
  • CVS
  • npm-debug.log

此外,node_modules 中的所有内容都将被忽略,但捆绑的依赖项除外。npm 会自动为您处理此问题,因此不必费心将 node_modules 添加到 .npmignore

以下路径和文件永远不会被忽略,因此将它们添加到 .npmignore 是没有意义的:

  • package.json
  • README(及其变体)
  • CHANGELOG(及其变体)
  • LICENSE / LICENCE

如果在给定项目结构的情况下,您发现 .npmignore 是一个令人头疼的维护问题,您可以尝试填充 package.jsonfiles 属性,该属性是应该包含在您的包中的文件或目录名称的数组。有时手动选择允许哪些项目比构建阻止列表更容易管理。