Описание тега node.js-addon

Нативные надстройки C++ для node.js
1 ответ

Как проверить, является ли объект экземпляром конструктора в Nan 2?

У Nan 1.x была функция NanHasInstance(Persistent<FunctionTemplate>&, Handle<Value>) проверить, является ли объект экземпляром конструктора. Тем не менее, эта функция была удалена в Nan 2.0, и нет очевидной замены. Нан все еще предост…
16 сен '15 в 18:44
0 ответов

Регистрация встроенных модулей при встраивании Node.js?

В настоящее время я встраиваю Node.js в приложение C++. У меня возникают проблемы при регистрации пользовательского модуля как встроенного для Node.js. Следующий код - это то, что я пробовал (код модуля скопирован из официальных документов). #includ…
28 мар '17 в 03:42
1 ответ

Почему мой NAN_METHOD не распознается?

Я получаю следующую ошибку при попытке запустить собственное расширение Node (оно собирается без ошибок). Я хотел бы знать, почему я получаю эту ошибку, так как я делаю все правильно, насколько я могу судить. ./NodeTest/nodeTest.js:7 tester.Startup(…
17 апр '18 в 20:29
1 ответ

Использовать функцию libuv в node.js 0.12.x

Я написал аддон C++ для node.js, и я могу успешно выполнить его в файле node.js 0.10.x. Но при переносе его на 0.12.x произошел сбой при нескольких ошибках, таких как error C2065: “uv_work_t”:undeclared identifier. Интересно, могу ли я потрогать api…
09 май '15 в 14:32
1 ответ

Понимание Node Addon API (N-API) HandleScope

У меня есть трудности, чтобы понять, как правильно использовать HandleScope и EscapableHandleScope. Например, из этого примера узла: MyObject::MyObject(const Napi::CallbackInfo& info) : Napi::ObjectWrap<MyObject>(info) { Napi::Env env = in…
14 янв '19 в 19:01
1 ответ

nodejs v8 сборка мусора при вызове нативного аддона

Я разрабатываю электронное приложение с нативным аддоном для Mac, и рабочий процесс всех компонентов выглядит следующим образом: js in Electron -> Call addon.node(C++ native addon) -> Вызов dylib с использованием dlopen и dlsym. аддон получает строк…
1 ответ

Узел NAN: получение заданной ошибки при вызове GetFromPersistent в методе Execute AsyncWorker

Я создаю собственное расширение для узла, которое включает в себя длительную операцию с обратным вызовом по завершении. Я передаю буфер узла на вызов. Он содержит полезную нагрузку того, что должно обрабатываться расширением. Я должен иметь возможно…
0 ответов

Как использовать AsyncContext узла-аддона-API в асинхронном режиме

Документы для AsyncContext есть этот пример (только слегка измененный, но все еще работающий), который работает синхронно: #include "napi.h" void MakeCallbackWithAsyncContext(const Napi::CallbackInfo& info) { Napi::Function callback = info[0].As…
1 ответ

Используя NAN, как я могу вызвать Javascript из функции C++, которая не является NAN_METHOD?

Я делаю родную надстройку C++ с использованием NAN. Мой файл AddOn.cc содержит метод NAN Update(), который вызывается из Javascript. Затем Update() вызывает библиотеку зависимостей C++, которая, в свою очередь, вызывает мою функцию NON-NAN в Addon.c…
11 янв '18 в 21:07
1 ответ

V8 Многопоточная функция

Я пишу плагин Node, и у меня возникают проблемы при попытке вызвать объект функции V8 из рабочего потока C++. Мой плагин в основном запускает C++ std::thread и входит в цикл ожидания с помощью WaitForSingleOject(), который запускается другим приложе…
03 июл '15 в 12:58
1 ответ

Как вернуть новый объект, созданный в собственном коде узла через асинхронный обратный вызов?

Я пытаюсь создать аддон узла, который делает что-то вроде этого: // js addon.makeObject((err, obj) => { if (err) { /* handle error */ } console.log('New object ID=%d', obj.getID()); : }); makeObject() это своего рода "фабрика асинхронных объектов…
23 мар '18 в 23:46
2 ответа

Проверка instanceof в аддонах node.js с использованием Nan

Я пытаюсь проверить, что объект, переданный аддону узла, имеет правильный тип, прежде чем развернуть его и начать его использовать. Вот решение, которое я собрал вместе, просматривая различные источники в Интернете. Постоянные данные: Nan::Persisten…
16 дек '17 в 18:39
0 ответов

Как использовать сложные типы данных v8 в асинхронном рабочем классе модуля нативного узла?

Я пытаюсь сделать методы моего модуля узла асинхронными. Я создал класс AsyncWorker, но наткнулся на несколько вещей:/ Мой Nan::AsyncWorker выглядит следующим образом... class PackerWorker : public Nan::AsyncWorker { public: PackerWorker(Nan::Callba…
1 ответ

Невозможно загрузить нодальные нодоны Node с помощью веб-пакета

Хотя я использую vue-cli в примере кода для создания конфигурации веб-пакета ничего не характерно для vue. Я создаю пример приложения следующим образом: vue init webpack webpack_modules_example Сформирован webpack.base.conf: 'use strict' const path …
1 ответ

Есть ли способ для собственных пакетов npm зависеть от конкретной версии API C++ V8?

Сегодня я обнаружил, что старые версии node-fiber и bcrypt, которые успешно компилируются на узле 0.10.40, не компилируются успешно на узле 5.1.0. Например, если я пытаюсь скомпилировать bcrypt 0.7.8, я получаю ошибки, которые обязательно должны быт…
04 дек '15 в 23:43
1 ответ

Nodejs Addon - передача строки регулярного выражения в C++

Я пытаюсь выяснить, как создать регулярное выражение в C++. Я хочу превратить строку, переданную из JavaScript в C++, в регулярное выражение. У меня есть это: std::regex re; if (!args[1]->IsString()) { Nan::ThrowTypeError("Second argument to 'rep…
03 янв '17 в 02:24
0 ответов

Как передать указатель объекта C++ обратно при создании дополнения к узлу

Я делаю дополнение Node, чтобы выставить некоторые функции из libmpg123 в Javascript. В частности, мне нужно как-то передать указатель на out123_handle Объект для JavaScript, который производится из out123_new. В примерах нигде не упоминается переда…
01 сен '16 в 15:11
1 ответ

Хранение конструктора JavaScript для последующего использования

Я пишу библиотеку node.js (0.12), состоящую из 50% чистых классов JavaScript и 50% чистых классов C++. Определенные функции в классах C++ должны возвращать экземпляры классов JavaScript. Я полагаю, что мне нужно хранить конструкторы классов JavaScri…
04 авг '15 в 20:11
0 ответов

Node.js аддон N-API - как зашифровать / проанализировать JSON?

Я пишу аддон для Node.js, использующий N-API (интерфейс C, не путать с оболочкой C++ node-addon-api вокруг N-API), который получает данные в формате JSON из внешнего источника и должен выполнить функцию обратного вызова JS в своей форме объекта. Тем…
06 сен '18 в 00:41
1 ответ

node.js C++ addon - боится утечки памяти

Прежде всего, я признаю, что я новичок в C++ аддонах для node.js. Я пишу свой первый аддон, и я достиг хорошего результата: аддон делает то, что я хочу. Я скопировал различные примеры, найденные в Интернете, для обмена сложными данными между двумя я…
23 мар '17 в 20:40