OK. Я понял это как двухэтапный процесс.
Первый, я использую модуль дерева для создания JSON-представления файловой системы. Я сохраняю файл JSON во временном файле в папке .tmp.
tree: {
options: {
},
soundFileTree: {
files: [
{
src: ['<%= yeoman.client %>/assets/audio/'],
dest: '.tmp/soundTree.json',
}
],
},
},
Второй, я впрыснуть файл JSON в мой конечный пункт назначения.
Я использую модуль ворсин-инжектор. Я просто использовал require() внутри опции функции transform() для чтения JSON из папки .tmp. Если вам нужен() файл JSON, он вернет объект JSON. Так что мой файл хрюкать выглядит так ...
injector: {
// Inject JSON file into client and server files
soundFileTree: {
options: {
transform: function(filePath) {
var soundTreeJSONString = require(filePath); //you might have to adjust the files path
return JSON.stringify(soundTreeJSONString);
},
starttag: '/* injector:soundFileTree */',
endtag: '/* endinjector */',
},
files: {
'<%= yeoman.client %>/treeTarget.js': ['.tmp/soundTree.json'],
},
},
...
}
Моего файл назначение выглядит следующим образом (а не фактические папки и файлы, иные, чем в моем вопросе.
var myVar=
/* injector:soundFileTree */
{"boxing":{"bell":"boxing/bell.wav","warning":"boxing/warning.wav"}}
/* endinjector */
;