Vm2: Extendiendo require () más

Creado en 15 jul. 2016  ·  4Comentarios  ·  Fuente: patriksimek/vm2

Me gustaría una opción que sea una función que tome vm2 require como argumento y devuelva una nueva función que debería usarse en lugar de vm2 require .

feature request stale

Comentario más útil

Algo relevante: estoy usando un sistema de archivos personalizado para el código enviado por el usuario. ¿Hay alguna forma en que pueda lidiar manualmente con los requisitos locales, como require('./otherUserSubmittedFile') , obteniendo el archivo del sistema de archivos personalizado y entregándolo a vm2 y luego a la caja de arena?

Actualización :
Muy tosco, pero he implementado algo parecido a los archivos virtuales / personalizados: https://github.com/bartjoyce/vm2-with-custom-fs

Uso, sería algo como esto:

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

Todos 4 comentarios

Algo relevante: estoy usando un sistema de archivos personalizado para el código enviado por el usuario. ¿Hay alguna forma en que pueda lidiar manualmente con los requisitos locales, como require('./otherUserSubmittedFile') , obteniendo el archivo del sistema de archivos personalizado y entregándolo a vm2 y luego a la caja de arena?

Actualización :
Muy tosco, pero he implementado algo parecido a los archivos virtuales / personalizados: https://github.com/bartjoyce/vm2-with-custom-fs

Uso, sería algo como esto:

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 ¡Necesito lo mismo! Tu enlace está roto, ¿lo moviste a alguna parte?

@callumlocke Desde entonces pasé a otros proyectos y dejé de mantener el código. El código que escribí está aquí: https://github.com/bartjoyce/vm2/

Lleva 30 confirmaciones por detrás, pero al menos puedes ver las modificaciones que hice.

El compromiso importante es este: https://github.com/bartjoyce/vm2/commit/302e910610c0e1f1ef7a1d15a19a02828715f630

Hice cambios adicionales en vm2 que no están en mi repositorio. Si también quieres verlos, avísame.

Este problema se ha marcado automáticamente como obsoleto porque no ha tenido actividad reciente. Se cerrará si no se produce más actividad. Gracias por sus aportaciones.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

patriksimek picture patriksimek  ·  15Comentarios

XmiliaH picture XmiliaH  ·  19Comentarios

keyosk picture keyosk  ·  64Comentarios

unxcepted picture unxcepted  ·  11Comentarios

vshymanskyy picture vshymanskyy  ·  8Comentarios