PS: Atualize o nó 6.2.1 primeiro. O comando de atualização do nó npm install -gn; n stable.node.js A extensão é uma biblioteca de link dinâmica escrita em c/c ++ e carregada através da função node.js requer () função. É como usar um módulo Node.js comum. Ele fornece principalmente interfaces entre o nó e as bibliotecas C/C ++.
Dessa maneira, se um método ou função for implementado através da extensão do nó, ele se torna bastante complexo, envolvendo o conhecimento de vários módulos e interfaces:
• V8: um javascript.v8 que implementa a implementação através da biblioteca C ++ fornece um mecanismo de criação de objetos, função de retorno de chamada etc. A maioria dos documentos V8API está no arquivo de cabeçalho V8.H. Clique no meu documento online V8
• Libuv: uma biblioteca para loops de eventos que implementa threads de trabalhador node.js e comportamento assíncrono. Ele também atua como uma biblioteca abstrata de plataforma cruzada que pode simplesmente ter acesso semelhante a POSIX a todos os principais sistemas operacionais Systems muitas tarefas comuns, como interação com sistemas de arquivos, soquetes, temporizadores e eventos do sistema. O Libuv também fornece um fio abstrato do tipo pthreads que pode ser usado para assíncronos mais complexos. A extensão C/C ++ do Node.js precisa ir além do loop de eventos padrão. O autor do plug-in incentiva o pensamento de como evitar bloquear loops de eventos de E/S e completar trabalho com uso intensivo de tarefas por meio de operações do sistema não bloqueador da Libuv, tópicos de trabalhadores e threads definidos pelo usuário.
• Biblioteca embutida Node.js: Node.js O próprio usa um grande número de APIs de extensão C/C ++. A classe mais importante para o nó de extensão C/C ++: ObjectWrap
• As inúmeras bibliotecas de links estáticas do Node.js, como as outras bibliotecas do OpenSSL: Node.js estão no diretório DEPS sob sua árvore de diretório de origem. Para detalhes, consulte as próprias dependências do Node.JS para obter informações adicionais. Clique no meu exemplo oficial de biblioteca de extensão Node.js, que pode ser o ponto de partida para você escrever uma biblioteca de extensão C/C ++ para Node.js. Somente classes V8 e OpenSSL são frequentemente usadas com frequência nas extensões de nó C/C ++.
Nó C/C ++ Extensão Primeira bomba - Última exemplo, olá Hello World
Este exemplo se aplica ao número da versão Node.js v5.0 ou acima.
// hello.jSconst addon = requer ('./ build/release/addon'); console.log (addon.hello ()); // 'World' // hello.cc#inclua <node.h> #include <V8.H> DemoS da área de nome {usando v8 :: functionCallbackInfo; usando v8 :: isolate; usa v8 :: local; uso v8 :: objeto; usando v8 :: string; vin; args.getisolate (); args.getRurnValue (). set (string :: newFromutf8 (isolado, "mundo"));} void init (local <just> exports) {node_set_method (exports, "hello", método);} node_module (addon, init)} // namespace " [{"Target_name": "addon", "fontes": ["hello.cc"]}]}Comando Node-GYP
A cópia do código é a seguinte:
Node-GYP Configurar Build
O exposto acima é o conhecimento relevante da tradução do Node.js Addons (extensão C/C ++) introduzida a você pelo editor. Espero que seja útil para você. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a você a tempo. Muito obrigado pelo seu apoio ao site wulin.com!