首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对象不是构造函数节点js。

问对象不是构造函数节点js。
EN

Stack Overflow用户
提问于 2017-09-22 16:01:57
回答 2查看 231关注 0票数 0

嗨,我在写下面的代码,

代码语言:javascript
复制
**mysql-model.js**
var mysqlModel = require('mysql-model');

var model = function(){
var MyAppModel = mysqlModel.createConnection({
    host                        : 'localhost',
    user                        : "root",
    password                    : "",
    database                    : "test",
});
return MyAppModel;
}
module.exports = model;

**leave.js**

var dbConnectionCreator = require('../utilities/mysqlConnection.js');
var mysqlModel = require('../utilities/mysql-model.js');
var object = mysqlModel.MyAppModel;
Leave = new object({tableName: "leave_history"});

我得到了以下错误

TypeError: Object不是object的构造函数。(C:\wamp\www\express-redux-sample-master\server\models\leave.js:7:9)

帮我解决这个问题

EN

回答 2

Stack Overflow用户

发布于 2017-09-22 16:11:04

没有正确的mysqlModel.MyAppModel,因此它是undefined。您不为mysql-model.js中的导出分配该名称的属性。是你干的:

代码语言:javascript
复制
module.exports = model;

这使得导出对象本身成为您的函数。而且,这个函数也不是构造函数,它是一个正常函数。

因此,按照mysql-model.js的编写方式,您可以:

代码语言:javascript
复制
let mysqlModel = require('../utilities/mysql-model.js');
let leave = mysqlModel();

由于导出只是一个正常函数,所以只需将其称为正常函数。

票数 0
EN

Stack Overflow用户

发布于 2017-09-22 16:35:10

mysql-model.js

代码语言:javascript
复制
var mysqlModel = require('mysql-model');

var MyAppModel = mysqlModel.createConnection({
    host: 'localhost',
    user: "root",
    password: "",
    database: "test",
});

module.exports = {MyAppModel};

leave.js

代码语言:javascript
复制
var dbConnectionCreator = require('../utilities/mysqlConnection.js');
var {MyAppModel} = require('../utilities/mysql-model.js');
Leave = new MyAppModel({tableName: "leave_history"});

试一试上面的片段,尽管我得到了很多,但这是一个导入/导出混淆。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46368835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档