Je voudrais une option qui est une fonction qui prend vm2
's require
comme argument et retourne une nouvelle fonction qui devrait être utilisé au lieu de vm2
' s require
.
Assez pertinent : j'utilise un système de fichiers personnalisé pour le code soumis par l'utilisateur. Existe-t-il un moyen de gérer manuellement les exigences locales, telles que require('./otherUserSubmittedFile')
, en récupérant le fichier du système de fichiers personnalisé et en le remettant à vm2
pour ensuite le bac à sable ?
Mise à jour :
Très approximatif, mais j'ai implémenté quelque chose du genre des fichiers personnalisés/virtuels : https://github.com/bartjoyce/vm2-with-custom-fs
Utilisation, serait quelque chose comme ceci:
NodeVM.file('/customfs/main.js', {
require: {
external: true,
root: '/customfs/', // restrict local requires to within the custom fs
},
customfs: {
getFileContents: (filename) => /* handle /customfs/ file read */,
exists: (filename) => /* ... */,
isDirectory: (filename) => /* ... */
}
})
@bartjoyce j'ai besoin de la même chose ! Votre lien est rompu, l'avez-vous déplacé quelque part ?
@callumlocke Je suis depuis passé à d'autres projets et j'ai cessé de maintenir le code. Le code que j'ai écrit est ici : https://github.com/bartjoyce/vm2/
Il y a 30 commits de retard, mais au moins vous pouvez voir les modifications que j'ai apportées.
Le commit important est celui-ci : https://github.com/bartjoyce/vm2/commit/302e910610c0e1f1ef7a1d15a19a02828715f630
J'ai apporté des modifications supplémentaires à vm2 qui ne sont pas dans mon référentiel. Si vous voulez les voir aussi, faites le moi savoir.
Ce problème a été automatiquement marqué comme obsolète car il n'a pas eu d'activité récente. Il sera fermé si aucune autre activité ne se produit. Merci pour vos contributions.
Commentaire le plus utile
Assez pertinent : j'utilise un système de fichiers personnalisé pour le code soumis par l'utilisateur. Existe-t-il un moyen de gérer manuellement les exigences locales, telles que
require('./otherUserSubmittedFile')
, en récupérant le fichier du système de fichiers personnalisé et en le remettant àvm2
pour ensuite le bac à sable ?Mise à jour :
Très approximatif, mais j'ai implémenté quelque chose du genre des fichiers personnalisés/virtuels : https://github.com/bartjoyce/vm2-with-custom-fs
Utilisation, serait quelque chose comme ceci: