“ x不是构造函数”错误,但通常在其他文件中调用

时间:2019-07-03 12:26:35

标签: javascript node.js mongoose

我正在开发带有Mongoose项目的Express.js,它具有许多模型和控制器。我有一个名为UtilsController的公用“ utils”类,其中包含许多我从所有其他文件中调用的辅助函数。我的问题是出现以下错误,

  

TypeError:实用程序不是构造函数

当试图在文件中创建其对象,但在其他文件中完美运行时,则需要完全相同的方法。

以下是示例:

utils.controller.js 我要导入的utils类

const Esplai = require('./models/espais/esplai.model.js');
// some more imports...

const { createLogger, format, transports } = require('winston');
const { combine, timestamp, printf } = format;

class UtilsController {

  constructor() {
    this.something = "a";
    // ...
  }

  cursActual() {
    var avui = new Date();
    if(avui.getMonth() < 9){
      return avui.getFullYear() - 1;
    } else {
      return avui.getFullYear();
    }
  }
   // ...
}

module.exports = UtilsController

criteri.model.js 用于导入和实例的猫鼬模型

var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var _ = require('lodash');
const moment = require('moment');

var EdT = require('../espais/edt.model');
var Utils = require('../../utils.controller'); //The import
var ut = new Utils(); // The instance


var CrtieriSchema = new Schema({
// ...
})

// And some class methods...

module.exports = mongoose.model('criteris', CriteriSchema);

equip.model.js 猫鼬模型文件不起作用

var mongoose = require('mongoose');
var Schema = mongoose.Schema;
const Utils = require('../../utils.controller.js'); // The import
const ut = new Utils(); // The instance
const _ = require('lodash');

var EquipSchema = new Schema({
// ...
})
EquipSchema.index({ 'nom': 'text'});
module.exports = mongoose.model('equips', EquipSchema);

如您所见,需求和实例化完全相同,并且问题绝对不是require的路径(因为它实际上是通过类导入文件)。

这是错误:

  

TypeError:Utils不是构造函数       在对象。 (/home/marc/prova/nen/ngx-admin/server/models/espais/equip.model.js:5:12)

0 个答案:

没有答案