如何配置 tsconfig.json 以支持字符串文字或字符串模板
How to configure tsconfig.json to support string literals or string templates
我使用带有 typescript-aurelia 模板的 swagger codgen 来生成 API 代码。结果代码大量使用了字符串文字。 cmd 行 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']))
我使用带有 typescript-aurelia 模板的 swagger codgen 来生成 API 代码。结果代码大量使用了字符串文字。 cmd 行 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']))