遭遇了配置MYSQL和node.js的困扰
P粉489081732
P粉489081732 2023-08-15 10:55:24
[MySQL讨论组]


const Sequelize = require("sequelize");
require("dotenv").config();

const sequelize = new Sequelize(
  process.env.DB_NAME,
  process.env.DB_USER,
  process.env.DB_PASSWORD,
  {
    host: "localhost",
    dialect: "mysql",
    port: 3306,
    dialectOptions: {
      socketPath: "/tmp/mysql.sock",
    },
  }
);

module.exports = sequelize;

我在一个编程训练营里,我们正在进行一个小组项目,我遇到了一个错误

connect ENOENT /tmp/mysql.sock

我的讲师告诉我们这段代码是给Mac用户用的,而我在使用Windows。 有没有办法写一个条件语句,如果在Windows上运行时忽略这段代码,而在Mac上运行时运行它? 我在网上搜索了一下,没有找到什么结果。所以我只能在本地将它注释掉,虽然这样可以工作,但肯定有更好的方法吧。


P粉489081732
P粉489081732

全部回复(1)
P粉190883225

通常,人们解决这个问题的方式是,如果代码需要在多个环境(如Mac、Windows或托管提供商)上运行,他们不会将MySQL连接设置添加到代码中,而是将其添加到配置文件中。所以,将其作为你的.env配置的一部分。

话虽如此,你也可以在Mac上连接MySQL而不使用Unix套接字。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号