Oui c'est possible, l'utilisation de cette branche(basé sur 0.8.18) et tout code js que vous mettez dans 'deps/v8/src/extra-snapshot.js" seront en avance sur le temps compilé en code machine et intégrées dans des v8 dans le cadre de la normale builtin l'initialisation de l'objet. Vous aurez besoin de construire nodejs pour chaque plate-forme que vous souhaitez déployer votre produit.
Le snapshotted code s'exécute très tôt dans le v8 de l'initialisation et vous ne pouvez pas accéder builtin objets dans le module 'corps'. Ce que vous pouvez faire est de mettre tout votre code à l'intérieur d'un mondial de l'initialisation de la fonction qui doit être appelée plus tard. Ex:
// 'this' points to the same as the object referenced by
// 'global' in normal nodejs code.
// at this point it has nothing defined in it, so in order to use
// global objects a reference to it is needed.
var global = this;
global.initialize = function() {
// You have to define all global objects you use in your code here;
var Array = global.Array;
var RegExp = global.RegExp;
var Date = global.Date;
// See ECMAScript v5 standard global objects for more
// Also define nodejs global objects:
var console = global.console;
var process = global.process;
// Your code goes embedded here
};
Aussi, cela suppose que votre code est défini dans un fichier unique, donc si votre projet utilise des nodejs système de module(exiger), vous devez écrire un script qui va regrouper tous vos fichiers dans un seul et envelopper chaque fichier dans une fermeture qui va tromper votre code en pensant que c'est normal d'un module nodejs. Probablement chaque module de fermeture d'exposer un besoin de la fonction, et cette fonction aurait pour décider quand délégué à la norme mondiale.besoin d'un ou de retourner les exportations à partir de vos autres modules intégrés. Voir comment javascript module de mise en œuvre des systèmes pour des idées(requirejs est un bon exemple).
Cela permettra de rendre votre code plus difficile à déboguer depuis que vous avez l'habitude de voir des traces de pile pour le code natif.
Mise à JOUR:
Même en utilisant v8 instantanés le code est intégré dans le node.js binaire car v8 préfère paresseux compilation. Voir ce pour plus d'informations.