除了一个目录之外的所有文件中的npmignore .sh文件

时间:2017-03-06 09:24:30

标签: node.js npm gitignore npmignore

我想忽略项目中的所有.sh文件,除了位于特定目录中的文件外,让我们调用目录foo。

所以我们有:

project/
   bar.sh
   baz.sh
   foo/
     a.sh
     b.sh

我不想将bar.shbaz.sh发布到NPM,但我想要发布a.shb.sh到NPM。事实证明我在foo目录之外有很多.sh文件,一下子忽略所有这些文件会更方便。

我可以将哪些内容添加到我的.npmignore文件中?

1 个答案:

答案 0 :(得分:2)

.npmignore的文档中,它指出:

  

.npmignore个文件跟same pattern rules.gitignore个文件:

在这种情况下,您忽略所有.sh个文件(即*.sh),然后使用撇号!取消该模式,并指定要包含的文件夹名称。例如:

示例1

# ignore all .sh files
*.sh

# include .sh files in the folder foo
!foo/*.sh

使用此配置(在下面显示的示例文件夹结构的上下文中),将忽略所有这些文件:a.shb.she.shf.sh

包含/发布了以下文件:c.shd.sh

注意:使用此配置也会忽略e.shf.sh,因为它们位于子文件夹中。

示例2

要在文件夹.sh的任何子文件夹中包含/发布foo个文件,请按以下方式配置.npmignore

# ignore all .sh files
*.sh

# include .sh files in the folder foo and any inside its sub folders
!foo/**/*.sh

使用此配置(在下面显示的示例文件夹结构的上下文中),仅忽略文件:a.shb.sh。所有其他.sh个文件都已发布。

示例文件夹结构

project
├── a.sh
├── b.sh
└── foo
    ├── baz
    │   ├── e.sh
    │   └── f.sh
    ├── c.sh
    └── d.sh