【问题标题】:TypeError: require(...) is not a function Express.jsTypeError: require(...) is not a function Express.js
【发布时间】:2018-10-25 08:22:07
【问题描述】:

我需要帮助。运行 npm start 时出现此错误:

/Users/telecreative/Documents/cafemates micro-services/cafemates-users-services/database/index.js:8
const pgp = require("pg-promise")(options)                                 ^

在另一台电脑上,脚本运行,node版本和npm版本相同:

TypeError: require(...) 不是函数

const express = require("express")
const app = express()
require('dotenv').config({path:__dirname+'/./../../.env'})
const promise = require("bluebird")
const options = {
  promiseLib: promise
}
const pgp = require("pg-promise")(options)

const config = {
  user: process.env.DATABASE_USER,
  host: process.env.DATABASE_HOST,
  database: process.env.DATABASE,
  password: process.env.DATABASE_PASSWORD,
  port: process.env.DATABASE_PORT
}

const db = pgp(config);

module.exports = db

【问题讨论】:

    标签: javascript node.js express


    【解决方案1】:

    尝试从项目根目录运行npm install --save pg-promise bluebird,然后重新加载应用程序。

    【讨论】:

    • 检查你的 package.json 和每个 pg-promise 的版本。
    【解决方案2】:

    这个:require("pg-promise") simple 不返回函数。

    因此,当您使用require("pg-promise")(...) 时,它会尝试将其用作函数然后失败,因为它不是函数。

    你可以试试console.log(require("pg-promise")))看看里面有什么。

    【讨论】:

    • 控制台和输出.. { PGPromise: [Function] }
    • @DickyPerdian 那么require("pg-promise").PGPromise(options)
    • 已解决,我一一安装模块,并且工作... :)
    【解决方案3】:

    已解决 错了,我是复制json包的,从已有的,最好的方法应该是一个一个安装。

    【讨论】:

      猜你喜欢
      • 2016-01-05
      • 2013-12-22
      • 2017-06-22
      • 2019-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-20
      • 2017-01-04
      相关资源
      最近更新 更多