He estado mirando este error durante mucho tiempo y simplemente no puedo entenderlo.
Aquí está el código:
class Instance { static { } } module.exports = Instance;Eso es todo lo que hay. La clase estaba llena de cosas, pero las borré todas porque son irrelevantes. Está dando el mismo error con o sin ellos.
El error:
static { ^ SyntaxError: Unexpected token '{' at Object.compileFunction (node:vm:352:18) at wrapSafe (node:internal/modules/cjs/loader:1031:15) at Module._compile (node:internal/modules/cjs/loader:1065:27) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10) at Module.load (node:internal/modules/cjs/loader:981:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) at Module.require (node:internal/modules/cjs/loader:1005:19) at require (node:internal/modules/cjs/helpers:94:18) at Object.<anonymous> (path\to\project\index.js:1:18) at Module._compile (node:internal/modules/cjs/loader:1101:14)He usado constructores estáticos en el pasado y probar el mismo código en otro lugar parece funcionar, así que no entiendo cuál es el problema aquí. Por favor, ayúdame.
SOLUCIÓN : Nodo actualizado a 16.13.1 y ahora funciona. 16.7.0 no fue suficiente.
Es compatible con Node 17.3.0. Es una característica de ES2022. Este https://node.green/#ES2022 es un buen enlace para encontrar la compatibilidad de funciones ES en Nodejs. Deberá descargar la versión actual de Nodejs, que es 17.3.0. 