You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Node.js 20及Webpack相关依赖后出现TypeError: Cannot read properties of undefined (reading 'join')错误求助

升级Node.js 20及Webpack相关依赖后出现TypeError: Cannot read properties of undefined (reading 'join')错误求助

我正在维护一个遗留的MEAN项目,最近把Node.js升级到了20版本,同时更新了webpack、webpack-command、webpack-cli和node-sass这些包。现在用yarn启动项目的时候遇到了报错,已经折腾好几个小时了,试过更新各种包来适配Node.js 20,但还是卡在这儿,真心希望有人能帮忙解决这个问题!

相关信息说明

  • 原问题中包含我的package.json配置截图
  • 遇到的核心错误为:TypeError: Cannot read properties of undefined (reading 'join')(原问题中有报错信息截图)

我的Webpack配置文件(内容有截断)

var path = require('path');
var webpack = require('webpack');
const CleanWebpackPlugin = require('clean-webpack-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const CompressionPlugin = require("compression-webpack-plugin");
const OptimizeCssAssetsPlugin = require("optimize-css-assets-webpack-plugin");
const UglifyJsPlugin = require("uglifyjs-webpack-plugin");

// 以下为未完成的配置内容...

一些我梳理的可能排查方向(供参考)

  • 先查依赖兼容性:Node.js 20对部分旧Webpack插件不太友好,比如clean-webpack-plugin如果是老版本,大概率不支持Node.js 20,建议直接升级到它的最新稳定版;另外node-sass已经停止维护了,Node.js 20根本不兼容它,不如直接换成官方推荐的sass(dart-sass)试试
  • 定位报错源头:看看报错的调用栈,找到具体是哪个文件、哪个插件抛出的这个join错误,通常这种问题都是某个路径变量没定义,导致调用path.join的时候参数是undefined
  • 检查Webpack配置里的路径:比如output.path、入口文件路径这些配置项,有没有写错或者用了未定义的变量
  • 调整Webpack版本:如果是最新版Webpack和Node.js 20有冲突,可以试试降级到Webpack 5.80+的稳定版本,这个区间的版本对Node.js 20支持比较成熟

备注:内容来源于stack exchange,提问作者zohaib alvi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 10:49:37