静态构造函数在 NodeJS 中给出语法错误
Static constructor gives syntax error in NodeJS
我已经研究了这个错误很长时间了,我就是无法理解它。
代码如下:
class Instance {
static {
}
}
module.exports = Instance;
仅此而已。 class 满是东西,但我把它们都删除了,因为它们无关紧要。不管有没有它们,它都会给出同样的错误。
错误:
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)
我过去使用过静态构造函数,在其他地方测试相同的代码似乎有效,所以我不明白这里的问题是什么。请帮助我。
解决方案:将 Node 更新到 16.13.1,现在可以使用了。 16.7.0 还不够。
Node 17.3.0 支持。这是一个 ES2022 特性。这个 https://node.green/#ES2022 是一个很好的 link 来寻找 Nodejs 中的 ES 功能兼容性。您必须下载当前版本的 Nodejs,即 17.3.0。
我已经研究了这个错误很长时间了,我就是无法理解它。
代码如下:
class Instance {
static {
}
}
module.exports = Instance;
仅此而已。 class 满是东西,但我把它们都删除了,因为它们无关紧要。不管有没有它们,它都会给出同样的错误。
错误:
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)
我过去使用过静态构造函数,在其他地方测试相同的代码似乎有效,所以我不明白这里的问题是什么。请帮助我。
解决方案:将 Node 更新到 16.13.1,现在可以使用了。 16.7.0 还不够。
Node 17.3.0 支持。这是一个 ES2022 特性。这个 https://node.green/#ES2022 是一个很好的 link 来寻找 Nodejs 中的 ES 功能兼容性。您必须下载当前版本的 Nodejs,即 17.3.0。