node.js - 当设置为生产模式 : No formatters or parsers provided 时,Webpack Globalize 构建失败

标签 node.js npm webpack javascript-globalize jquery-globalize

我正在开发 React/Webpack/Globalize 应用程序。 在开发模式下一切正常(尽管 Globalize 坚持编译所有语言环境而不是我选择的语言环境,但这是另一天的另一个问题)。
但是,当我在我的 webpack 配置中设置 production: true 时,运行 npm run build

时出现以下错误
> webpack --config webpack.prod.config.js

/opt/app/ui/node_modules/globalize-webpack-plugin/GlobalizeCompilerHelper.js:72
      throw e;
            ^
Error: No formatters or parsers has been provided

我的印象是 globalize webpack 插件是用来处理预编译的。知道为什么我会看到这个错误吗?当我设置 production: false 时编译正常。

我的插件设置是:

new GlobalizePlugin({
            production: true,
            developmentLocale: "en",
            supportedLocales: [ "en"],
            output: "i18n/[locale].[hash].js" 
        }),

当文件更改和 webpack 开发服务器重建时,我收到很多这样的消息,表明我没有使用的语言环境重新复杂化:

[461] ./~/cldr-data/main/es-PY/dateFields.json 15 kB {0} [optional]
[462] ./~/cldr-data/main/es-SV/dateFields.json 15 kB {0} [optional]
[463] ./~/cldr-data/main/es-US/dateFields.json 15 kB {0} [optional]
[464] ./~/cldr-data/main/es-UY/dateFields.json 15 kB {0} [optional]
[465] ./~/cldr-data/main/es-VE/dateFields.json 15 kB {0} [optional]
[466] ./~/cldr-data/main/es/dateFields.json 15 kB {0} [optional]

我尝试的任何事情似乎都解决了这个问题。
谢谢

最佳答案

就目前而言,messages 键不是“可选的”,但实际上是必需的。更重要的是,在某个地方您需要通过调用 Globalize.formatMessage("somekey")(其中 somekey 存在于您的 lang 文件中)来“启动”(缺少更好的词)消息格式化程序。当 production 设置为 true 时,所有这些都是必需的。

此外,如果您确实将 production 设置为 true,则 output 路径必须与源代码树中的现有路径相匹配。例如,如果您的代码构建到 /assets 中,则输出路径应为 assets/i18n/[locale].[hash].js。否则 i18n 目录将不会在构建时创建。

所有这些都来自github repo中的讨论:

https://github.com/rxaviers/globalize-webpack-plugin/issues/10

关于node.js - 当设置为生产模式 : No formatters or parsers provided 时,Webpack Globalize 构建失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34360579/

相关文章:

npm - 如何解决 Azure Pipeline 错误 : Npm failed with return code: 1, npm install task。语法错误:解析附近时 JSON 输入意外结束

javascript - 为什么前端框架在 NPM 中?

javascript - 如何使用 $transitions?

javascript - 如何在 fs.existsSync 或 statSync 或 readFileSync 内部使用通配符

node.js - 如何将类型与模块一起导出?

node.js - 使用流时 knex.js 上的内存问题

javascript - 使用 html-pdf 包动态生成 pdf

ruby-on-rails - 如何使用 webpack 在 Rails 6 项目中完全卸载/删除 sprockets/ Assets 管道?

javascript - 安装 babel 后我得到一个未声明变量的异常

javascript - 为什么 let 在 for 循环之后比在 for 循环之前慢得多?