我希望在构建过程中对JSON文件进行排序。基本上,我有定义本地化消息的react-intl,然后babel-plugin-react-intl将这些消息提取到文件中-问题是问题文件没有排序(这会产生各种恼人的版本控制问题)。
我可以简单地破解插件的实际dist (可以工作),但这并不是很容易扩展。我看过babel-plugin-macros,但其中大部分似乎都是遍历应用程序的实际应用程序。基本上,我想说的是:“在每次构建结束时,运行这个函数”,它将包含:
//Open the file en.json
Object.keys(messages).reduce((accumulator, currentValue) => {
accumulator[currentValue] = testObj[currentValue];
return accumulator;
}, {})
// save it again难道没有什么简单的方法可以调用额外的函数作为流水线的一部分-而不需要太多地挂接到babel的整个访问者/最后遍历API中吗?
发布于 2019-10-14 21:15:43
假设您正在调用webpack build,例如在package.json脚本中使用webpack,如下所示,使用npm run build或yarn build
"scripts": {
"build": "webpack"
}然后,您可以很容易地创建一个带有排序任务的javascript文件(sortFile.js),然后在相同的构建脚本命令中调用它。
"scripts": {
"build": "webpack && node ./sortFile.js"
}&&外壳命令仅在第一步成功后才会运行第二步。
https://stackoverflow.com/questions/58377321
复制相似问题