语法错误:意外令牌 = 内部 /node_modules/hapi/lib/server.js:107

Jit*_*dra 2 version node.js hapijs

我开始使用 hapijs 并用它设置了一个新的练习项目以进行更深入的研究。我成功设置了一次,它工作正常,但在运行 node server.js 时突然开始抛出错误,如下所示。

/Library/WebServer/Documents/hello_hapi/node_modules/hapi/lib/server.js:107
    decorate(type, property, method, options = {}) {
                                             ^

SyntaxError: Unexpected token =
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:373:25)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (/Library/WebServer/Documents/hello_hapi/node_modules/hapi/lib/index.js:5:16)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
Run Code Online (Sandbox Code Playgroud)

Jit*_*dra 5

您可以按照以下解决方案之一解决此问题。

解决方案 1。由于 Hapi 版本 17.x 仅支持节点 v8.9.0 及更高版本。因此,如果您正在使用 Hapi 17.x 并且您不想降级 hapijs 版本,那么您必须使用 v8.9.0 以上的节点版本。您可以在 NVM(节点版本管理器)的帮助下更改节点版本。

第 1 步:要安装 nvm,您需要运行以下命令

npm install nvm
Run Code Online (Sandbox Code Playgroud)

步骤 2:现在安装 nvm 后,您可以在系统上管理多个版本的 node js,您可以使用单个命令切换到特定版本。您可以使用以下命令安装特定版本的 node js。

nvm install v8.9.1
Run Code Online (Sandbox Code Playgroud)

第 3 步:最后,您现在可以使用命令列出节点版本nvm ls并继续运行您需要运行的特定节点版本nvm use v8.9.1

切换节点版本v8.9.0以上就不会出现这个错误了。

解决方案2。如果您不想升级节点版本,则必须降级 hapijs 版本。您可以使用以下命令执行此操作。

npm install hapi@16.0.0
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

1602 次

最近记录:

5 年,8 月 前