ES6インポートステートメントimport InstaScan from 'instascan'
を介してライブラリをインポートしようとしていますが、次のエラーがスローされます。
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
それは私のnpmセットアップがすべて再び台無しになっているだけですか、それともこのlibはそのように使用されることを意図していませんか?
おそらくこれはウェブパックが物事を台無しにしているだけです...
create-react-scriptsの1つを使用して単純なreactベースのアプリを再現するには、開発サーバーを起動し、そこからインポートまたは要求します。
Windows 101607ビルド14393.1480
Npm 5.03
npmモジュールfs
は、プロジェクトのフォルダーにグローバルおよびローカルにインストールされます。
私もreactでこの問題に遭遇しました。 instascan/src/zxing.js
検索/置換を使用して、なんとか機能させることができました。 以下の2つのフレーズを見つけて、両方を空の文字列に置き換えます。
var fs=require("fs");
var nodeFS=require("fs");
私は正直なところzxing.jsにあまり詳しくないので、なぜこれが機能するのかわかりません。
Webブラウザをターゲットにしたライブラリが「fs」を使用する必要がある理由はわかりませんが、これが問題であったことは間違いありません。
どうもありがとうございました!
このためのPRを作成するのは適切ですか、
残念ながら、このライブラリは私のwebpackビルドプロセスを壊します(上記と同じ問題)。 @rsheppのハックは
@axed PRできますか? それは素晴らしいことです:)
これをwebpack構成に追加します。
module.exports = {
node: {
fs: "empty"
},
entry: {
app: [
'./src/main.js'
]
},
...
https://github.com/pugjs/pug-loader/issues/8#issuecomment-555685020のように
これをwebpack構成に追加します。
module.exports = { node: { fs: "empty" }, entry: { app: [ './src/main.js' ] }, ...
アルハムドゥリッラービサ:)
最も参考になるコメント
これをwebpack構成に追加します。
https://github.com/pugjs/pug-loader/issues/8#issuecomment-555685020のように