Я использовал pkg для доставки исполняемой версии моего приложения узла, в котором используется модуль node-native-printer.
В качестве предварительного условия для запуска node-native-printer вам необходимо установить пакет edge-js.
Чтобы заполнить форму здесь, используя pkg, я смог создать app.exe без каких-либо ошибок или предупреждений.
Проблема, возникающая при запуске app.exe, завершается с ошибкой, приведенной ниже.msg:
pkg / prelude / bootstrap.js: ошибка 1185 выброса;^
Ошибка: модуль не зарегистрировался самостоятельно.в Object.Module._extensions..node (внутренний / modules / cjs / loader.js: 728: 18) в Module.load (внутренний / modules / cjs / loader.js: 598: 32) в tryModuleLoad (внутренний / modules /cjs / loader.js: 537: 12) в Function.Module._load (внутренний / modules / cjs / loader.js: 529: 3) в Module.require (внутренний / modules / cjs / loader.js: 635: 17)в Module.require (pkg / prelude / bootstrap.js: 1166: 31) по требованию (internal / modules / cjs / helpers.js: 22: 18) в Object.(C: \ snapshot \ edge-js-native-printer \ node_modules \ edge-js \ lib \ e enter
code here
dge.js: 104: 8) в файле Module._compile (pkg / prelude / bootstrap.js: 1261: 22) в Object.Module._extensions..js (внутренняя / modules / cjs / loader.js: 710: 10)
После нескольких часов отладки я обнаружил, что pkg во время выполнения не может требовать edge_nativeclr.node находится по адресу C:\snapshot\edge-js-native-printer\node_modules\edge-js\lib\native\win32\x64\10.14.0\edge_nativeclr
здесь, под кодом от edge.js:
process.env.EDGE_NATIVE = edgeNative
edge = require(edgeNative) /* pkg fails to require C:\snapshot\edge-js-native-printer\node_modules\edge-js\lib\native\win32\x64\10.14.0\edge_nativeclr */
exports.func = function(language, options) {
if (!options) {
options = language
language = 'cs'
}
кто-нибудь сталкивался с этой проблемой?Любая идея, чтобы решить это будет оценено.
С уважением