执行npm run serve启动服务器时遇TypeError错误求助
问题排查与解决
错误信息
serverCodenode_modules/file-system/vendor/util.js:34 [1] target[key] = value; [1] ^ [1] [1] TypeError: Cannot set properties of undefined (setting 'isExternal') [1] at extend (serverCode/node_modules/file-system/vendor/util.js:34:19) [1] at extend (serverCode/node_modules/file-system/vendor/util.js:32:7) [1] at Object. (serverCode/node_modules/file-system/vendor/util.js:41:1) [1] at Module._compile (node:internal/modules/cjs/loader:1256:14) [1] at Module._extensions..js (node:internal/modules/cjs/loader:1310:10) [1] at Module.load (node:internal/modules/cjs/loader:1119:32) [1] at Module._load (node:internal/modules/cjs/loader:960:12) [1] at Module.require (node:internal/modules/cjs/loader:1143:19) [1] at require (node:internal/modules/cjs/helpers:110:18) [1] at Object. (serverCode/node_modules/file-system/index.js:6:12)
解决步骤
- 检查Node.js版本兼容性:
file-system是已废弃的老旧包,和Node.js 16+版本可能存在兼容性问题。查看项目文档指定的Node版本,用nvm切换到对应版本后重新启动。 - 替换废弃依赖包:
file-system已被官方废弃,建议直接替换为Node.js内置的fs模块,或者使用维护活跃的fs-extra包:- 卸载旧包:
npm uninstall file-system - 安装替代包:
npm install fs-extra - 全局替换项目中
require('file-system')为require('fs-extra')或require('fs')
- 卸载旧包:
- 清理依赖重新安装:删除项目根目录下的
node_modules文件夹和package-lock.json文件,执行npm install重新安装所有依赖,修复可能的依赖损坏问题。 - 临时修复util.js代码:如果暂时无法替换依赖,可修改
serverCode/node_modules/file-system/vendor/util.js中的extend函数,在函数开头添加target = target || {};,避免target为undefined时赋值报错。
内容的提问来源于stack exchange,提问作者Rajesh Kumar
相关产品推荐
相关产品推荐

