2017-03-06 66 views
1

我正在尋找一種很好的方法來在發佈到NPM時忽略項目中的所有.ts文件,我可以通過將以下內容添加到我.npmignore文件:.npmignore - 忽略所有* .ts文件但不包含* .d.ts

*.ts 

但wait..actually我想保持所有.d.ts文件在我的項目,當我發佈...

我可以添加到我的.npmignore文件是什麼,將讓所有.d.ts文件但忽略所有.ts文件?

我認爲我必須使用某種形式的正則表達式的忽略與不.d.ts

結束.TS結尾的所有文件,因此JS正則表達式,這可能是這樣的:

*.\.[^d]\.ts 

什麼上述正則表達式應該的意思是匹配任何以不與.d.ts

,當然我們被卡住了我認爲是由OS等少用強大的正則表達式結束的.ts結束。

回答

2

在爲.npmignore它指出文檔:

.npmignore文件遵循same pattern rules.gitignore文件:

在這種情況下,您可以通過使用!否定在.npmignore.d.ts文件。例如在您的.npmignore中您只需:

# ignore the .ts files 
*.ts 

# include the .d.ts files 
!*.d.ts 
+0

那麼include會覆蓋ignore? –

+1

是的'.npmignore'配置簡單地說忽略所有的'.ts'(即'* .ts'),並使用撇號'!'你的話,但是跟蹤'.d.ts'(即'!* .d .ts'),即使你忽略了上面前面陳述的'.ts'文件。 – RobC

+0

是的,請注意否定使用!據我所知,我必須走到最後。 –

相關問題