我使用swagger codgen和typescript-aurelia模板来生成API代码。 结果代码大量使用字符串文字。 cmd-line transpolar tsc将抛出有关此代码的错误,但它将输出javascript,该脚本运行没有错误。
但是,我在较大的构建任务中使用 gulp-typescript,当它在这样的代码上遇到error TS2304: Cannot find name '$'.
时,它不会输出 javascript 文件:
const url = `${this.basePath}/api/v2/courses/{courseId}`
.replace(`{${'courseId'}}`, encodeURIComponent(String(${params['courseId']})));
我相信它是完全有效的TypeScript;但是,可能有一个编译器选项来支持字符串文字/模板。 我只是还没有找到它。
有谁知道如何抑制或消除这些错误?
我不认为问题在于TypeScript不支持字符串文字/模板。
相反,看起来您的最终模板周围缺少反引号。
您正在写:
encodeURIComponent(String(${params['courseId']}))
当它应该是:
encodeURIComponent(String(`${params['courseId']}`))
或者干脆
encodeURIComponent(String(params['courseId']))