【问题标题】:pm 2 log Dialect needs to be explicitly supplied as v4.0.0pm 2 log 方言需要明确提供为 v4.0.0
【发布时间】:2021-03-30 10:18:36
【问题描述】:
  if I run 
  pm2 start bin/www.js      
  and 
  pm2 log
  |www      |     at Module.require (node:internal/modules/cjs/loader:997:19)
  0|www      |     at Module.Hook._require.Module.require 
  (/home/sadeeq/.nvm/versions/node/v15.4.0/lib/node_modules/pm2/node_modules/require-in-the- 
  middle/index.js:80:39)
  0|www      |     at require (node:internal/modules/cjs/helpers:92:18)
  0|www      |     at Object.<anonymous> (/var/www/html/controllers/user.controller.js:1:16)
  0|www      | Error: Dialect needs to be explicitly supplied as of v4.0.0
  0|www      |     at new Sequelize 
  (/var/www/html/node_modules/sequelize/lib/sequelize.js:281:13)
  0|www      |     at Object.<anonymous> (/var/www/html/models/index.js:6:19)
  0|www      |     at Module._compile (node:internal/modules/cjs/loader:1108:14)
  0|www      |     at Object.Module._extensions..js 
  (node:internal/modules/cjs/loader:1137:10)
  0|www      |     at Module.load (node:internal/modules/cjs/loader:973:32)
  0|www      |     at Function.Module._load (node:internal/modules/cjs/loader:813:14)
  0|www      |     at Module.require (node:internal/modules/cjs/loader:997:19)
  0|www      |     at Module.Hook._require.Module.require 
  (/home/sadeeq/.nvm/versions/node/v15.4.0/lib/node_modules/pm2/node_modules/require-in-the- 
  middle/index.js:80:39)
  0|www      |     at require (node:internal/modules/cjs/helpers:92:18)
 0|www      |     at Object.<anonymous> (/var/www/html/controllers/user.controller.js:1:16)

在我的 usercontroller.js 第一行中,我导入了我的模型文件夹。 在 sequelize 连接中,我从 .env 将方言导入为 mysql

【问题讨论】:

  • const models = require('../models/index');user.controller第一行
  • const connection = require('./config'); const {Sequelize} = require('sequelize'); const model = require('./models'); const sequelize = new Sequelize(connection.db, connection.user, connection.password, { host:connection.host, dialect:connection.dialect, port: connection.port }); const db ={};index.js 文件
  • DB_HOST=localhost DB_USER=root DB_PASS=***** DB_DATABASE=******* DB_DIALECT=mysql.env
  • require('dotenv').config() module.exports = { db: process.env.DB_DATABASE, dialect:process.env.DB_DIALECT, host: process.env.DB_HOST, user: process.env.DB_USER, password: process.env.DB_PASS, port:process.env.DB_PORT }config.js

标签: node.js sequelize.js digital-ocean pm2 ubuntu-server


【解决方案1】:

你需要使用pm2生态系统.config

 pm2 init

将其修改为您的项目凭据

module.exports = {
   apps : [{
   name: "app",
   script: "./app.js",
   env: {
     NODE_ENV: "development",
   },
 env_production: {
  NODE_ENV: "production",
  }
 }]
}

在您的 package.json 中,修改您的启动脚本,如下所示:

{
  "scripts": {
    "start": "pm2-runtime start ecosystem.config.js --env production"
  }
}

部署您的应用

【讨论】:

    猜你喜欢
    • 2018-03-23
    • 2018-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-10
    • 1970-01-01
    • 2018-06-16
    相关资源
    最近更新 更多