Vue项目编译报Can't resolve 'async_hooks'错误排查
Vue.js 项目编译警告问题排查
问题表现
编译Vue.js项目时输出3条警告,具体日志如下:
WARNING Compiled with 3 warnings warning in ./node_modules/express/lib/view.js Critical dependency: the request of a dependency is an expression warning in ./node_modules/on-finished/index.js Module not found: Error: Can't resolve 'async_hooks' in '/node_modules/on-finished' warning in ./node_modules/raw-body/index.js Module not found: Error: Can't resolve 'async_hooks' in '/node_modules/raw-body'
已尝试的无效操作
- 移除后重新安装
node_modules依赖目录 - 更新npm至新版本
- 清理构建缓存后重新执行编译
对应环境版本
raw-body: 2.5.1- Node.js: 16.13.1
- npm: 8.13.2
最终解决方案
根因:VS Code代码自动补全时,误在前端业务代码中引入了多余的express相关导入。express是Node.js服务端框架,无法在浏览器端构建环境下正常解析依赖,其依赖链中引用的Node内置模块async_hooks也不会被前端构建工具自动适配,因此触发系列告警。
修复方式:全局搜索项目源码中所有express相关的导入语句,删除所有误引入的无效导入,重新执行编译即可消除全部警告。
内容的提问来源于stack exchange,提问作者kyktyj
相关产品推荐
相关产品推荐

