Al escribir una extensión C++, ¿qué tal si dejamos que node-gyp busque los archivos de encabezado necesarios?
Node.js es una plataforma poderosa e idealmente todo se puede escribir en javascript. Sin embargo, es posible que todavía esté utilizando muchas bibliotecas y sistemas heredados, en cuyo caso sería una buena idea escribir una extensión Node.JS en c++.
El código fuente de todos los siguientes ejemplos se puede encontrar en los ejemplos de extensión de nodo.
Escribir extensiones de Node.js C++ es muy similar a escribir extensiones de V8; Node.js agrega algunas interfaces, pero la mayoría de las veces utiliza tipos de datos y métodos originales de V8 para comprender el código siguiente. , primero debe leer la Guía de integración del motor V8.
Versión Javascript de Hello World
Antes de explicar la versión C++ del ejemplo, echemos un vistazo a cómo se ve el módulo equivalente escrito en Javascript en Node.js. Este es el Hello World más simple y no se implementa a través de HTTP, pero muestra la estructura de un módulo de nodo y su interfaz es básicamente la misma que la proporcionada por la mayoría de las extensiones de C++:
HelloWorldJs = función () {
this.m_count = 0;
};
HelloWorldJs.prototype.hello = function()
{
this.m_count++;
return "Hola mundo"
};
exports.HelloWorldJs = HelloWorldJs;
Como puedes ver, crea un nuevo método para la clase HelloWorldJs usando prototipo. Tenga en cuenta que el código anterior expone el constructor agregando HelloWorldJS en la variable de exportación.
Para usar este módulo en otro lugar, use el siguiente código:
var helloworld = require('helloworld_js');
var hi = new helloworld .HelloWorldJs( );
var js = nuevo helloworld.HelloWorldJs();
var js = nuevo helloworld.HelloWorldJs();