Вы также можете использовать Grunt (JavaScript Task Runner).Может быть легко интегрирован с оболочкой.Он поддерживает чтение файлов YAML (grunt.file.readYAML
) и JSON (grunt.file.readJSON
).
Этого можно достичь, создав задачу в Gruntfile.js
(или Gruntfile.coffee
), например:
module.exports = function (grunt) {
grunt.registerTask('foo', ['load_yml']);
grunt.registerTask('load_yml', function () {
var data = grunt.file.readYAML('foo.yml');
Object.keys(data).forEach(function (g) {
// ... switch (g) { case 'my_key':
});
});
};
затем из оболочки просто запустите grunt foo
(проверьте grunt --help
для доступных задач).
Более того, вы можете реализовать exec:foo
задач (grunt-exec
) с входными переменными, переданными из вашей задачи(foo: { cmd: 'echo bar <%= foo %>' }
), чтобы напечатать вывод в любом формате, который вы хотите, а затем передать его в другую команду.
Существует также инструмент, похожий на Grunt, он называется gulp с дополнительным плагином gulp-yaml .
Установка через: npm install --save-dev gulp-yaml
Пример использования:
var yaml = require('gulp-yaml');
gulp.src('./src/*.yml')
.pipe(yaml())
.pipe(gulp.dest('./dist/'))
gulp.src('./src/*.yml')
.pipe(yaml({ space: 2 }))
.pipe(gulp.dest('./dist/'))
gulp.src('./src/*.yml')
.pipe(yaml({ safe: true }))
.pipe(gulp.dest('./dist/'))
Для дополнительных опцийразобраться с форматом YAML , проверьте сайт YAML на наличие доступных проектов, библиотек и других ресурсов, которые могут помочь вам разобрать этот формат.
Другие инструменты:
Jshon
анализирует, считывает и создает JSON