我尝试使用如下设计模式:
人类.js
function Human(name){
this.name = name
this.sayName = function(){
console.log(this.name);
}
}
var a = new Human("bob");
var b = new Human("ted");
但是我没有太多使用browserify,并且我不知道如何在browserify中执行此操作。
我注意到,当我需要 human.js 然后尝试创建一个新对象时,它似乎正在替换旧对象。
如何使用 browserify 来实现此设计模式?
我的其余代码大致如下:
module.exports = {
MyHuman:Human
}
在文件 1 中:
var human = require('human.js')
var ted = new Human('ted')
ted.sayName();
在文件 2 中:
var human = require('human.js')
var bob = new Human('bob')
bob.sayName();
最佳答案
使用 CommonJS (Browserify),您导出的内容将是您调用 require 时得到的内容(但是,请小心假设您导出的内容是单例,根据我的经验,情况并非总是如此)。所以在这种情况下,您想直接导出 Human 类。然后在需要实例化人类的每个文件中,需要该类并从那里实例化。
人类.js
function Human(name) {
this.name = name;
this.sayName = function() {
console.log(this.name);
};
}
module.exports = Human;
文件1
var Human = require('./human.js');
var ted = new Human('Ted');
ted.sayName();
文件2
var Human = require('./human.js');
var bob = new Human('Bob');
bob.sayName();
关于javascript - 使用 browserify 创建多个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30921531/