Если вы используете версии Node для ES6, вы можете проверить небольшой пакет, который я написал, под названием JSOFF . Это объектно-функциональный формат JavaScript; вставная замена для JSON, который обрабатывает функции.
Это супер крошечный и простой, так что Babeljs или Browserify могут быть вашими друзьями.
Установка через: npm install jsoff
или yarn add jsoff
.
Вот пример того, как создать объект с функциями:
const JSOFF = require('jsoff');
var obj = {
abc: 123,
def: function (a,b) { return a * 2 + b * 3; },
ghi: a => { return a * 2 },
jkl: (a,b) => { return ((d,e) => { return a*d + b*e })(2,4) }
};
var str = JSOFF.stringify(obj);
// str is now:
// '{"abc":123,"def":"function (a,b) { return a * 2 + b * 3; }","ghi":"a => { return a * 2 }","jkl":"(a,b) => { return ((d,e) => { return a*d + b*e })(2,4) }"}');
});
var clone = JSOFF.parse(str);
clone.def(10,5) // 35
clone.ghi(5) // 10
clone.jkl(10,20) // 100