Uso nw.js y al intentar conectar el módulo canvas (node-canvas), aparece este error. Instalar una versión diferente de node/canvas no ayudó. El error aparece cuando require('canvas') Imagen de error: Error
Uncaught Error: A dynamic link library (DLL) initialization routine failed. \\?\N:\BOTSer\Protocol\node_modules\canvas\build\Release\canvas.node at Object.Module._extensions..node (node:internal/modules/cjs/loader:1224:18) at Module.load (node:internal/modules/cjs/loader:999:32) at Function.Module._load (node:internal/modules/cjs/loader:846:12) at Module.require (node:internal/modules/cjs/loader:1023:19) at require (node:internal/modules/cjs/helpers:97:18) at Object.<anonymous> (N:\BOTSer\Protocol\node_modules\canvas\lib\bindings.js:3:18) at Module._compile (node:internal/modules/cjs/loader:1121:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1179:10) at Module.load (node:internal/modules/cjs/loader:999:32) at Function.Module._load (node:internal/modules/cjs/loader:846:12) ```Ese módulo requiere una compilación nativa que sea compatible con su instalación global de Node.js. Si la versión de Node en NW.js no coincide con su instalación global, entonces el binario construido no funcionará con él. Las cosas siempre funcionan mejor cuando cambia su versión de instalación global de Node.js para que coincida con lo que está integrado en NW.js. Puede usar nvm-windows o nvm para controlar su versión de nodo global, solo asegúrese de desinstalar Node.js primero antes de usar un administrador de versiones de nodo para que no tenga dos instalaciones globales en conflicto. Puede comprobar la versión de Node.js en NW.js ejecutando console.log(process.version); .
Si mi suposición es correcta entonces:
node_modules y package-lock.jsonnpm install en su proyecto e intente ejecutarlo nuevamente Aunque estoy muy confundido en cuanto a por qué estaría usando el módulo de canvas nativo con NW.js. ¿Por qué está empaquetando un navegador completo con su aplicación que tiene un lienzo incorporado y luego incorporando una segunda herramienta y usándola en su lugar? Simplemente use el lienzo del navegador.