У меня есть приложение nodejs, использующее надстройку C ++ с интенсивными вычислениями, которую я создал с помощью node-gyp.
В моем дополнении у меня есть одноэлементный класс, который, по сути, представляет собой некоторый контейнер статических данных, инициализированныйпользователями перед вызовом любой другой функции модуля.
Поэтому, когда приложение используется более чем одним пользователем, каждый экземпляр будет фактически обращаться к одному и тому же C ++ синглтону, что, конечно, ужасно.
Я понимаю, что это вызвано необходимыми инструкциями
var myCppModule = require('./myCppModule');
, которые эффективно ведут себя как одиночка.
Я знаю, как обойти проблему для модулей nodejs, экспортировав конструктор модуля и вызвав new:
var myNodejsModule = new (require('./myNodejsModule'))();
Но есть ли способ добиться того же с моим узломсгенерированный модуль?Это позволит убедиться, что у каждого пользователя есть свой экземпляр библиотеки и, следовательно, собственный синглтон.