我做了一些i / o函数,比如加载yaml配置文件,回调函数将返回yaml的JSON格式。可能返回值没有回调,如下所示?
var u=require('./my_util');
var oData=u.yaml2json('path/to/yaml');
module.exports={
yaml2json : function(path, callback){
env = process.env.NODE_ENV || 'development';
var fs = require('fs'),
yaml = require('js-yaml');
data=fs.readFileSync(path);
try {
yaml.loadAll(data, function (doc) {
callback(null, doc[env]);
});
} catch(e) {
console.log(e);
}
}
};
var u=require('./my_util');
u.yaml2json('path/to/yaml', function(err, oData){
// do something
});
答案 0 :(得分:2)
请尝试js-yaml github page ...
中的以下示例var yaml = require('js-yaml');
// pass the string
fs.readFile('/home/ixti/example.yml', 'utf8', function (err, data) {
if (err) {
// handle error
return;
}
try {
console.log( yaml.load(data) );
} catch(e) {
console.log(e);
}
});
您可以将其更改为...
var yaml = require('js-yaml');
// pass the string
var data = fs.readFileSync('/home/ixti/example.yml');
try {
console.log( yaml.load(data) );
} catch(e) {
console.log(e);
}
PS。没有自己测试过。