sql >> Database teknologi >  >> RDS >> Mysql

Fejl i MySQL-biblioteket for Node.js

net modul påkrævet og brugt i MySQL-nodemodulet er en kernedel af selve Node.js. Fejlen du får om Net.createConnection ikke at være en funktion betyder, at den kommer op som et tomt objekt, og fejlen er relateret til en af ​​dine kommentarer til spørgsmålet:

Du skal kun køre dette særlige modul på Node.js, du kan ikke køre det i en webbrowser.

Man kunne tro, at en mulighed ville være at køre din kode gennem en pakker som browserify eller webpack så du nemt kan require('mysql') i din browser, men det virker ikke. net modul, som er en kerneafhængighed af mysql modul vil blive transformeret til et tomt objekt {} .Det er ikke en fejl, det er sådan, det skal fungere. Browsere har ikke generiske tcp-implementeringer, så det kan ikke emuleres. Det tomme objekt er beregnet til at forhindre require('net') fra at fejle på moduler, der ellers fungerer i browseren.

For at undgå denne fejl skal du køre denne kode i et rent Node.js-miljø, ikke i en browser. En simpel server kunne tjene dette formål, da denne kode i din klient i en browser ikke kan fungere og ville tilføje et sikkerhedshul, da alt på klientsiden er manipulerende og som sådan ikke sikkert. Du ønsker ikke at eksponere din database på klientsiden, men kun forbruge den.




  1. Eclipse/Hibernate-værktøjsfejl:Indtastning af arkivklassesti findes ikke

  2. Indkøbskurv og lagerstyring

  3. MySQL-forespørgsel i Laravel Eloquent

  4. java.lang.IllegalArgumentException:im ==null?