如何使用 FormatJS CLI 从多个特定文件夹中提取消息?

How do I extract messages from multiple specific folders with FormatJS CLI?

我有 /components/foo.js/pages/bar.js,两者都使用 <FormattedMessage /> 和不同的 defaultMessage:

// /components/foo.js
export default function Foo() {
  return (
    <FormattedMessage defaultMessage="Foo component" />
  );
}

// /pages/bar.js
export default function Foo() {
  return (
    <FormattedMessage defaultMessage="Bar page" />
  );
}

如果我 运行 formatjs extract 'components/**/*.js' --out-file lang/en.json 我只从我的组件文件夹中获取消息。相反,如果我使用路径 pages/**/*.js,我只会从我的页面文件夹中获取消息。

尝试了几种不同的组合但没有成功:

原来需要用双管道符||.

formatjs extract '(components||pages)/**/*.js' --out-file lang/en.json

我们使用 https://www.npmjs.com/package/glob 所以 {components,pages}/**/*.js 应该可以工作

尝试了上面提到的所有解决方案,但真正对我们有用的是 formatjs extract 'components//*.js' 'pages//*.js' --out-file lang/en.json