net
MySQLノードモジュールで必要かつ使用されるモジュールは、Node.js自体のコア部分です。 Net.createConnection
について発生しているエラー 関数ではないということは、それが空のオブジェクトとして表示され、エラーが質問へのコメントの1つに関連していることを意味します:
この特定のモジュールはNode.jsでのみ実行する必要があり、Webブラウザーでは実行できません。
browserify
のようなパッカーを介してコードを実行する可能性があると考える人もいるかもしれません。 またはrequire('mysql')
を実行できます ブラウザでは動作しませんが、動作しません。 net
mysql
のコア依存関係であるモジュール モジュールは空のオブジェクトに変換されます{}
。それはバグではありません、それはそれがどのように機能することになっているのかです。ブラウザには一般的なtcp実装がないため、エミュレートできません。空のオブジェクトは、require('net')
を防ぐことを目的としています ブラウザで動作するモジュールで失敗することから。
このエラーを回避するには、ブラウザーではなく、純粋なNode.js環境でこのコードを実行する必要があります。ブラウザのクライアントのこのコードは機能せず、クライアント側のすべてが操作的であり、安全ではないため、セキュリティホールが追加されるため、単純なサーバーがこの目的を果たす可能性があります。データベースをクライアント側で公開するのではなく、データベースを使用するだけです。