Ich versuche, die Bibliothek über eine ES6-Importanweisung import InstaScan from 'instascan'
zu importieren, die den folgenden Fehler auslöst:
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
Ist es nur mein npm-Setup, das wieder durcheinander gebracht wird, oder ist diese Bibliothek nicht dafür gedacht, auf diese Weise verwendet zu werden?
Wahrscheinlich ist dies nur ein Webpack, der die Dinge durcheinander bringt ...
Um eine einfache reaktionsbasierte App mit einem der Create-React-Skripte zu erstellen, starten Sie den Dev-Server und versuchen Sie, sie von dort zu importieren und/oder anzufordern.
Windows 10 1607 Build 14393.1480
Npm 5.03
Das npm-Modul fs
wird global und lokal im Projektordner installiert.
Ich bin auf dieses Problem auch beim Reagieren gestoßen. Ich habe es geschafft, es mit Suchen/Ersetzen in instascan/src/zxing.js
. Suchen Sie die beiden folgenden Sätze und ersetzen Sie beide durch leere Zeichenfolgen.
var fs=require("fs");
var nodeFS=require("fs");
Ich bin ehrlich gesagt nicht sehr vertraut mit zxing.js, daher weiß ich nicht, warum das funktioniert.
Ich bin mir nicht sicher, warum auf Webbrowser ausgerichtete Bibliotheken 'fs' verwenden sollten, aber Sie haben absolut Recht, dass dies das Problem war!
Vielen Dank dafür!
Ist dafür eine PR angebracht oder wird @schmich dies berücksichtigen?
Leider unterbricht diese Bibliothek meinen Webpack-Build-Prozess (gleiches Problem wie oben). Der Hack von @rshepp funktioniert, ist aber bei der Arbeit mit mehreren Personen an einem Projekt sehr unpraktisch.
@axed Kannst du eine PR machen? Das wäre toll :)
fügen Sie dies zu Ihrer Webpack-Konfiguration hinzu:
module.exports = {
node: {
fs: "empty"
},
entry: {
app: [
'./src/main.js'
]
},
...
Wie in https://github.com/pugjs/pug-loader/issues/8#issuecomment -55568520
fügen Sie dies zu Ihrer Webpack-Konfiguration hinzu:
module.exports = { node: { fs: "empty" }, entry: { app: [ './src/main.js' ] }, ...
alhamdulillah bisa :)
Hilfreichster Kommentar
fügen Sie dies zu Ihrer Webpack-Konfiguration hinzu:
Wie in https://github.com/pugjs/pug-loader/issues/8#issuecomment -55568520