SORU
5 Mayıs 2013, Pazar


Arasındaki fark "modülü.ihracat" ve "ihracat" CommonJs Modül Sistemi

Bu sayfada (http://docs.nodejitsu.com/articles/getting-started/what-is-require), ihracat fonksiyonu ya da yeni bir nesne için nesne ayarlamak istiyorsanız", modül kullanmak Zorundasınız.bu devletlerin ihracat nesne."

Benim soru, neden?

// right
module.exports = function () {
  console.log("hello world")
}
// wrong
exports = function () {
  console.log("hello world")
}

Ben konsolu.sonuç (result=require(example.js)) ve [Function] ikinci bir ilk kaydediliyor {}.

Bunun arkasındaki nedeni açıklar mısınız? Ben burdan okuyun: module.exports vs exports in nodeJS . Yararlı olur, ama bu şekilde tasarlanmıştır nedenini açıklamıyor. İhracat başvurusu doğrudan iade edilmesi durumunda bir sorun olacak mı?

CEVAP
5 Mayıs 2013, Pazar


module exports özelliği ile düz bir JavaScript nesnesidir. exports 9 **ayarlanmış olan düz bir JavaScript değişken. Eğer dosyanın sonuna, node.js 'return' require işlevi module.exports. temelde olacak Düğüm JS dosyasını görüntülemek için basit bir yol bu olabilir:

var module = { exports: {} };
var exports = module.exports;

// your code

return module.exports;

Eğer ayarlama özelliği exports gibi exports.a = 9; Bu set module.exports.a çünkü nesneler etrafında geçti gibi başvurular JavaScript, hangi temelde sadece anlamına gelir eğer siz birden fazla değişken için aynı nesne, onlaraynı nesne; exports module.exports o zaman aynı nesne.
Ama eğer yeni bir şey için exports ayarlarsanız, artık exports module.exports artık aynı nesne yani 19 ** ayarlanmış olacak.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ChannelRichard

    ChannelRicha

    7 Kasım 2008
  • edwin maldonado

    edwin maldon

    28 Mart 2009
  • EmbarkToHeaven

    EmbarkToHeav

    3 EYLÜL 2007