如何配置tsconfig.json以支持字符串文字或字符串模板

时间:2018-01-29 19:38:03

标签: typescript string-literals tsconfig

我使用了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;但是,可能有一个编译器选项来支持字符串文字/模板。我还没有找到它。

有谁知道如何抑制或消除这些错误?

1 个答案:

答案 0 :(得分:0)

我认为问题不在于TypeScript不支持字符串文字/模板。

相反,看起来你错过了最终模板的反引号。

你在写:

encodeURIComponent(String(${params['courseId']}))

应该是:

encodeURIComponent(String(`${params['courseId']}`))

或只是

encodeURIComponent(String(params['courseId']))