Mysql 包含文件时node.js上的引用错误
我不熟悉Mysql 包含文件时node.js上的引用错误,mysql,node.js,Mysql,Node.js,我不熟悉node.js。我有两个文件。它们是index.js和db.js 我的index.js是 var connection = require('./db.js'); device = new Device({ id: 93, name: 'test1' }); device.save(); var mysql = require('mysql2'); var mysqlModel = require('mysql-model'); var appModel
node.js
。我有两个文件。它们是index.js
和db.js
我的index.js
是
var connection = require('./db.js');
device = new Device({
id: 93,
name: 'test1'
});
device.save();
var mysql = require('mysql2');
var mysqlModel = require('mysql-model');
var appModel = mysqlModel.createConnection({
host : 'localhost',
user : 'root',
password : 'root',
database : 'db',
});
var Device = appModel.extend({
tableName: "DeviceTable",
});
我的db.js
是
var connection = require('./db.js');
device = new Device({
id: 93,
name: 'test1'
});
device.save();
var mysql = require('mysql2');
var mysqlModel = require('mysql-model');
var appModel = mysqlModel.createConnection({
host : 'localhost',
user : 'root',
password : 'root',
database : 'db',
});
var Device = appModel.extend({
tableName: "DeviceTable",
});
在这里,我在运行node index.js时得到了错误
设备=新设备({
ReferenceError:未定义设备
但是在将以下内容插入到db.js
本身时,它工作得很好。它执行insert
var mysql = require('mysql2');
var mysqlModel = require('mysql-model');
var appModel = mysqlModel.createConnection({
host : 'localhost',
user : 'root',
password : 'root',
database : 'db',
});
var Device = appModel.extend({
tableName: "DeviceTable",
});
var device = new Device({
id: 93,
name: 'test1'
});
device.save();
为什么会出现错误?如果您希望在其他模块中可以访问db模块中的某些内容,则需要使用
module.exports将其公开
添加到db.js
文件的末尾:
module.exports = {
appModel : appModel,
Device : Device
};
然后在index.js
中,您可以执行以下操作:
device = new connection.Device({
id: 93,
name: 'test1'
});
您可以阅读更多有关它的信息。node.js将每个文件视为一个模块。因此,要将任何源文件包含到另一个文件中,您需要在源端导出它,并在导入文件中使用require导入它