代码之家  ›  专栏  ›  技术社区  ›  Michael Stum

是否只有typescript注释没有写入.js?

  •  5
  • Michael Stum  · 技术社区  · 7 年前

    如果我添加常规评论(或者 /* */ // )除非我指定,否则它将被写入输出JS文件。 removeComments 在编译期间。

    但是,我想知道是否可以反过来做,保留注释,只保留“typescript”注释除外。这类似于Razor View Engine for ASP.NET如何允许使用 @* Comment *@ 表示意见。

    我知道我可以使用版权评论( /*! )像普通注释和javascript注释一样,只有typescript注释(这会用remove comments删除它们),但这看起来很尴尬,很难记住。

    如果不使用额外的构建工具/处理,typescript编译器是否具有我忽略的方式,或者 拆卸设备 这里唯一适用的选择是什么?

    1 回复  |  直到 7 年前
        1
  •  1
  •   jcalz    7 年前

    如果没有人找到一种“官方”的方式来做这件事,你可以把评论放在你知道的代码中 erased 来自发出的javascript。这绝对是一个黑客,但根据您的用例,它可以为您工作:

    interface TSOnlyComment {
      // this comment will definitely not appear in the JS
    }
    

    所以这是一个名为 TSOnlyComment . 您可以重用该接口进行多个注释,因为typescript将其解释为 interface merging 以下内容:

    interface TSOnlyComment {
      // This only appears in TS, not JS
    }
    
    const javaScriptAwesomenessFactor = 1e9; // JS rules!
    
    interface TSOnlyComment {
      // Just kidding, TS is better than JS.
    }
    
    // let's print out how awesome JS is
    console.log(javaScriptAwesomenessFactor);
    
    interface TSOnlyComment {
      // Ha ha, we are laughing at JS behind its back.
    }
    

    它应该发出JS之类的东西(取决于 --target ):

    var javaScriptAwesomenessFactor = 1e9; // JS rules!
    // let's print out how awesome JS is
    console.log(javaScriptAwesomenessFactor);
    

    所以,也许这对你有用?祝你好运!

    推荐文章