node_mouse'u yüklemeye çalışıyordum ve düğüm modülleri klasörüne baktığımda normal bir .js dosya uzantısı yerine .node dosya uzantısı buldum. Node_mouse'u nasıl çalıştırabilirim? Bu baktım ve C++ ile yazılmış bir eklenti olabileceğini düşünüyorum, ancak tam olarak emin değilim (Node addons).node dosyası nasıl kullanılır?
cevap
Evet, normal "gereksinim" kullanımı .node dosyaları için uygundur. Bu dosyaların noktası, normal düğüm gerektirdiği gibi referans alınabilecek taşınabilir ikili dosyalar (C++ 'dan node-gyp kullanarak) oluşturmaktır. node addon docs ait hello.js bölümüne bakın: Bu NPM lib içine baktıktan sonra
const addon = require('./build/Release/addon');
console.log(addon.hello());
, birkaç farklı düğüm sürümleri ile benim Windows, Mac ve Linux VM en doğru düğüm tarafından yüklenen, ancak ikili bir atar edilir hata dizisi. (Windows 10 bir hata atar, çünkü büyük olasılıkla NT) pencereler üzerinde bile bir yapı hedef olarak pencerelerin belirli bir sürümünü vardır: Bu ikili tarafından başvurulan bir paylaşılan kütüphane açmak için başarısız dyld edilir
OS X'teError: %1 is not a valid Win32 application.
. (Adam Dlopen bakınız): Linux'ta
Error:dlopen(/.../node_mouse/node_mouse.node, 1): no suitable image found.
, biz ikili Bu işletim sisteminde çalıştırılamaz söyler ELF başlık hatası, olsun.
Error: /app/available_modules/1484064894000/node_mouse/node_mouse.node: invalid ELF header
author Windows NT bir sürü iş yapmak gibi görünüyor, bu yüzden gerçekten bu çalışma gerekiyorsa, eklentiler tüm dev ile Windows NT yeni bir kopyasını bulabilirsiniz. Son olarak, üçüncü taraf kapalı kaynak ikili kodlarını kod tabanınızda (özellikle de fare hareketini denetleyenler) çalıştırmanın güvenlik riskini göz önünde bulundurun. Üste |
Uzantıları düşünmenize gerek yok, sadece modülün diğer modüllere benzemesi gerekiyor. Bir hata mı alıyorsun? – loganfsmyth
Öyleydim, ama şu an üzerinde çalışmakta olan uygun bir C++ derleyicisinin olmadığını fark ettim. – idude
Ben de .node dosya uzantısı ile bazı hata alıyorum, bana nasıl çalıştığını bir ipucu verebilir misiniz? –