sql >> Databasteknik >  >> RDS >> Mysql

Fel i MySQL-biblioteket för Node.js

net modul som krävs och används i MySQL-nodmodulen är en central del av själva Node.js. Felet du får om Net.createConnection att inte vara en funktion betyder att det kommer upp som ett tomt objekt och felet är relaterat till en av dina kommentarer till frågan:

Du måste bara köra den här modulen på Node.js, du kan inte köra den i en webbläsare.

Man skulle kunna tro att en möjlighet skulle vara att köra din kod genom en packer som browserify eller webpack så att du enkelt kan require('mysql') i din webbläsare men det fungerar inte. net modul som är ett centralt beroende av mysql modulen kommer att omvandlas till ett tomt objekt {} .Det är inte en bugg, det är så det ska fungera. Webbläsare har inte generiska tcp-implementationer så det kan inte emuleras. Det tomma objektet är avsett att förhindra require('net') från att misslyckas på moduler som annars fungerar i webbläsaren.

För att undvika detta fel måste du köra den här koden i en ren Node.js-miljö, inte i en webbläsare. En enkel server skulle kunna tjäna detta syfte eftersom denna kod i din klient i en webbläsare inte kan fungera och skulle lägga till ett säkerhetshål eftersom allt på klientsidan är manipulativt och som sådant inte säkert. Du vill inte exponera din databas på klientsidan utan bara konsumerar den.




  1. Skillnad mellan BINARY(16) och CHAR(32) vid lagring av MD5 i databasen

  2. Strängdata, höger trunkerad:1406 Data för lång för kolumn

  3. Får MySQL-sökväg i kommandotolken

  4. Hur man bygger ett Rest API med Spring Boot med MySQL och JPA