包含文件时node.js上的引用错误
我是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();
为什么我得到错误?
如果你想从db模块中得到其他模块可以访问的东西,你需要使用module.exports
来暴露它
添加到您的db.js
文件的末尾:
module.exports = { appModel : appModel, Device : Device };
然后在你的index.js
你可以这样做:
device = new connection.Device({ id: 93, name: 'test1' });
你可以在这里阅读更多关于它
node.js将每个文件视为一个模块。 所以要将任何源文件包含到另一个源文件中,您需要在源端将其导出,并在导入文件中使用require将其导入。