.npmignore – 忽略所有* .ts文件,而不是* .d.ts

我正在寻找一种很好的方式来在发布到NPM时忽略项目中的所有.ts文件,我可以通过将以下内容添加到我的.npmignore文件中来实现:

 *.ts 

但是等等..实际上我想保留所有的.d.ts文件在我的项目中,当我发布…

什么可以添加到我的.npmignore文件,将保留所有的.d.ts文件,但忽略所有.ts文件?

我假设我必须使用某种forms的正则expression式来忽略以.ts结尾的所有文件,这些文件不以.d.ts结尾

所以这个JS正则expression式可能看起来像:

 *.\.[^d]\.ts 

上述正则expression式应该是什么意思是匹配以.ts结尾的.ts结尾的任何内容

但当然,我们坚持我认为是不那么强大的正则expression式使用的操作系统等。

在.npmignore的文档中指出:

.npmignore文件遵循与 .gitignore文件相同的模式规则 :

在这种情况下,您可以通过使用!否定.d.ts中的.d.ts文件! 。 例如在你的.npmignore你只需要:

 # ignore the .ts files *.ts # include the .d.ts files !*.d.ts