ERROR in The “path“ argument must be of type string. Received undefined

前端开发中,Webpack打包有时会报错。常见解决方案是换Node.js或Webpack版本,但未找到根本原因。经分析,报错根本原因是缺少publicPath项,系统路径由publicPath和path组成,缺少前者会误报‘path’未定义,添加并赋值可解决,还可检查HtmlWebpackPlugin配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在前端开发中,用webpack打包时,有时候会遇到如题这个错误。比如我机器上的某个工程,以下的webpack的配置:
output: {
path: ‘./ghpages’,
filename: ‘bundle.js’
}
就遇到这个问题。目前看到的解决方案是换版本,有的换nodejs的版本,有的换webpack的版本。某些版本不需要读某个path值,因此也可以解决问题,但换版本是没有找到根本原因,就跟系统出问题就重装是一个道理。
经过分析,出现这个问题的根本原因,是没有publicPath:这一项导致的,而不是因为path,明明path就有值,而且是字符串,还报这个莫名其妙的错误。因为系统最后的路径,是path = publicPath + path
如果缺少publicPath,那么最终结果显示是undefined,并且说是"path"未定义,而形成误报。如下修改,加上publicPath,给其赋值解决问题。
output: {
path: ‘./ghpages’,
filename: ‘bundle.js’,
publicPath: ‘./’
}
补充,看看配置里有没有HtmlWebpackPlugin,有种办法是:如果没有filename这一项,加上即可:
plugins: [

new HtmlWebpackPlugin({

title: 'use plugin',

filename: 'index.html'

})

]


只总结中文网站搜索不到的重要问题

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值