gpt4 book ai didi

node.js - 使用 Node JS 导出函数

转载 作者:搜寻专家 更新时间:2023-10-31 22:19:37 25 4
gpt4 key购买 nike

我需要有关 Node.Js 中函数导出的帮助

这是我的module.js

var knex = require('knex')({
client : 'mysql',
connection : {
host : 'localhost',
user : 'root',
password : '123',
database : 'dbNode'
}
}),bookshelf = require('bookshelf')(knex);

var user = bookshelf.Model.extend({
tableName : 'tblUsers',
idAttribute : 'email'
});

var note = bookshelf.Model.extend({
tableName : 'tblNotes',
idAttribute : 'noteId'
});


module.exports = {
User : user,
Note : note,

};

module.exports = function(owner) {
return knex('note').where('public',1).orWhere({ownerName : owner}).select('noteId');
}

我必须导出函数和书架模型(User 和 Note),但是当我尝试使用 Model.User 时,它返回错误:Model.User is not a function

最佳答案

让我们看看您的代码:

module.exports = {
...
};

module.exports = function(owner) {
...
}

您正在为同一个属性分配两个不同的东西。第二个赋值覆盖第一个。


要执行您要求的操作,您需要先导出函数,然后单独添加属性:

module.exports = function(owner) {
...
}

module.exports.User = user;
module.exports.Note = note;

这是 Node 中的标准。

更好的是,不要将函数直接分配给 module.exports,而是将其作为属性添加到它:

module.exports.myFunction = function(owner) {
...
}

module.exports.User = user;
module.exports.Note = note;

这样您就有了真正独立的导出,而不是奇怪地还具有 User 和 Note 属性的导出函数。

关于node.js - 使用 Node JS 导出函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37613507/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com