Windows+WSL环境启动React服务报错:无法找到index.html模块
React项目启动Webpack找不到public/index.html的解决办法
问题根因
从报错信息里的路径能看到路径中存在多余空格(比如C:\Users\Demian Sims\projects\ocr-web\ public\index.html里的空格),结合你用WSL2+Git Bash的混合环境,大概率是Windows路径与WSL路径转换冲突,或是Git Bash的路径解析逻辑异常导致的。
具体解决步骤
用WSL原生终端+WSL路径启动项目
放弃Windows格式的C:\路径,切换到WSL对应的Linux风格路径,比如:# 注意带空格的目录要转义或用引号包裹 cd /mnt/c/Users/Demian\ Sims/projects/ocr-web # 或者 cd "/mnt/c/Users/Demian Sims/projects/ocr-web" yarn start直接用WSL自带的终端(比如Ubuntu终端)执行,不要用Git Bash,避免路径转换问题。
修正Webpack配置的路径写法
虽然同事的配置正常,但你的环境可能对绝对路径更敏感,检查webpack.config.ts里的HtmlWebpackPlugin配置,改用项目根目录的相对路径:new HtmlWebpackPlugin({ template: './public/index.html', // 用相对路径,不要写死Windows绝对路径 filename: 'index.html', // 其他配置项... })禁用Git Bash的路径转换(如果非要用Git Bash)
在Git Bash里执行启动命令前,先设置环境变量禁用自动路径转换:export MSYS_NO_PATHCONV=1 yarn start要是想永久生效,把这条命令加到Git Bash的
~/.bashrc文件末尾。检查文件大小写与存在性
WSL是区分大小写的,Windows不区分,确认public目录下确实存在index.html(不是Index.html或其他大小写变体),且文件没有被误删。彻底清理缓存后重装依赖
除了删node_modules,还要清理Webpack缓存、yarn.lock:rm -rf node_modules .yarn.lock .webpack-cache dist yarn install yarn start
内容的提问来源于stack exchange,提问作者Demian Sims
相关产品推荐
相关产品推荐

