我开始与hapijs合作并为它设置一个新的练习项目以进行更深层次的潜水。我成功设置了一次并且它工作正常但突然在运行节点server.js时开始抛出错误,如下所示。
org.eclipse.e4.ui.internal.workbench.XMLModelReconciler;
org.eclipse.e4.ui.internal.workbench.ModelReconcilingService;
org.eclipse.e4.ui.workbench.modeling.IModelReconcilingService;
org.eclipse.e4.ui.workbench.modeling.ModelDelta;
org.eclipse.e4.ui.workbench.modeling.ModelReconciler;
答案 0 :(得分:1)
您可以通过以下解决方案解决此问题。
解决方案1 。由于Hapi版本17.x仅支持节点v8.9.0及更高版本。因此,如果您正在使用Hapi 17.x并且您不想降级hapijs版本,那么您必须使用高于v8.9.0的节点版本。您可以在NVM(节点版本管理器)的帮助下更改节点版本。
步骤1:要安装nvm,您需要运行以下命令
/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)
步骤2:现在安装nvm后,您可以在系统上管理多个版本的节点js,并且可以使用单个命令切换到特定版本。您可以使用以下命令安装特定版本的节点js。
npm install nvm
步骤3:最后,您现在可以使用命令nvm install v8.9.1
列出节点版本,并继续运行您需要运行的特定节点版本nvm ls
将节点版本切换到v8.9.0以上后,将不会发生此错误。
解决方案2 。如果您不想升级节点版本,则必须降级您的hapijs版本。您可以使用以下命令执行此操作。
nvm use v8.9.1
答案 1 :(得分:1)
对于任何在2020年面临此问题的人:
如果要使用hapi 19,则需要使用节点12。请注意,hapi 19是最近发布的,并非所有教程都非常适合。如果您想学习hapi,我建议您坚持使用hapi 18,直到准备好所有教材为止,因为这样便于您继续学习。