首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Fluent模块名称更改

Fluent模块名称更改
EN

Stack Overflow用户
提问于 2014-03-06 17:13:37
回答 3查看 1.2K关注 0票数 4

名称可以更改,如本教程所示:

代码语言:javascript
运行
复制
TypeScript.Definitions()
    .ForLoadedAssemblies()
    .WithFormatter((type, f) => "I" + ((TypeLite.TsModels.TsClass)type).Name)

如何使用fluent格式化程序更改模块名称?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-03-07 09:40:06

现在,不可能使用fluent配置全局更改模块名称。

但是,您可以在每个类的基础上更改模块名称:

代码语言:javascript
运行
复制
TypeScript.Definitions().For<MyClass>().ToModule("ModuleName")
票数 1
EN

Stack Overflow用户

发布于 2015-09-16 02:32:50

在TypeLite版本1.4.0中,以下内容可以很好地更改模块名称:

代码语言:javascript
运行
复制
<# var ts = TypeScript.Definitions()
    .WithModuleNameFormatter((module) => "my.module.name");#>

或者,您也可以使用已经设置为模块名的内容来进行更多的控制,例如:

代码语言:javascript
运行
复制
<# var ts = TypeScript.Definitions()
    .WithModuleNameFormatter((module) => "I" + ((TypeLite.TsModels.TsModule)module).Name);#>
票数 6
EN

Stack Overflow用户

发布于 2015-01-15 13:07:29

现在有一个TypeScriptFluent.WithFormatter的There,它接受TsModuleNameFormatter委托,这样您就可以转换模块名称了。例如,此代码将模块名称转换为命名空间的最后一部分(MyCompany.Business.Module1 -> Module1):

代码语言:javascript
运行
复制
<#
var ts = TypeScript.Definitions()
          .WithFormatter((TsModuleNameFormatter)FormatModuleName)
#>
<#+
string FormatModuleName(string module) {
    var parts = module.Split(new []{'.'});
    var newModule = parts[parts.Length - 1];
    return newModule;
}
#>

更新:

在TypeLite 1.1.2.0的最新版本中,API略有变化,因此前面的示例如下所示:

代码语言:javascript
运行
复制
<#
var ts = TypeScript.Definitions().WithModuleNameFormatter((TsModuleNameFormatter)FormatModuleName)
#>
<#+
string FormatModuleName(TsModel module) {
    var parts = module.Name.Split(new []{'.'});
    var newName = parts[parts.Length - 1];
    return newName;
}
#>
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22231362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档