嗨,我在写下面的代码,
**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)
帮我解决这个问题
发布于 2017-09-22 16:11:04
没有正确的mysqlModel.MyAppModel,因此它是undefined。您不为mysql-model.js中的导出分配该名称的属性。是你干的:
module.exports = model;这使得导出对象本身成为您的函数。而且,这个函数也不是构造函数,它是一个正常函数。
因此,按照mysql-model.js的编写方式,您可以:
let mysqlModel = require('../utilities/mysql-model.js');
let leave = mysqlModel();由于导出只是一个正常函数,所以只需将其称为正常函数。
发布于 2017-09-22 16:35:10
mysql-model.js
var mysqlModel = require('mysql-model');
var MyAppModel = mysqlModel.createConnection({
host: 'localhost',
user: "root",
password: "",
database: "test",
});
module.exports = {MyAppModel};leave.js
var dbConnectionCreator = require('../utilities/mysqlConnection.js');
var {MyAppModel} = require('../utilities/mysql-model.js');
Leave = new MyAppModel({tableName: "leave_history"});试一试上面的片段,尽管我得到了很多,但这是一个导入/导出混淆。
https://stackoverflow.com/questions/46368835
复制相似问题