如何使用 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
,我只会从我的页面文件夹中获取消息。
尝试了几种不同的组合但没有成功:
(components,pages)/**/*.js
(components&pages)/**/*.js
(components|pages)/**/*.js
!(node_modules)/**/*.js
编译除 node_modules
文件夹之外的所有内容。
原来需要用双管道符||
.
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
我有 /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
,我只会从我的页面文件夹中获取消息。
尝试了几种不同的组合但没有成功:
(components,pages)/**/*.js
(components&pages)/**/*.js
(components|pages)/**/*.js
!(node_modules)/**/*.js
编译除node_modules
文件夹之外的所有内容。
原来需要用双管道符||
.
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