J'essaie d'écrire un chargeur JavaScript pour un projet à moi pour NW.js (node-webkit). Je connais déjà un peu peg.js et estools (esprima/escodegen), donc l'analyse des modules JavaScript dans les différentes déclarations de fonctions et de variables n'est vraiment pas un problème, le problème que j'ai est d'instancier les différentes expressions et déclarations textuelles dans un contexte/objet séparé.Créer des classes à partir de texte en JavaScript
eval()
ne semble pas fonctionner pour transformer une chaîne de déclaration en une variable de mon choix.
$.context.fn = eval("function anonymous(a,b,c){ return a+b+c; }");
//$.context.fn = undefined..
La seule chose que je peux convertir avec succès à partir du texte à la variable est fonction:
$.context.fn = new Function('a','b','c','return a+b+c;');
//$.context.fn = function(a,b,c){ ... }
Mais il ne semble pas être une façon analogue d'aller à transformer une chaîne en une classe par exemple :
$.context.cl = new Class(params,body) ???
//error
question:
Y at-il peut-être une sorte de bibliothèque de chargeur que je pourrais utiliser pour cela ou y a-t-il peut-être quelques conseils pour que tout fonctionne avec eval()
après tout?