Rumah > Artikel > hujung hadapan web > Cara membuat pemalam Node.js menggunakan kod C
Node.js ialah masa jalan Javascript sumber terbuka untuk membina aplikasi web berprestasi tinggi dan boleh skala. Tidak seperti penyemak imbas, Node.js membenarkan Javascript dijalankan dalam persekitaran sebelah pelayan, menjadikan Javascript bahasa pengaturcaraan yang lebih komprehensif.
Node.js mempunyai banyak ciri cemerlang, seperti operasi I/O tak segerak, dipacu peristiwa, dll. Ciri ini membolehkan Node.js mengendalikan sejumlah besar permintaan serentak dengan cekap. Walau bagaimanapun, kadangkala kita perlu menggunakan C atau C++ untuk melaksanakan beberapa fungsi khusus yang tidak dapat dilaksanakan oleh Node.js, seperti pengurusan memori atau memanggil API peringkat perkakasan. Dalam kes ini, melanjutkan Node.js dengan kod C mungkin merupakan pilihan yang baik.
Node.js menyediakan ciri yang dipanggil "pemalam C++", yang membenarkan sambungan berfungsi ditulis dalam C atau C++. Dalam artikel ini, kita akan belajar cara membuat pemalam Node.js menggunakan kod C.
node-gyp ialah alat untuk membina pemalam Node.js. Untuk menulis pemalam Node.js menggunakan kod C, kita mesti memasang node-gyp terlebih dahulu.
Untuk memasang node-gyp, jalankan arahan berikut:
npm install -g node-gyp
Sebelum melanjutkan Node.js dengan kod C , kita perlu mencipta modul C++ terlebih dahulu. Kita boleh menggunakan node-gyp untuk menjana templat dan kemudian mengubah suainya.
Untuk menjana templat, jalankan arahan berikut:
node-gyp configure
Ini akan menjana fail binding.gyp dan struktur direktori.
Dalam struktur direktori yang dihasilkan kita akan menemui fail yang dipanggil "hello.cc" yang mengandungi fungsi mudah yang akan mengembalikan rentetan "dunia".
Kami boleh menggunakan templat ini untuk mencipta modul kami sendiri.
Sekarang, kita boleh mula menulis kod C++ kita.
Andaikan kita ingin mencipta pemalam yang dipanggil "myaddon" dalam Node.js yang akan mengeluarkan rentetan "Hello, World!". Berikut ialah kod kami:
#include <node.h> using namespace v8; void Method(const FunctionCallbackInfo<Value>& args) { Isolate* isolate = args.GetIsolate(); args.GetReturnValue().Set(String::NewFromUtf8(isolate, "Hello, World!")); } void init(Local<Object> exports) { NODE_SET_METHOD(exports, "hello", Method); } NODE_MODULE(addon, init)
Di sini, kami menggunakan ruang nama v8 dan kelas Isolate yang disediakan oleh Node.js untuk menyepadukan kod C++ kami ke dalam Node.js.
Dalam contoh mudah ini, kami mentakrifkan fungsi yang dipanggil Kaedah yang menerima tika FunctionCallbackInfo sebagai hujahnya dan menggunakan tika itu untuk mengembalikan rentetan yang dijana. Kami juga menggunakan makro NODE_SET_METHOD untuk melampirkan fungsi Kaedah pada sifat objek Node.js. Akhir sekali, kami menggunakan makro NODE_MODULE untuk mengeksport kod kami ke Node.js dan memberikannya pengecam yang dipanggil "tambahan".
Setelah kami menulis kod C++ kami, kami perlu menggunakan fail binding.gyp untuk memberitahu node-gyp cara menyusun kami kod.
Berikut ialah fail binding.gyp yang mudah:
{ "targets": [ { "target_name": "myaddon", "sources": [ "hello.cc" ] } ] }
Di sini, kami mentakrifkan sasaran dengan nama sasaran "myaddon" dan menggunakan fail hello.cc sebagai fail sumber.
Kini kita boleh menggunakan node-gyp untuk menyusun pemalam kami dan kemudian memuatkannya dalam Node.js.
Pertama, susun pemalam kami menggunakan arahan berikut:
node-gyp build
Ini akan menjana direktori yang dipanggil "bina" dalam direktori projek yang mengandungi fail yang kami perlukan. Sekarang, kita boleh memuatkan pemalam dalam Node.js dengan cara ini:
var addon = require('./build/Release/myaddon'); console.log(addon.hello());
Ini akan mengeluarkan rentetan "Hello, World!"
Ringkasan
Dalam artikel ini, kami mempelajari cara mencipta pemalam Node.js menggunakan kod C. Dengan menggunakan node-gyp untuk membina pemalam kami, kami boleh menyepadukan kod C atau C++ dengan mudah ke dalam projek Node.js, dengan itu memanjangkan fungsi Node.js dan menyelesaikan beberapa masalah yang tidak dapat diselesaikan oleh Node.js.
Atas ialah kandungan terperinci Cara membuat pemalam Node.js menggunakan kod C. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!