模块出口.node . js
Module exports. Node.js
我是Node.js的新手,我有一些问题。我正在实现简单的聊天应用程序,为了做到这一点,我使用ExpressJS + Nodejs + socket。io包。这是我的userservice .js
var db = require('../db')
class UserService {
findUserByNick(nick, callback) {
let userCollection = db.get('usercollection')
userCollection.findOne({username: nick}, (error, data) => {
callback(error, data);
});
}
findUserByEmail(email, callback) {
let userCollection = db.get('usercollection')
userCollection.findOne({email: nick}, (error, data) => {
callback(error, data);
});
}
}
var us = new UserService();
module.exports = us;
是否可以导出对象实例?或者我应该让所有的方法都是静态的,就像下面的代码:
class tokens_controller extends require('./controller_utils') {
static check_token(token_data, callback) {
if (this.validator(token_data, valid_templates.tokens.check_token, callback)) {
this.get_token_info(token_data.access_token, (get_token_info_err, get_token_info_result)=> {
TOKENS_MODEL.update({token: token_data.access_token}, (update_error, update_result)=> {
console.log(update_result);
if (update_error) {
callback(update_error, null);
}
else {
USERS_MODEL.find_users({
find: [{user_id: update_result.user_id}],
nots: ['password']
}, (find_users_error, find_users_result)=> {
if (find_users_error) {
callback(find_users_error, null);
}
else {
let user = find_users_result[0];
let result = {user: user, token: update_result};
callback(null, result);
}
});
}
});
}, callback);
}
}
}
module.exports = tokens_controller;
如果它只是一个服务,你不需要使用this
或其他东西,你可以省略类行为,只导出一个对象。
var db = require('../db')
module.exports = {
findUserByNick: function(nick, callback) {
let userCollection = db.get('usercollection')
userCollection.findOne({username: nick}, (error, data) => {
callback(error, data);
});
},
findUserByEmail: function(email, callback) {
let userCollection = db.get('usercollection')
userCollection.findOne({email: nick}, (error, data) => {
callback(error, data);
});
}
};
Node.js开发者不喜欢把东西放到全局作用域。下面是我的示例:
module.exports = function() {
class MyClass {
// Stuff
}
return MyClass;
}
然后在主文件中:
const MyClass = require("./MyClass.js")();
你可以在你的UserService中这样做。
export default UserService;
然后
import UserService from './userService';
new UserService()
相关文章:
- 在索引.html和应用.js [node.js] 之间共享变量
- JS(node.js)而循环不起作用
- 如何使用 JS (Node.js) 防止 HTTP 查询中允许使用 UTF8 字符串
- Angular JS & Node Webkit Routing
- 当作为脚本运行时.js Node中“this”的上下文是什么
- JS/Node:- 使用 node.io 选择标记
- JavaScript 如何让节点在返回 node.js/Node-RED 之前等待
- 处理快速连续的函数调用 - Javascript / underscore.js / node.js
- 如何在一台服务器中运行不同的.js文件.js NODE JS中的文件
- JS node-mysql bools 表现得很奇怪
- Node.js+Node Webkit+基于Node串行端口的应用程序-这可能吗
- 如何在Express.js/Node.js中检查查询字符串是否有值
- Express.Js, Node.Js, MongoDB Questions
- 在JS/Node中,当多个人编辑相同的记录时,如何避免数据冲突?有图案吗
- 服务器端js(node.js)上的同步
- 将参数从jade发送到js/node
- angular.js+node.js/electron中的Promise;不起作用
- 是否有可能确定我的应用程序的aws实例使用js/node aws-sdk
- Image Magick模块抛出奇怪的错误(Express js Node js)
- 用JS (Node.js)读取文本文件'