我使用 pkg 发布了使用 node-native-printer 模块的节点应用程序的可执行版本。
作为运行 node-native-printer 的先决条件,您需要安装 edge-js 包。
要遵循此处的表格,使用 pkg 我能够创建 app.exe 而没有任何错误或警告。
当我运行 app.exe 时问题很棘手,它失败并显示以下错误消息:
pkg/prelude/bootstrap.js:1185 抛出错误;^
错误:模块没有自注册。在 Object.Module._extensions..node (internal/modules/cjs/loader.js:728:18) 在 Module.load (internal/modules/cjs/loader.js:598:32) 在 tryModuleLoad (internal/modules/ cjs/loader.js:537:12) 在 Function.Module._load (internal/modules/cjs/loader.js:529:3) 在 Module.require (internal/modules/cjs/loader.js:635:17)在 Module.require (pkg/prelude/bootstrap.js:1166:31) 在对象的 require (internal/modules/cjs/helpers.js:22:18)。(C:\snapshot\edge-js-native-printer\node_modules\edge-js\lib\
enter code here
edge.js:104:8) 在 Module._compile (pkg/prelude/bootstrap.js:1261:22) 在 Object .Module._extensions..js (internal/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'
}
有人遇到这个问题吗?任何解决它的想法将不胜感激。
此致