我在项目中使用TypeScript和RequireJS。 RequireJS要求Typescript以特殊方式(export = )导出模块以对传统的AMD工作流程进行建模:
class Foo {
...
}
export = Foo
增强型项目帮助我将C#类转换为TypeScript模块,并得到类似的输出
module Module1 {
export class Foo {
...
}
}
我在强化键入文档中找不到如何在生成的文件末尾获得export = Module1
指令。
可能我应该选择自定义ClassCodeGenerator
,但是我找不到如何指示它追加的结果模块,例如RtRaw
代码。
答案 0 :(得分:0)
在1.5.2版中,您可以为此使用访问者覆盖:
using Reinforced.Typings.Visitors.TypeScript;
class AmdExportVisitor : TypeScriptExportVisitor
{
public AmdExportVisitor(TextWriter writer, ExportContext exportContext) : base(writer, exportContext)
{
}
public override void VisitFile(ExportedFile file)
{
base.VisitFile(file);
var ns = file.Namespaces.FirstOrDefault();
if (ns != null)
{
WriteLines($@"
export = {ns.Name};
");
}
}
}
然后
confBuilder.Global(a => a.UseVisitor<AmdExportVisitor>());
您将获得理想的结果。