【问题标题】:Visual Studio 2013 NodeJS Tools, TypeScript, Keep CommentsVisual Studio 2013 NodeJS 工具,TypeScript,保留评论
【发布时间】:2014-04-30 20:33:18
【问题描述】:

这是我的设置。 VS 2013,带有 Node JS 工具和 Typescript。添加 .ts 文件的处理没有问题。我在 npm 集成方面遇到了一些问题,但我已经能够解决这些问题。

我还添加了 EdgeJS。它还不支持 TypeScript,但我只是在我的 TS 文件中使用常规 JS 编写 EdgeJS 调用。问题是 EdgeJS 允许您以几种不同的方式编写 CS 函数。

一种方式如下,将整个正文包含在注释块中:

var hello = edge.func(function () {/*
    async(input) => {
      return ".NET welcomes " + input.ToString();
    }
*/});

不幸的是,默认情况下,TS 编译器会删除这些 cmets,我无法在此项目类型中找到一种方法 来更改该行为。

我只是运气不好(现在)?

【问题讨论】:

  • 我不确定是什么删除了 cmets。我正在使用您描述的确切配置编辑文件,并且当编译为 JavaScript 时 cmets 仍然存在。您是否有任何可能会剥夺 cmets 的繁重任务/后期构建步骤?
  • 我认为 tsc 默认是删除 cmets。很明显,那个或与之相关的东西是。要回答你的问题,不。您是从什么项目类型开始的?
  • 我从空的 NodeJs typescript 项目开始。
  • 我有几乎相同的设置,但对我来说,当它编译 TS 文件时,网络必需品正在吃掉 cmets。由于选项发生了变化,因此没有办法让所有 cmets 都只保留以 ! 开头的“重要”的 cmets。
  • @Rangoric 哪个版本的 VS?我没有使用 Web Essentials,但我又试了一次,它肯定会吃多行 cmets(但不是单行)。

标签: node.js visual-studio-2013 typescript edge.js


【解决方案1】:

要为 TypeScript 保留 cmets,您需要在新行上启动它们。在您提供的示例中,多行注释不会保留,因为它从代码行的末尾开始。

只需移动块注释开始:

var edge = edge.func(() => {
    /*
      async(input) => {

      }
    */
});

【讨论】:

  • 接受答案,因为它在技术上是正确的。结果并没有解决我的真正的问题,但事实证明我没有问我真正的问题......
猜你喜欢
  • 2012-08-03
  • 2018-03-15
  • 2014-07-26
  • 2014-12-19
  • 2013-11-06
  • 1970-01-01
  • 2021-09-29
  • 1970-01-01
  • 2013-08-07
相关资源
最近更新 更多