我正在尝试使用gulp任务从JSON配置创建一个typescript类。
input
{
"ApiEndpoint": "http://localhost:5000/api"
}
希望获得类似
的输出 public static get ApiEndpoint(): string {
return "http://localhost:5000/api";
}
尝试使用 gulp-ts-config ,但它在template.ts中抛出错误。不知何故,我无法使它在我的系统中工作。通过我们可以实现相同的其他gulp插件吗?
答案 0 :(得分:2)
我的package.json
{
"devDependencies": {
"gulp": "3.9.1",
"gulp-ts-config": "1.0.15"
}
}
我的gulpfile.js
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"
}
在运行任务后创建的打字稿
export class AppSettings {
public static get ApiEndpoint(): string {
return "http://localhost:5000/api";
}
}
参考文献:https://www.npmjs.com/package/gulp-ts-config
如果我将appSettings.json更改为包含多个对象以转换为typescript函数
{
"ApiEndpoint": "http://localhost:5000/api",
"HelloWorld": "HelloWorld"
}
结果ts文件
export class AppSettings {
public static get ApiEndpoint(): string {
return "http://localhost:5000/api";
}
public static get HelloWorld(): string {
return "HelloWorld";
}
}
您从gulp-ts-config收到的具体错误是什么?我正在使用带有npm版本5.5.1的Visual Studio 2017和节点版本v8.9.3