将字符串外部化到单独文件时的字符串替换

String substitution when strings are externalized to a separate file

我已经从我的代码中提取了所有字符串并将它们放入一个名为 constants.ts ..

的文件中
export class Constants {
  public static API_URL = '/api/';
  public static CREATE_CHILD_API_URL = Constants.API_URL + '%s' + '/create-child';
}

我可以使用 console.log:

将值替换到字符串中
import { Constants } from '../common/constants';
console.log(Constants.CREATE_CHILD_API_URL, 'dummyId');

在控制台中生成:/api/dummyId/create-child 这是目标。

除了将结果存储在变量中供以后使用外,我如何做同样的事情?

有没有我可以使用的东西,它是本机的并且可以在现代浏览器上运行而无需引入库?

Template literals 似乎不适合用例,因为变量不会在我的常量文件中定义。

你最终会用这种方法犯错误。我宁愿推荐使用具有某些参数的函数,这些函数将通过在内部执行字符串插值来生成您需要的字符串:

export class Urls {
  public static API_URL = '/api/';
  public static CREATE_CHILD_API_URL =
      (id: string) => `${Urls.API_URL}${id}/create-child`;
}

以后你就可以这样使用了:

import { Urls } from '../common/urls';
const forLaterUse = Urls.CREATE_CHILD_API_URL('dummyId');
console.log(forLaterUse);