提取消息时,它们在提取文件中根据随机生成的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"
/>