2017-12-26 108 views
6

tôi đang cố gắng tạo một lớp phân loại từ cấu hình JSON với nhiệm vụ gulp.Cấu hình JSON lớp toTypeScript với Gulp

input 

    { 
     "ApiEndpoint": "http://localhost:5000/api" 
    } 

tìm kiếm để có được một kết quả như

public static get ApiEndpoint(): string { 
    return "http://localhost:5000/api"; 
    } 

Cố gắng sử dụng ngụm-ts-config nhưng ném nó một lỗi trong template.ts. Bằng cách nào đó tôi không thể làm cho nó hoạt động trong hệ thống của tôi. Có bất kỳ plugin gulp nào khác thông qua chúng tôi có thể đạt được điều tương tự không?

+1

bạn đã thử gì với plugin 'gulp-ts-config'? Bạn nên biết rằng đây không phải là nơi để yêu cầu các khuyến nghị về công cụ. – lexith

+0

tôi có thể biết tại sao bạn muốn loại đầu ra này? –

Trả lời

2

package.json My

{ 
    "devDependencies": { 
     "gulp": "3.9.1", 
     "gulp-ts-config": "1.0.15" 
    } 
} 

gulpfile.js My

var gulp = require('gulp'); 
var gulpTsConfig = require('gulp-ts-config'); 

gulp.task('test', function() { 
    gulp.src('appsettings.json') 
     .pipe(gulpTsConfig('AppSettings')) 
     .pipe(gulp.dest('Scripts')) 
}); 

appSettings.json

{ 
    "ApiEndpoint": "http://localhost:5000/api" 
} 

Sau khi chạy nhiệm vụ tạo ra nguyên cảo

export class AppSettings { 

    public static get ApiEndpoint(): string { 
    return "http://localhost:5000/api"; 
    } 
} 

Tài liệu tham khảo: https://www.npmjs.com/package/gulp-ts-config

nếu tôi thay đổi appSettings.json tôi để bao gồm nhiều đối tượng chuyển đổi sang nguyên cảo chức năng

{ 
    "ApiEndpoint": "http://localhost:5000/api", 
    "HelloWorld": "HelloWorld" 
} 

quả ts tập tin

export class AppSettings { 

    public static get ApiEndpoint(): string { 
    return "http://localhost:5000/api"; 
    } 
    public static get HelloWorld(): string { 
    return "HelloWorld"; 
    } 
} 

lỗi cụ thể của bạn, bạn nhận được là gì từ gulp-ts-config? Tôi đang sử dụng Visual Studio 2017 với phiên bản npm 5.5.1 và phiên bản nút v8.9.3

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