2016-04-04 20 views
8

Khi tôi cần tạo một số mã C#, ví dụ các lớp DTO từ lược đồ xsd hoặc bảng excel, tôi đã sử dụng một số API của roslyn.Có API tạo mã cho TypeScript không?

Có điều gì đó tương tự với kiểu chữ không?

+0

Tôi thấy bạn đã gắn thẻ nó là T4 - T4 hoạt động tốt với bất kỳ loại ngôn ngữ nào vì nó về cơ bản chỉ là văn bản thuần túy. Roslyn chỉ là VB.NET và C#. –

+0

Bạn có thể kiểm tra https://www.codeproject.com/Tips/1166380/Generating-TypeScript-Code-with-CatFactory –

Trả lời

5

Hãy thử ts-simple-ast. Chỉ được làm việc với nó trong khoảng một giờ nhưng nó có vẻ thực sự có khả năng.

import Ast, {Scope,SourceFile} from "ts-simple-ast"; 

const ast = new Ast(); 
const sourceFile = ast.addSourceFileFromStructure(`./target/path`, {}); 


const classDeclaration = this.sourceFile.addClass({ 
    name: this.className 
}); 

const constr = classDeclaration.addConstructor({}); 
const param = constr.addParameter({ 
    name: 'myProp', 
    type: string 
}); 

constr.setBodyText('this.myProp = myProp'); 

classDeclaration.addProperty({ 
    name: "myProp", 
    type: "string", 
    initializer: 'hello world!', 
    scope: Scope.Public 
}); 
sourceFile.formatText(); 
console.log(sourceFile.getText()); 
+0

Sau khi làm việc lâu hơn với thư viện này, tôi có thể xác nhận giao dịch thực của nó. Vẫn còn một số lỗi, nhưng chắc chắn có rất nhiều lời hứa. Tác giả đã thực sự thực hiện một công việc tuyệt vời – NSjonas

0

Khi chúng tôi cần thêm hỗ trợ cho tiêu thụ API RESTful của chúng tôi để một chồng MEAN sử dụng góc 4 và nguyên cảo, chúng tôi sử dụng http://editor.swagger.io và thông qua trong phiên bản JSON của một định nghĩa Swagger 2.0 API, sau đó chọn máy phát điện của khách hàng đối với nguyên cảo . Tất nhiên chúng tôi đã lừa dối một chút, trong đó chúng tôi sử dụng SZ Architech (http://www.solution.zone) để tạo các API RESTful ở nơi đầu tiên, sử dụng SwaggerUi để ghi lại các API đã tạo và cho phép chúng tôi sao chép định nghĩa Swagger 2.0 sử dụng tạo mã của Swagger cho mã máy khách.

0

Có một JAVA Code Generator cho nguyên cảo: https://github.com/raynigon/TSCodeModel

Nó phải được điều chỉnh kể từ khi chỉ API thế hệ của mình. Đó là unableto xây dựng Mã từ Lược đồ XSD hoặc tương tự. Tôi sử dụng nó để tạo Mã bằng Plugin Maven của tôi.

Các vấn đề liên quan