1. ホーム
  2. node.js

[解決済み] リンターエラー - ブラウザ専用関数が定義されていません。

2022-02-19 11:39:17

質問

ブラウザで利用可能なクラスに依存しています。 FileReader

webpackでエラーが出ます。 'FileReader' is not defined no-undef

この場合、どのように対処するのが正しいのでしょうか?現在、メッセージを無視する方法を使っています。

どのように解決するのですか?

問題は、webpackがNode.jsの一部として見つけることができず、利用できないため、エラーになることです。しかし、これを回避する方法がいくつかあります。

の代わりに

var reader = new FileReader();

使用

修正その1

var reader = new window.FileReader();

修正その2

var reader = new global.FileReader();

webpackは、デフォルトでglobalをwindowに変換します。 詳しくは https://webpack.js.org/configuration/node/

修正その3

// in webpack.config.js
module.exports = {
  //...
  externals: {
    FileReader: 'FileReader'
  }
};

詳細はこちら https://webpack.js.org/configuration/externals/