Node cannot compile static initializer block [duplicate] - javascript

I've been looking at this error for a long time and I just cannot wrap my head around it.
Here's the code:
class Instance {
static {
}
}
module.exports = Instance;
That is all there is. The class was full of stuff but I deleted them all because they are irrevelant. It's giving the same error with or without them.
The 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)
I've used static constructors in the past and testing the same code somewhere else seems to work so I dont understand what the issue is here. Please help me.
SOLUTION: Updated Node to 16.13.1 and it now works. 16.7.0 wasnt enough.

It is supported by Node 17.3.0. It is an ES2022 feature. This https://node.green/#ES2022 is a nice link to find ES feature compatibility in Nodejs. You will have to download the current version of Nodejs which is 17.3.0.

Related

I received this code error each time I tried to sart may project on vscode using parcel : 'ERR_DLOPEN_FAILED'

I'm new to parcel and I'm following a tutorial I downloaded parcel last version is not working I tried the version the instructor using but the same thing happened the
the output in the terminal is
Error: The specified module could not be found.
\\?\\D:\\Downloads\\starter\\node_modules#parcel\\source-map\\parcel_sourcemap_node\\artifacts\\index.win32-x64-msvc.node
at Module.\_extensions..node (node:internal/modules/cjs/loader:1243:18)
at Module.load (node:internal/modules/cjs/loader:1037:32)
at Module.\_load (node:internal/modules/cjs/loader:878:12)
at Module.require (node:internal/modules/cjs/loader:1061:19)
at require (D:\\Downloads\\starter\\node_modules\\v8-compile-cache\\v8-compile-cache.js:159:20)
at Object.\<anonymous\> (D:\\Downloads\\starter\\node_modules#parcel\\source- map\\parcel_sourcemap_node\\index.js:15:18)
at Module.\_compile (D:\\Downloads\\starter\\node_modules\\v8-compile-cache\\v8-compile-cache.js:192:30)
at Module.\_extensions..js (node:internal/modules/cjs/loader:1213:10)
at Module.load (node:internal/modules/cjs/loader:1037:32)
at Module.\_load (node:internal/modules/cjs/loader:878:12) {
code: 'ERR_DLOPEN_FAILED'
}
ive had the same error before,
i removed my node_modules package and then ran again, this worked for me

I get throw new ERR_SERVER_ALREADY_LISTEN(); when I try to run my program with node.js. Am I closing it wrong?

recently I have been using node.js to code something that creates a server on localhost, and when I'm done running it with node, I press control+C to stop it. Then I made some modifications, attempted to run it again, and I get this:
net.js:1399
throw new ERR_SERVER_ALREADY_LISTEN();
^
Error [ERR_SERVER_ALREADY_LISTEN]: Listen method has been called more than once without closing.
at Server.listen (net.js:1399:11)
at Object.<anonymous> (C:\Users\mmein\OneDrive\Desktop\pywork\socketthing.js:16:12)
at Module._compile (internal/modules/cjs/loader.js:1138:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1158:10)
at Module.load (internal/modules/cjs/loader.js:986:32)
at Function.Module._load (internal/modules/cjs/loader.js:879:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
at internal/main/run_main_module.js:17:47 {
code: 'ERR_SERVER_ALREADY_LISTEN'
}
Did I close my program wrong and its still running in the background? If so, how do I close it?
Thanks in advance if you help.

"SyntaxError: Unexpected Token" when running

A Photo Of The Code
I do not understand why it is not running, I keep receiving this error
});
^
SyntaxError: Unexpected token }
at new Script (vm.js:51:7)
at createScript (vm.js:138:10)
at Object.runInThisContext (vm.js:199:10)
at Module._compile (module.js:624:28)
at Object.Module._extensions..js (module.js:671:10)
at Module.load (module.js:573:32)
at tryModuleLoad (module.js:513:12)
at Function.Module._load (module.js:505:3)
at Function.Module.runMain (module.js:701:10)
at startup (bootstrap_node.js:193:16)
Even if you didn't respect the "don't post images" rule, I'll try giving you an answer.
I see in the image that at line 30 you have an else that is not closed, and the next character is a }, so it may be that causing the problem. You should write else {} in order to make the code run.
To avoid this kind of silly errors, try using something like ESLint: I see you're using Atom Editor, there's an atom package for that (link)

libsass bindings not found. Try reinstalling node-sass?

Im trying to create an offline app following this tutorial here:
http://rafaelquintanilha.com/offline-app-with-meteor-and-cordova/
But whenever I get to the:
meteor run android-device
I get an error:
=> Started proxy.
=> Started MongoDB.
=> Errors prevented startup:
While loading plugin compileScss from package fourseven:scss:
/home/bryam/.meteor/packages/fourseven_scss/.2.1.1.1l0pytj++os.linux.x86_64+web.browser+web.cordova/plugin.compileScss.os.linux.x86_64/npm/node_modules/meteor/compileScss/compileScss/node_modules/node-sass/lib/index.js:22:11:
libsass bindings not found. Try reinstalling node-sass? at
getBinding
(/home/bryam/.meteor/packages/fourseven_scss/.2.1.1.1l0pytj++os.linux.x86_64+web.browser+web.cordova/plugin.compileScss.os.linux.x86_64/npm/node_modules/meteor/compileScss/compileScss/node_modules/node-sass/lib/index.js:22:11)
at Object.
(/home/bryam/.meteor/packages/fourseven_scss/.2.1.1.1l0pytj++os.linux.x86_64+web.browser+web.cordova/plugin.compileScss.os.linux.x86_64/npm/node_modules/meteor/compileScss/compileScss/node_modules/node-sass/lib/index.js:188:23)
at Module._compile (module.js:409:26) at
Object.Module._extensions..js (module.js:416:10) at Module.load
(module.js:343:32) at Module.Mp.load
(/home/bryam/.meteor/packages/meteor-tool/.1.4.0-1.13j49n2++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/reify/node/runtime.js:16:23)
at Function.Module._load (module.js:300:12) at Module.require
(module.js:353:17) at require (internal/module.js:12:17) at
Object. (/tools/isobuild/bundler.js:1565:22) at
Object.require (/tools/isobuild/bundler.js:1542:11) at
packages/compileScss/plugin/compile-scss.js:2:1 at
:151:4 at :158:3
=> Your application has errors. Waiting for file change.
I have tried everything that I found on google and I still keep getting the same error, somebody know how to fix this?

Possible issue with multer? Error: Router.use() requires callback

Building a site with yeoman angular-fullstack works great locally, but when I deploy and use the dist/release version it gives me this fun error on my server.
Error: Router.use() requires callback functions but got a [object Object]
at Function.proto.use (/home/bitnami/htdocs/dist/node_modules/express/lib/router/index.js:327:11)
at Object.<anonymous> (/home/bitnami/htdocs/dist/server/api/save/index.js:10:8)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Function.<anonymous> (/opt/bitnami/nodejs/lib/node_modules/pm2/node_modules/pmx/lib/transaction.js:62:21)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at module.exports (/home/bitnami/htdocs/dist/server/routes.js:13:25)
It seams that it's failing on this line
router.use(multer({ dest: './public/uploads/'}));
Though it works locally completely fine? Has me a bit stumped.
Wonder if its related to multer? I have the node module installed.
Thoughts?
Recent versions of multer changed the API. If you look at the examples, you will see you now have to do something like:
var upload = multer({ dest: './public/uploads/'});
// ...
router.use(upload.single('foofield'));
Or upload.array() or upload.fields().

Categories