【问题标题】:.npmignore - Ignore all *.ts files but not *.d.ts.npmignore - 忽略所有 *.ts 文件,但不忽略 *.d.ts
【发布时间】:2017-03-06 08:37:17
【问题描述】:

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

*.ts

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

我可以在我的 .npmignore 文件中添加什么来保留所有 .d.ts 文件但忽略所有 .ts 文件?

我假设我必须使用某种形式的正则表达式来忽略所有以 .ts 结尾但不以 .d.ts 结尾的文件

因此 JS 正则表达式可能如下所示:

*.\.[^d]\.ts

上面的正则表达式应该意味着匹配任何以 .ts 结尾但不以 .d.ts 结尾的东西

但我们当然会坚持使用我认为操作系统等使用的功能较弱的正则表达式。

【问题讨论】:

    标签: node.js npm npm-install npmignore


    【解决方案1】:

    .npmignore 的文档中指出:

    .npmignore 文件跟在same pattern rules 后面,就像.gitignore 文件一样:

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

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

    【讨论】:

    • 所以包含会覆盖忽略?
    • 是的,.npmignore 配置只是说忽略所有.ts(即*.ts)并使用撇号! 你的说法,但要跟踪.d.ts(即!*.d.ts),即使您使用上面的前一条语句忽略了 .ts 文件。
    • 是的,注意否定使用 !据我所知,必须排在最后。
    猜你喜欢
    • 2014-07-27
    • 2018-08-31
    • 2019-01-07
    • 1970-01-01
    • 2017-01-27
    • 2021-10-12
    • 1970-01-01
    • 1970-01-01
    • 2015-12-25
    相关资源
    最近更新 更多