【发布时间】:2013-04-25 18:21:04
【问题描述】:
我正在寻找使用 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: ','
}
}
}
【问题讨论】:
-
究竟什么应该更好?
-
您可以使用
www/js/app/**locales/en/*.json之类的东西来保持您的代码更小,但我什至不确定这是否是问题所在。
标签: javascript json gruntjs