gerektiriyor Ben node.js. içinde diğer js dosyalarını dahil etmeye çalışıyorum.Düğüm js ve kullanırken yeni
Ben gerektiren fonksiyonu ve diğer alternatiflerden hakkında tüm okumak ve (kod sadece hiç bir tarayıcıda, node.js üzerinde kullanılacak gibi) gerektiren fonksiyonu ile gitmeye karar verdik. Benim kod
ben sonradan bir örneğini oluşturuyorsunuz istedikleri bir 'nesne' oluşturmak için prototipler kullanıyorum.
almak için ben (diyoruz vehicle.js sağlar) Aşağıdaki gibi bir kod yazıyorum çalışır için: benim ana js Sonra
var util = require('util');
var EventEmitter = require('events').EventEmitter;
module.exports = Vehicle;
util.inherits(Vehicle, EventEmitter);
function Vehicle(options) {
EventEmitter.call(this);
options = options || {};
...
}
Vehicle.prototype._doStartEvent = function(data) {
this.emit('start', data);
};
Vehicle.prototype.testRun = function() {
this._doStartEvent();
};
(sağlar o server.js diyoruz), var aşağıdaki:
var test = exports;
exports.Vehicle = require('./vehicle.js');
var remoteVehicle = new test.Vehicle({address: "192.168.1.3"});
remoteVehicle.on('start', function(d) {console.log('started');});
remoteVehicle.testRun();
Şimdi bu tüm iyi çalışır, ama ne olup bittiğini iyi bir anlayış yok.
Benim asıl sorun var test = exports;
kullanılması ve daha sonra exports.Vehicle = require(...)
olduğunu.
new Vehicle
veya benzeri kullanılarak hedefiyle,
var vehicle = require(...).Vehicle
ve
var vehicle = require(...)
böyle bir şey yaptığını çalıştım, ama o iş için alamadım.
İhracat yapmak zorundayım ve eğer öyleyse neden?
Ben örnek olarak AR Drone projesini kullanıyorum Lütfen dikkat: Yukarıdaki kod onlar içten onların modülleri yapmış nasıl dayanmaktadır. Client.js ve index.js'a bakın. require
ait
Bu Mastering Düğüm eBook'a parametre olarak kullanmak iyidir: http://visionmedia.github.com/masteringnode/book. html – Alex
@LeonidBeschastny Bu nasıl bir kopya mı? Bu soru ilk soruldu (bu sorulmuştur, 3 Temmuz 2013, bir yinelenen olduğunu iddia edildi 11 Temmuz 2013). Çift olduklarını düşünüyorsanız, diğer soru bu değil, yinelenen şeydir. – Metalskin
@Metalskin özür dilerim, başlık tarafından kafam karıştı. Sorunuzu daha dikkatli bir şekilde tekrar okuyorum ve sanırım bunun yinelenen bir yanılgı oldu. –