阅读 6041

webpack配置historyApiFallback的坑

Error in event handler for (unknown): TypeError: Cannot read property 'join' of undefined

博主在使用webpack做spa(单页面应用)的时候出现了404错误,原因很简单是因为刷新页面时访问的资源在服务端找不到,因为vue-router设置的路径不是真实存在的路径。

于是我就看webpack的官网,在devServer里面有个historyApiFallback的属性,是用于如果找不到界面就返回默认首页,我一看这就是我要的东西,兴奋的设置上了。发现他不管用,原因是他默认的就是主目录的index.html,你自己设置的index没有用

可我就不想把index放到首页怎么办?接着看官方文档我发现了historyApiFallback可以写匹配规则

historyApiFallback: {
			rewrites: [{
				from: /.*/g,
				to: '/page/index.html'
			}]
		},
复制代码

上面是设置了无论是啥都匹配我自己设置的首页

这里面有一个细节需要注意就是to里面的参数是不能加点的,刚开始我加了点没有作用,一度怀疑我学的正则有问题


参考文章:

historyApiFallback官方文档

对于404解释的文章