J'ai rencontré des problèmes lors de la configuration de MYSQL et de node.js
P粉489081732
2023-08-15 10:55:24
<p><br /></p>
<pre class="brush:php;toolbar:false;">const Sequelize = require("sequelize");
require("dotenv").config();
const sequelize = new Sequelize(
processus.env.DB_NAME,
processus.env.DB_USER,
processus.env.DB_PASSWORD,
{
hôte : "localhost",
dialecte : "mysql",
port : 3306,
optionsdialecte : {
socketPath : "/tmp/mysql.sock",
},
}
);
module.exports = sequelize;</pre>
<p>Je participe à un bootcamp de codage et nous travaillons sur un projet de groupe et j'ai rencontré un bug</p>
<p><code>connect ENOENT /tmp/mysql.sock</code></p>
<p>Mon instructeur nous a dit que ce code était destiné aux utilisateurs Mac et que j'utilise Windows.
Existe-t-il un moyen d'écrire une instruction conditionnelle qui ignore ce code s'il est exécuté sous Windows, mais l'exécute lorsqu'il est exécuté sur Mac ?
J'ai cherché en ligne et je n'ai rien trouvé. J'ai donc dû le commenter localement, et même si cela fonctionnait, il devait y avoir une meilleure solution. </p><p><br /></p>
Habituellement, la façon dont les gens résolvent ce problème est que si le code doit s'exécuter sur plusieurs environnements (tels que Mac, Windows ou les fournisseurs d'hébergement), ils n'ajoutent pas les paramètres de connexion MySQL au code, mais les ajoutent à la configuration. dans le fichier. Alors, intégrez cela à votre
.env
configuration.Cela dit, vous pouvez également vous connecter à MySQL sur Mac sans utiliser de sockets Unix.