typescript - WebEssentials 生成 Typescript Intellisense 文件时如何配置模块名称?

标签 typescript web-essentials

我刚刚发现,通过 WebEssentials 2013,我可以右键单击 CS 文件并选择 Web Essentials->创建 Typescript Intellisense 文件。

目前,所有生成的接口(interface)都放在“server”模块中。我该如何改变这个?

最佳答案

这是一个很好的问题(我不知道答案),所以我在 Web Essentials 的代码中进行了搜索,是的,这是可能的!您需要执行以下操作:

使用以下代码创建一个新的 .cs 文件(不要在生成定义的同一文件中执行此操作,否则会引发错误)。

[System.AttributeUsage(AttributeTargets.Class)]
sealed class TypeScriptModuleAttribute : Attribute
{
    private readonly string moduleName;
    public TypeScriptModuleAttribute(string moduleName)
    {
        this.moduleName = moduleName;
    }
}

现在将其应用到一个类:

[TypeScriptModule("foo")]
public class TestClass
{
    <snip>
}

它将生成如下内容:

declare module foo {
    interface TestClass {
    }
}

如果您有兴趣,可以在此处找到 Web Essentials 执行此操作的代码:link以及此处写入文件的代码:link2

关于typescript - WebEssentials 生成 Typescript Intellisense 文件时如何配置模块名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25312981/

相关文章:

css - Web Essentials 2012 编译空行

visual-studio - 如何在 Visual Studio 2013 的 Web Essentials 中禁用 JSCS?

javascript - 具有多个条件的 if 语句不起作用

javascript - 通过检查两个元素从数组中获取重复值

typescript - 找不到模块 `libsodium-wrappers`

typescript - 基于Generic类型的条件方法参数

css - 隐式声明的 css 类的问题更少

visual-studio - Visual Studio 2015 中嵌套的 TypeScript、Html 和 JS 文件

css - Visual Studio 以我不想要的方式格式化我的 CSS/LESS,如何关闭它?

javascript - 如何忽略 typescript 中的 "Cannot find name ' M'“错误?