Vm2: Erweitern von require() weiter

Erstellt am 15. Juli 2016  ·  4Kommentare  ·  Quelle: patriksimek/vm2

Ich hätte gerne eine Option, die eine Funktion ist, die vm2 require als Argument verwendet und eine neue Funktion zurückgibt, die anstelle von vm2 s require .

feature request stale

Hilfreichster Kommentar

Etwas relevant: Ich verwende ein benutzerdefiniertes Dateisystem für vom Benutzer eingereichten Code. Gibt es eine Möglichkeit, lokale Anforderungen wie require('./otherUserSubmittedFile') manuell zu bearbeiten, die Datei aus dem benutzerdefinierten Dateisystem abzurufen und an vm2 an die Sandbox weiterzugeben?

Aktualisieren :
Sehr grob, aber etwas in der Art von benutzerdefinierten/virtuellen Dateien implementiert: https://github.com/bartjoyce/vm2-with-custom-fs

Verwendung, wäre ungefähr so:

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) => /* ... */
  }
})

Alle 4 Kommentare

Etwas relevant: Ich verwende ein benutzerdefiniertes Dateisystem für vom Benutzer eingereichten Code. Gibt es eine Möglichkeit, lokale Anforderungen wie require('./otherUserSubmittedFile') manuell zu bearbeiten, die Datei aus dem benutzerdefinierten Dateisystem abzurufen und an vm2 an die Sandbox weiterzugeben?

Aktualisieren :
Sehr grob, aber etwas in der Art von benutzerdefinierten/virtuellen Dateien implementiert: https://github.com/bartjoyce/vm2-with-custom-fs

Verwendung, wäre ungefähr so:

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 Ich brauche das gleiche! Dein Link ist kaputt, hast du ihn irgendwo verschoben?

@callumlocke Ich bin seitdem zu anderen Projekten https://github.com/bartjoyce/vm2/

Es liegt 30 Commits zurück, aber zumindest können Sie die Änderungen sehen, die ich vorgenommen habe.

Wichtiger Commit ist dieser: https://github.com/bartjoyce/vm2/commit/302e910610c0e1f1ef7a1d15a19a02828715f630

Ich habe zusätzliche Änderungen an vm2 vorgenommen, die nicht in meinem Repository enthalten sind. Wenn Sie die auch sehen möchten, lassen Sie es mich wissen.

Dieses Problem wurde automatisch als veraltet markiert, da es in letzter Zeit keine Aktivität hatte. Es wird geschlossen, wenn keine weitere Aktivität stattfindet. Vielen Dank für Ihre Beiträge.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

patriksimek picture patriksimek  ·  5Kommentare

keyosk picture keyosk  ·  64Kommentare

KonradLinkowski picture KonradLinkowski  ·  10Kommentare

CapacitorSet picture CapacitorSet  ·  13Kommentare

vshymanskyy picture vshymanskyy  ·  8Kommentare