我想使用 Babel v6、react-intl v2 和 webpack 将源代码中的消息提取到 JSON 文件中。这一切都编译得很好,但没有提取任何东西。如何使 v2 的 react-intl 正确提取消息?
有一个选项messagesDir
:
我试过了:
.babel.rc
来自这里的新文件: https ://github.com/yahoo/babel-plugin-react-intl/issues/23 - 名称可能拼写错误,应该是.babelrc
.- 新文件
.babelrc
:
{
"extra": {
"react-intl": {
"messagesDir": "./i18n",
"enforceDescriptions": true
}
}
}
使用 webpack 配置
{ test: /\.js$/,
loader: 'babel-loader',
query: {
// react needed for JSX syntax
// es2015 needed for modules
// stage0 needed to do splats (...variable)
presets: ['react', 'es2015', 'stage-0'],
// react-intl extracts i18n messages to a shared file
// add-module-exports removes the need to do `require('a').default`
plugins: ['react-intl', 'add-module-exports'],
cacheDirectory: true
},
exclude: /node_modules|bower_components/
},
给出:“index.js:未知选项:/.babelrc.extra”作为错误消息。
我也尝试将上述extra
属性添加到上面的 webpack 配置中。它给出了一个非常相似的错误信息。
版本:
✗ npm ls | grep "intl"
├─┬ babel-plugin-react-intl@2.0.0
│ └── intl-messageformat-parser@1.2.0
├── intl@1.0.1
├── intl-locales-supported@1.0.0
├── intl-messageformat@1.2.0
├─┬ react-intl@2.0.0-pr-3
│ ├── intl-format-cache@2.0.4