提取消息时,它们在提取文件中根据其随机生成的 id 按字母顺序排序。有什么办法可以防止这种情况发生,并让它们以与它们在代码中出现的顺序完全相同的顺序排列?
例如现在:
"AYGNrK": translation2,
"BIOgfm": translation1,
"Cqv/CV": translation3,
通缉:
"BIOgfm": translation1,
"AYGNrK": translation2,
"Cqv/CV": translation3,
提取消息时,它们在提取文件中根据其随机生成的 id 按字母顺序排序。有什么办法可以防止这种情况发生,并让它们以与它们在代码中出现的顺序完全相同的顺序排列?
例如现在:
"AYGNrK": translation2,
"BIOgfm": translation1,
"Cqv/CV": translation3,
通缉:
"BIOgfm": translation1,
"AYGNrK": translation2,
"Cqv/CV": translation3,
如果您想完全控制导出的消息,可以使用自己的格式化功能。
formatjs extract "src/**/*.{ts,tsx,vue}" --format [path]
在此功能中,您可以按值对其进行排序。有关自定义格式化程序的一般结构,请参见此示例:
https://github.com/formatjs/formatjs/blob/main/packages/cli/src/formatters/default.ts
另一种方法是使用前缀设置自定义 ID,而不是生成 ID。但是您需要注意命名冲突。
<FormattedMessage
id="component.title"
value="My title"
/>