2016-04-02 18 views
3

Her şeyi (işlev ve prototip) bir dosyadan (name: config.js) başka bir dosyaya (name: index.js) aktarmalıyım. "Sublime", üzerinde Node.js ile Javascript ws oluşturmak ve cmd'plus' in not defined kodumda çalıştırıldığında hata söyledi.Dışa Aktarma İşlevi ve Prototipi bir dosyadan diğerine aktarma

code :(config.js)-first file 

var Ranking=function(){ 
    this.rank= 5; 
    events.EventEmitter.call(this); 
}; 
var printName=function(){ 
    console.log("spa name is: sea spa"); 
}; 
Ranking.prototype.plus =function(sum){ 
    this.rank += sum; 
    this.emit("change"); 
}; 
Ranking.prototype.minus =function(sum){ 
    this.rank -= sum; 
    this.emit("change"); 
}; 
var addingStar=function(){ 
    console.log("the ranking is: " + this.rank); 
}; 
var changeNoZero=function(){ 
    if(this.rank<0){ 
     console.log("bad reviews " + this.rank); 
    } 
}; 

module.exports=Ranking; 

index.js -İkinci dosya

var events = require('events'); 
var util = require('util'); 
var Ranking = require('./config'); 
var ranking = new Ranking(); 
util.inherits(Ranking ,events.EventEmitter); 


ranking.on("change",printName); 
ranking.on("change",addingStar); 
ranking.on("change",changeNoZero); 


ranking.plus(1); 
ranking.minus(6); 
ranking.plus(3); 
+0

hata kodunu çalıştırdığımda komut satırında (cmd) bana benden korkuyor: "artı tanımlı değil" – adi

+1

Ne soruyorsun? Ne "hata", Sublime metnindeki bir hata? Çalıştığınız komut satırı nedir? – Tersosauros

+0

Bu kodu "Sblime Metni" 'nde wirte ediyorum ama cmd'den (çağrı komut satırı) çalıştırdım ve bir hatam var: "olaylar tanımlı değil" diye kullanırsanız elma denilen komut anahtarını kullanırım diye düşünüyorum – adi

cevap

-1

Sen olarak aşağıda bir şey deneyebilirsiniz:

Config.js dosyayı ----

var defaultValues = module.exports 

defaultValues.GetApiURL = function() { 
var apiURL = "http://localhost:1000/api/" 
return apiURL; 
} 

index.js - ---

var defaultValues = require('./config.js'); 
var apiUrl= defaultValues.GetApiURL(); 
+0

Bu değişim ancak onun dolambaçlı çalışması hala bana bir hata verdi: "olay tanımlanmıyor" bu mesaj config.js'yi şu satırlara yönlendirir: events.EventsEmmiter.call (this); – adi

+0

npm kullanarak etkinlik paketi yüklediniz mi? – user3151766

İlgili konular