stdlib.js
// 打包模块
module.exports = stdlib;
// 声明方法
stdlib.prototype.toString = toString;
stdlib.prototype.talk = talk;
// 声明变量
stdlib.prototype.className = null;
// 构造方法
function stdlib(name)
{
this.className = 'class: ' + name;
// 获取IO流
this.stdin = process.stdin;
this.stdout = process.stdout;
};
// 方法
function toString() {
return this.className;
};
function talk () {
var interface = require('readline');
var rl = interface.createInterface(this.stdin, this.stdout);
rl.setPrompt('Nerds> ');
rl.prompt();
rl.on('line', function (cmd) {
switch(cmd.trim()) {
case ':q!':
console.log('stream close!');
process.exit(0);
break;
case 'girlfriend':
console.log('Dude,I bet you won`t :D');
break;
default:
console.log('Say what? I might have heard `' + cmd.trim() + '`');
break;
}
rl.prompt();
}).on('close', function (cmd) {
console.log('Enjoy js world, have nice day :D');
process.exit(0);
});
};main.js
// 安装模块
var stdlib = require('./stdlib');
// 从模块中创建对象
var tsh = new stdlib('my stdlib');
console.log(tsh.toString());
tsh.talk();node.js中采用 modules.exports = class 将某个类暴露供安装对应模块的文件使用
Lib.js:
module.exports = Lib;
function Lib() {}
...
UserFile.js 2:
var installModule = module('./Lib');
var instanceObject = installModule();
...类似于java的打包和导入包
file 1:
package com;
public class Lib
{
.....
}
file 2:
import com.lib;
....
本文详细介绍了Node.js中如何使用modules.exports将类暴露给安装对应模块的文件使用,包括模块的打包、构造方法、实例化过程以及类的方法实现。通过示例展示了如何创建并操作自定义类,以及类在Node.js环境下的应用。
370

被折叠的 条评论
为什么被折叠?



