我正在寻找使用 Grunt 组合保持特定结构的 json 文件的最佳方法。
这些文件以如下结构放置在文件夹中:
应用程序 ├── 语言环境 │ ├── zh │ │ └── translation.json │ ├── es │ │ └── translation.json │ └── fr │ └── translation.json └── 小部件 ├── 帖子 │ └── 语言环境 │ ├── zh │ │ └── translation.json │ ├── es │ │ └── translation.json │ └── fr │ └── translation.json ├── 评论 │ └── 语言环境 │ ├── zh │ │ └── translation.json │ ├── es │ │ └── translation.json │ └── fr │ └── translation.json └── 友情链接 ├── 语言环境 │ ├── zh │ │ └── translation.json │ ├── es │ │ └── translation.json │ └── fr │ └── translation.json
合并文件的所需输出将是:
应用程序 │ ├── 郎 │ ├── zh │ │ └── translation.json │ ├── es │ │ └── translation.json │ └── fr │ └── translation.json ├── 语言环境 └── 小部件
到目前为止,我想出了一个使用 grunt-contrib-concat 的解决方案,但我认为应该有更好的方法来做到这一点。
concat: {
translateEN: {
src: [
'www/js/app/locales/en/*.json',
'www/js/app/widgets/posts/locales/en/*.json',
'www/js/app/widgets/comments/locales/en/*.json',
'www/js/app/widgets/links/locales/en/*.json'
],
dest: 'www/js/app/lang/en/translation.json',
options: {
banner: '{',
footer: "}",
separator: ','
}
},
translateES: {
src: [
'www/js/app/locales/es/*.json',
'www/js/app/widgets/posts/locales/es/*.json',
'www/js/app/widgets/comments/locales/es/*.json',
'www/js/app/widgets/links/locales/es/*.json'
],
dest: 'www/js/app/lang/es/translation.json',
options: {
banner: '{',
footer: "}",
separator: ','
}
},
translateFR: {
src: [
'www/js/app/locales/fr/*.json',
'www/js/app/widgets/posts/locales/fr/*.json',
'www/js/app/widgets/comments/locales/fr/*.json',
'www/js/app/widgets/links/locales/fr/*.json'
],
dest: 'www/js/app/lang/fr/translation.json',
options: {
banner: '{',
footer: "}",
separator: ','
}
}
}