2015-06-18 4 views
2

Я пытаюсь использовать шаблон проектирования, как показано ниже:создания нескольких объектов с browserify

human.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 много, и я не знаю, как это сделать это в браузере.

Что я заметил, когда мне требуется human.js, а затем попытаюсь создать новый объект, он, похоже, заменит старый объект.

Как использовать браузер для этого шаблона проектирования?

Rest моего кода что-то вдоль линий:

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(); 
+0

Я не понимаю, что вы пытаетесь сделать. Вы пытаетесь экспортировать человеческий класс из human.js или экземпляров класса Human? – Hans

+0

Im пытается создать класс, чтобы я мог создавать несколько экземпляров в другом месте –

ответ

2

С CommonJS (Browserify), то, что вы экспортируете, будет тем, что вы получите, когда вам потребуются требования (однако будьте осторожны с предположением, что вы экспортируете одноэлемент, это не всегда из моего опыта). Поэтому в этом случае вы хотите напрямую экспортировать класс Human. Затем в каждом файле, который вам нужен для создания экземпляра человека, требуется класс и экземпляр оттуда.

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(); 
Смежные вопросы