Instascan: La importación de ES6 falla

Creado en 20 jul. 2017  ·  5Comentarios  ·  Fuente: schmich/instascan

Estoy tratando de importar la biblioteca a través de una declaración de importación de ES6 import InstaScan from 'instascan' , que arroja el siguiente error:

ERROR in ./node_modules/instascan/src/zxing.js
Module not found: Error: Can't resolve 'fs' in 'C:\projects\my_project\node_modules\instascan\src'
 @ ./node_modules/instascan/src/zxing.js 4:725-738 4:313578-313591
 @ ./node_modules/instascan/src/scanner.js
 @ ./node_modules/instascan/index.js
 @ ./src/components/qrcode-scanner.component.js
 @ ./stories/qrcode-scanner.component.story.js
 @ ./stories/index.js
 @ ./.storybook/config.js

¿Es solo que mi configuración de npm está arruinada nuevamente, o esta lib no está destinada a usarse de esa manera?
Probablemente esto sea solo un paquete web arruinando las cosas ...

Para reproducir, cree una aplicación simple basada en react con uno de los scripts create-react-scripts, inicie el servidor de desarrollo e intente importarlo y / o solicitarlo desde allí.

Windows 10 1607 compilación 14393.1480
Npm 5.03
El módulo npm fs se instala global y localmente en la carpeta del proyecto.

Comentario más útil

agregue esto a la configuración de su paquete web:

module.exports = {
  node: {
    fs: "empty"
  },
  entry: {
    app: [
      './src/main.js'
    ]
  },
...

Como en https://github.com/pugjs/pug-loader/issues/8#issuecomment -55568520

Todos 5 comentarios

Encontré este problema en reaccionar también. Logré que funcionara usando buscar / reemplazar en instascan/src/zxing.js . Busque las 2 frases a continuación y reemplácelas con cadenas vacías.

var fs=require("fs");
var nodeFS=require("fs");

Honestamente, no estoy muy familiarizado con zxing.js, así que no sé por qué funciona.

No estoy seguro de por qué las bibliotecas dirigidas al navegador web deberían hacer uso de 'fs', ¡pero tienes toda la razón en que este era el problema!
¡Muchas gracias por esto!
¿Es apropiado hacer un PR para esto o @schmich lo tendrá en cuenta?

Desafortunadamente, esta biblioteca interrumpe el proceso de compilación de mi paquete web (el mismo problema que el anterior). El truco de @rshepp funciona, pero es muy poco práctico cuando se trabaja con varias personas en un proyecto.

@axed ¿Puedes hacer un PR? Eso seria genial :)

agregue esto a la configuración de su paquete web:

module.exports = {
  node: {
    fs: "empty"
  },
  entry: {
    app: [
      './src/main.js'
    ]
  },
...

Como en https://github.com/pugjs/pug-loader/issues/8#issuecomment -55568520

agregue esto a la configuración de su paquete web:

module.exports = {
  node: {
    fs: "empty"
  },
  entry: {
    app: [
      './src/main.js'
    ]
  },
...

Como en pugjs / pug-loader # 8 (comentario)

alhamdulillah bisa :)

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

Temas relacionados

deadmanwalking74 picture deadmanwalking74  ·  7Comentarios

marvinex123 picture marvinex123  ·  11Comentarios

CarlosSanMartin picture CarlosSanMartin  ·  8Comentarios

bm2112 picture bm2112  ·  6Comentarios

itdpong picture itdpong  ·  5Comentarios