2017-03-06 51 views
0

我想忽略項目中的所有.sh文件,除了位於特定目錄中的.sh文件,我們調用目錄foo。npmignore .sh文件只在一個目錄中

所以我們有:

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

我不想公佈bar.shbaz.sh到故宮,但我要發佈a.shb.sh到NPM。事實證明,我在foo目錄之外有許多.sh文件,並且一舉忽略它們會更方便。

我可以在我的.npmignore文件中添加什麼來完成此操作?

回答

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 
相關問題