我是node.js
的新手。我有两个文件。它们是index.js
和db.js
我的index.js
是
var connection = require('./db.js');
device = new Device({
id: 93,
name: 'test1'
});
device.save();
我的db.js
是
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",
});
这里我在运行节点index.js 时获得了error
device = new Device({
^
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();
为什么我收到错误?
答案 0 :(得分:4)
如果您希望db模块中的某些内容可以在其他模块中访问,则需要使用module.exports
添加到db.js
文件的末尾:
module.exports = {
appModel : appModel,
Device : Device
};
然后在你的index.js
中你可以做到:
device = new connection.Device({
id: 93,
name: 'test1'
});
您可以阅读更多相关信息here
答案 1 :(得分:2)
node.js将每个文件视为一个模块。所以要将任何源文件包含到另一个源文件中,您需要在源端导出它并使用导入文件中的require导入它。