net
moduł wymagany i używany w węźle MySQL Moduł jest podstawową częścią samego Node.js. Pojawia się błąd dotyczący Net.createConnection
niebędący funkcją oznacza, że pojawia się jako pusty obiekt, a błąd jest powiązany z jednym z twoich komentarzy do pytania:
Musisz uruchomić ten konkretny moduł tylko na Node.js, nie możesz go uruchomić w przeglądarce internetowej.
Można by pomyśleć, że istnieje możliwość uruchomienia kodu przez program pakujący, taki jak browserify
lub webpack
więc możesz łatwo require('mysql')
w Twojej przeglądarce, ale to nie zadziała. net
moduł, który jest podstawową zależnością mysql
moduł zostanie przekształcony w pusty obiekt {}
.To nie jest błąd, tak to powinno działać. Przeglądarki nie mają ogólnych implementacji tcp, więc nie można ich emulować. Pusty obiekt ma na celu zapobieganie require('net')
przed błędami na modułach, które w przeciwnym razie działają w przeglądarce.
Aby uniknąć tego błędu, musisz uruchomić ten kod w czystym środowisku Node.js, a nie w przeglądarce. Prosty serwer może służyć do tego celu, ponieważ ten kod w twoim kliencie w przeglądarce nie może działać i dodałby lukę w zabezpieczeniach, ponieważ wszystko po stronie klienta jest manipulacyjne i jako takie nie jest bezpieczne. Nie chcesz ujawniać swojej bazy danych po stronie klienta, ale tylko ją zużywa.