nodejs奇怪的报错cannot use import statement outside a module

测试接口的时候重启了一下后端,发现控制台里打印了一句UnhandledPromiseRejectionWarning 既然是警告,我也没当回事,想着可能是哪里忘了catch了。

再一看stack,跟了syntax error: cannot use import statement outside a module,我知道这个是es6语法,但我是有在最顶层index.js导入esm的,也在package.json里配置了模块根目录。

image.png

然后就发现程序并没有正常打印成功运行的提示。可是我并没有改代码,甚至于我把代码回滚到能够正常运行的版本再运行依旧会有这个问题。似乎是我的环境出问题了?

在网上搜了半天也没有解决问题。刚刚我用npm下了个nvh,还没开始用,代码也没改,突然发现后端又正常运行了,到底是什么情况???完全无法复现。

阅读 7.1k
1 个回答

今天又出现了这个问题,重启IDE之后就好了,怀疑是WebStorm的问题,导致没有正确识别到module的根路径

edit: 这两天又碰到了这个问题,重启也没有用,还是删掉了node_modules再安装后才恢复正常。发生的时机都在debug模式下,原因不明。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题