我想忽略项目中的所有.sh文件,除了位于特定目录中的文件外,让我们调用目录foo。
所以我们有:
project/
bar.sh
baz.sh
foo/
a.sh
b.sh
我不想将bar.sh
和baz.sh
发布到NPM,但我做想要发布a.sh
和b.sh
到NPM。事实证明我在foo目录之外有很多.sh文件,一下子忽略所有这些文件会更方便。
我可以将哪些内容添加到我的.npmignore
文件中?
答案 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.sh
,b.sh
,e.sh
,f.sh
包含/发布了以下文件:c.sh
和d.sh
。
注意:使用此配置也会忽略e.sh
和f.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.sh
和b.sh
。所有其他.sh
个文件都已发布。
示例文件夹结构
project
├── a.sh
├── b.sh
└── foo
├── baz
│ ├── e.sh
│ └── f.sh
├── c.sh
└── d.sh