CodeBlanks Logo Icon CodeBlanks

Özet - Native addon'lar

N-API, binding ve build'i birleştirerek bir native modül yazarsın.

Özet - Native addon'lar

Bu grupta native addon'ların temel parçalarını gördük: N-API, node-addon-api, binding, callback ve build. Her biri C/C++ kodunu Node.js'e bağlamanın bir yönünü ele alır.

N-API sürümler arası kararlı arayüz sağlar. node-addon-api C++ sarmalayıcı sunar. Binding JS fonksiyonunu native koda bağlar. Callback native'den JS'e yanıt taşır. Build (node-gyp) kaynağı derleyip .node dosyası üretir. Son derste tümünü bir raporda birleştireceğiz.

Rapor fonksiyonu

Son görev tüm addon parçalarını tek bir raporda birleştirir. addonReport() fonksiyonu mod, wrapper ve binding bilgilerini ' | ' ile ayırarak döndürür. Çıktı: N-API v9 | node-addon-api | add.

Bu rapor, native addon'ın üç temel yönünü özetler: API (N-API v9), sarmalayıcı (node-addon-api) ve bağlanan fonksiyon (add). Fonksiyon içinde her parçayı bir değişkene koyar, sonra + ile birleştirirsin. Bu, öğrendiklerini konsolda görmeni sağlar; gerçek bir addon derlemeden yapıyı modellemiş olursun.

Uygulama Addon raporu yaz

function addonReport() yaz. const mod = {api: 'N-API', version: 9} tanımla. const wrapper = 'node-addon-api' tanımla. const binding = {name: 'add', arity: 2} tanımla. return mod.api + ' v' + mod.version + ' | ' + wrapper + ' | ' + binding.name ile döndür. console.log(addonReport()) ile yazdır.

Başlangıç kodu

index.js
// addonReport fonksiyonu yaz
// api, wrapper ve binding bilgilerini birleştir
// 'N-API v9 | node-addon-api | add' döndürsün
// çağır ve yazdır
// buraya yaz

Örnek çözüm

index.js
function addonReport() {
  const mod = {api: 'N-API', version: 9};
  const wrapper = 'node-addon-api';
  const binding = {name: 'add', arity: 2};
  return mod.api + ' v' + mod.version + ' | ' + wrapper + ' | ' + binding.name;
}
console.log(addonReport());

Beklenen çıktı

N-API v9 | node-addon-api | add

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Hangi araç addon'ı derler?

  • npm
  • node-gyp Doğru cevap
  • require
  • express

Açıklama: node-gyp, binding.gyp ile addon'ı derler.

2 Kavramı rolüne eşle

Kavram Anlamı
N-API Kararlı arayüz
node-addon-api C++ sarmalayıcı
Binding JS-native köprü
node-gyp Derleme aracı

Uzman bölümündeki tüm dersler