Nodejs:Instance 个模块
Nodejs:Instance of modules
我知道需要模块,但我想使用模块的实例,有点像 class 用于 java 项目或其他什么的实例。我的 app.js:
中有这段代码
var number = require("./number.js");
var numbers = [number.setNumber(2),
number.setNumber(3),
.....];
我里面有 number.js:
var number = -1;
exports.setNumber(num){
number = num;
}
exports.getNumber(){
return number;
}
我希望我想在这里做的事情已经很清楚了,但我要么找不到任何关于 google 的解释,要么我不确定要问什么问题问...所以我希望这不是重复的。
问题: 如何创建 modules/Can 的实例 我创建模块的实例?
模块只是组织代码的一种方式。您通过 module.exports =
从模块导出的 object
或其他类型就是您需要 require
的东西
所以你想要像JavaClass这样的东西,你可以创建一个构造函数
var Number = function(num) {
this.num = num
}
Number.prototype.setNumber = function(num) {
this.num = num
}
Number.prototype.getNumber = function() {
return this.num
}
并且在您的其他模块中,您可以使用 new
关键字
创建 Number 的新实例
var Number = require('./number.js')
var myNum = new Number(3)
myNum.setNumber(4);
// ... so on
回答我自己,因为尽管给出的答案有帮助,但它们并不完整。
我创建了一个看起来像 javascript class 的东西,类似于已经给出的答案,它有一个构造函数和所有其他 "class methods" 作为原型。关键是 export
它。
var myNumber = function(num) {
this.num = num
}
myNumber.prototype.setNumber = function(num) {
this.num = num
}
myNumber.prototype.getNumber = function() {
return this.num
}
module.exports = myNumber
然后,在我需要的节点中:
var myNumber = require('./number.js');
var numbers = [ new myNumber(2),
new myNumber(3),
new myNumber(3),
new myNumber(4),
new myNumber(4),
new myNumber(5),
new myNumber(5),
new myNumber(6),
new myNumber(6),
new myNumber(8),
new myNumber(8),
new myNumber(9),
new myNumber(9),
new myNumber(10),
new myNumber(10),
new myNumber(11),
new myNumber(11),
new myNumber(12)];
这就是我要找的大约 20 个不同的 myNumber 对象的原因。我不知道我是否正确使用了 module.exports = myNumber
,但它确实有效。
我知道需要模块,但我想使用模块的实例,有点像 class 用于 java 项目或其他什么的实例。我的 app.js:
中有这段代码var number = require("./number.js");
var numbers = [number.setNumber(2),
number.setNumber(3),
.....];
我里面有 number.js:
var number = -1;
exports.setNumber(num){
number = num;
}
exports.getNumber(){
return number;
}
我希望我想在这里做的事情已经很清楚了,但我要么找不到任何关于 google 的解释,要么我不确定要问什么问题问...所以我希望这不是重复的。
问题: 如何创建 modules/Can 的实例 我创建模块的实例?
模块只是组织代码的一种方式。您通过 module.exports =
从模块导出的 object
或其他类型就是您需要 require
所以你想要像JavaClass这样的东西,你可以创建一个构造函数
var Number = function(num) {
this.num = num
}
Number.prototype.setNumber = function(num) {
this.num = num
}
Number.prototype.getNumber = function() {
return this.num
}
并且在您的其他模块中,您可以使用 new
关键字
var Number = require('./number.js')
var myNum = new Number(3)
myNum.setNumber(4);
// ... so on
回答我自己,因为尽管给出的答案有帮助,但它们并不完整。
我创建了一个看起来像 javascript class 的东西,类似于已经给出的答案,它有一个构造函数和所有其他 "class methods" 作为原型。关键是 export
它。
var myNumber = function(num) {
this.num = num
}
myNumber.prototype.setNumber = function(num) {
this.num = num
}
myNumber.prototype.getNumber = function() {
return this.num
}
module.exports = myNumber
然后,在我需要的节点中:
var myNumber = require('./number.js');
var numbers = [ new myNumber(2),
new myNumber(3),
new myNumber(3),
new myNumber(4),
new myNumber(4),
new myNumber(5),
new myNumber(5),
new myNumber(6),
new myNumber(6),
new myNumber(8),
new myNumber(8),
new myNumber(9),
new myNumber(9),
new myNumber(10),
new myNumber(10),
new myNumber(11),
new myNumber(11),
new myNumber(12)];
这就是我要找的大约 20 个不同的 myNumber 对象的原因。我不知道我是否正确使用了 module.exports = myNumber
,但它确实有效。