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

在前端开发中,用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'

})

]


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

你可能感兴趣的:(知识点滴)