删除Webpack html插件后Vue项目首页返回‘Cannot GET /’求助
问题分析与解决:删除
html插件导致首页Cannot GET / 问题原因
- Vue CLI默认集成的
html插件(基于html-webpack-plugin)负责生成项目的入口HTML文件(如index.html),开发服务器正是通过这个文件作为访问入口。当执行config.plugins.delete('html')删除该插件后,服务器找不到对应的入口HTML,因此访问根路径/时会返回Cannot GET /。 - 仅删除
preload和prefetch插件时,html插件仍在正常工作,能生成所需的入口HTML文件,所以项目可以正常运行。
解决方案
常规场景(保留入口HTML)
不要删除html插件,仅删除preload和prefetch即可。如果需要调整HTML相关配置,可通过修改html插件的参数实现,示例如下:
chainWebpack: config => { config.plugins.delete('preload') config.plugins.delete('prefetch') // 自定义html插件配置示例 config.plugin('html').tap(args => { // 修改页面标题 args[0].title = '我的自定义页面' // 可添加其他配置,比如注入自定义脚本等 return args }) }
特殊场景(无需生成HTML)
若项目为纯静态资源包,无需入口HTML,则需手动配置开发服务器的默认访问资源,或指定其他入口文件,但这种情况不符合常规Vue项目的使用逻辑,需谨慎操作。
内容的提问来源于stack exchange,提问作者Atul Stha
相关产品推荐
相关产品推荐

