HarmonyOS鸿蒙Next中启动项目报错这个是什么原因,代码没动过,突然一周后再次启动报错
HarmonyOS鸿蒙Next中启动项目报错这个是什么原因,代码没动过,突然一周后再次启动报错
“D:\DevEco Studio\tools\node\node.exe” “D:\DevEco Studio\tools\hvigor\bin\hvigorw.js” --sync -p product=default --analyze=normal --parallel --incremental --daemon
file:///D:/DevEco%20Studio/tools/hvigor/bin/hvigorw.js:3
var e, t = require(“fs”), t = require(“path”), n = require(“process”), o = require(“crypto”), i = require(“child_process”), a = require(“os”), u = require(“constants”), s = require(“stream”), l = require(“util”), c = require(“assert”), f = require(“tty”), d = require(“url”), p = require(“zlib”), v = require(“net”), h = require(“fs/promises”), y = “undefined” != typeof globalThis ? globalThis : “undefined” != typeof window ? window : “undefined” != typeof global ? global : “undefined” != typeof self ? self : {}, g = {}, m = {}, E = {};
^
ReferenceError: require is not defined in ES module scope, you can use import instead
This file is being treated as an ES module because it has a ‘.js’ file extension and ‘D:\package.json’ contains “type”: “module”. To treat it as a CommonJS script, rename it to use the ‘.cjs’ file extension.
at file:///D:/DevEco%20Studio/tools/hvigor/bin/hvigorw.js:3:12
at ModuleJob.run (node:internal/modules/esm/module_job:195:25)
at async ModuleLoader.import (node:internal/modules/esm/loader:337:24)
at async loadESM (node:internal/process/esm_loader:34:7)
at async handleMainPromise (node:internal/modules/run_main:106:12)
Node.js v18.20.1
Process finished with exit code 1
更多关于HarmonyOS鸿蒙Next中启动项目报错这个是什么原因,代码没动过,突然一周后再次启动报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html
可能是DevEco Studio版本过老了,可以尝试下换个新版本的DevEco Studio
更多关于HarmonyOS鸿蒙Next中启动项目报错这个是什么原因,代码没动过,突然一周后再次启动报错的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
鸿蒙Next版本兼容性问题
常见原因
- 开发环境SDK版本与项目配置文件不一致
- 系统自动更新后API发生变动
- 项目依赖的元数据缓存过期
排查步骤
- 检查
build-profile.json5
中的compileSdkVersion
是否匹配已安装的SDK版本 - 清理工程目录下的
build
和oh_modules
文件夹 - 更新DevEco Studio至最新版本
这个报错是由于Node.js模块系统冲突导致的。错误信息显示hvigorw.js被当作ES模块处理,但代码中使用了CommonJS的require语法。
关键问题点:
- 你的项目或全局package.json中设置了"type": “module”,强制使用ES模块
- hvigorw.js使用的是CommonJS规范(require语法)
- Node.js v18.20.1严格执行了模块类型检查
解决方案:
- 临时方案:删除项目中的package.json或移除其中的"type": "module"配置
- 永久方案:升级DevEco Studio到最新版本,华为可能已修复此兼容性问题
- 回退Node.js版本到16.x(如果允许)
这个错误通常发生在环境配置变更后,即使代码未改动。检查近期是否更新过Node.js或修改过项目配置。