运行Node.js项目时出现No "exports" main resolved错误如何解决
问题原因
报错类型为MODULE_NOT_FOUND,触发原因是node:fs/promises模块引入失败:当前你本地使用的Node.js版本过低,node:前缀的核心模块引入语法仅在 Node.js v14.18.0、v16.0.0 及以上版本原生支持,低于该版本的Node.js无法识别该写法。
修复方案
- 方案1:升级Node.js版本(推荐)
卸载本地旧版Node.js,安装v18.x或v20.x的LTS版本,升级完成后执行如下命令验证版本:
确认版本符合要求后,删除项目目录下的node -v npm -vnode_modules文件夹、package-lock.json或yarn.lock锁文件,重新执行依赖安装和启动命令:npm install npm start - 方案2:兼容旧版Node.js
若暂时无法升级Node.js版本,可将项目代码中所有node:fs/promises的引入写法替换为无node:前缀的兼容写法:
调整完成后重新执行// CommonJS规范替换示例 // 替换前 const fs = require('node:fs/promises') // 替换后 const fs = require('fs').promises // ES Module规范替换示例 // 替换前 import * as fs from 'node:fs/promises' // 替换后 import { promises as fs } from 'fs'npm start即可正常启动项目。
内容的提问来源于stack exchange,提问作者Kindth
相关产品推荐
相关产品推荐

