我使用了swagger codgen和typescript-aurelia模板来生成API代码。结果代码大量使用字符串文字。 cmd-line transpolar,tsc,将抛出有关此代码的错误,但它将输出javascript,运行时没有错误。
但是,我在较大的构建任务中使用gulp-typescript,并且在遇到代码const url = `${this.basePath}/api/v2/courses/{courseId}`
.replace(`{${'courseId'}}`, encodeURIComponent(String(${params['courseId']})));
时它不会输出javascript文件:
public class MeasurementPoint : ModelBase
{
//...
public void RefreshAllProperties()
{
foreach(var prop in this.GetType().GetProperties())
this.OnPropertyChanged(prop.Name);
}
}
我相信它是完全有效的TypeScript;但是,可能有一个编译器选项来支持字符串文字/模板。我还没有找到它。
有谁知道如何抑制或消除这些错误?
答案 0 :(得分:0)
我认为问题不在于TypeScript不支持字符串文字/模板。
相反,看起来你错过了最终模板的反引号。
你在写:
encodeURIComponent(String(${params['courseId']}))
应该是:
encodeURIComponent(String(`${params['courseId']}`))
或只是
encodeURIComponent(String(params['courseId']))