如何重新生成Remix项目build目录以解决资源路由404错误
解决Remix应用资源404及build目录无法重建问题
问题现象
服务器启动成功,但访问路由时大量已移除的CSS、JS、图片资源返回404;删除build目录后重启服务器,build目录未自动重建,反而出现模块\build\index.js缺失错误,页面几乎为空。错误日志如下:
[1] 💿 Rebuilt in 17.5s [1] Remix App Server started at http://localhost:3000 [1] No routes matched location "/build/_assets/inter-IWJQFSCC.css" [1] No routes matched location "/build/_assets/tailwind-TWWQ2DUC.css" [1] GET /build/_assets/inter-IWJQFSCC.css 404 - - 250.955 ms [1] No routes matched location "/images/homebanner1.png" [1] No routes matched location "/images/productsIconAcademy.png" [1] GET /build/_assets/tailwind-TWWQ2DUC.css 404 - - 93.307 ms [1] No routes matched location "/build/entry.client-KPVOLNQD.js" [1] No routes matched location "/build/_shared/chunk-LQ53JVGW.js" [1] No routes matched location "/build/_shared/chunk-VVZ2OONF.js" [1] GET /images/productsIconAcademy.png 404 - - 104.926 ms [1] GET /images/homebanner1.png 404 - - 223.806 ms [1] GET / 200 - - 9622.168 ms [1] GET /build/entry.client-KPVOLNQD.js 404 - - 157.002 ms [1] GET /build/_shared/chunk-LQ53JVGW.js 404 - - 81.498 ms [1] No routes matched location "/build/_shared/chunk-FCC3XGIV.js" [1] No routes matched location "/build/_shared/chunk-P3MTAGQC.js" [1] GET /build/_shared/chunk-VVZ2OONF.js 404 - - 52.430 ms [1] No routes matched location "/build/_shared/chunk-5H7MUHQN.js" [1] No routes matched location "/build/_shared/chunk-4YH5QKA4.js" [1] No routes matched location "/build/_shared/chunk-JN2YKU7I.js" [1] GET /build/_shared/chunk-5H7MUHQN.js 404 - - 164.475 ms [1] No routes matched location "/build/_shared/chunk-A6FEB3ZR.js" [1] No routes matched location "/build/_shared/chunk-Y3DLRQOV.js" [1] GET /build/_shared/chunk-FCC3XGIV.js 404 - - 248.913 ms [1] GET /build/_shared/chunk-P3MTAGQC.js 404 - - 158.872 ms [1] GET /build/_shared/chunk-4YH5QKA4.js 404 - - 128.397 ms [1] GET /build/_shared/chunk-JN2YKU7I.js 404 - - 44.209 ms [1] No routes matched location "/build/_shared/chunk-YCDCR5B6.js" [1] GET /build/_shared/chunk-A6FEB3ZR.js 404 - - 38.639 ms [1] No routes matched location "/build/_shared/chunk-EKMIKQN3.js" [1] (node:8176) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 error listeners added to [Commander]. Use emitter.setMaxListeners() to increase limit [1] (Use `node --trace-warnings ...` to show where the warning was created) [1] GET /build/_shared/chunk-YCDCR5B6.js 404 - - 138.531 ms [1] No routes matched location "/build/_shared/chunk-UK6VKDVF.js" [1] No routes matched location "/build/_shared/chunk-ZU3LXG3W.js" [1] GET /build/_shared/chunk-Y3DLRQOV.js 404 - - 99.970 ms [1] No routes matched location "/build/_shared/chunk-GT5AZVGV.js" [1] No routes matched location "/build/root-YQBWFN2X.js" [1] No routes matched location "/build/_shared/chunk-HDZBUZPC.js" [1] GET /build/_shared/chunk-EKMIKQN3.js 404 - - 136.365 ms [1] GET /build/_shared/chunk-UK6VKDVF.js 404 - - 226.863 ms [1] GET /build/_shared/chunk-ZU3LXG3W.js 404 - - 104.995 ms [1] GET /build/_shared/chunk-GT5AZVGV.js 404 - - 154.139 ms [1] GET /build/root-YQBWFN2X.js 404 - - 160.626 ms [1] No routes matched location "/build/_shared/chunk-D3IE64NU.js" [1] No routes matched location "/build/_shared/chunk-E7WUZPEV.js" [1] No routes matched location "/build/_shared/chunk-F5JUPCFC.js" [1] GET /build/_shared/chunk-HDZBUZPC.js 404 - - 92.188 ms [1] GET /build/_shared/chunk-D3IE64NU.js 404 - - 150.033 ms [1] No routes matched location "/build/_shared/chunk-MQ4IJL2S.js" [1] GET /build/_shared/chunk-F5JUPCFC.js 404 - - 60.755 ms [1] No routes matched location "/build/_shared/chunk-7Q3XY7UI.js" [1] No routes matched location "/build/routes/_hub-ECVEGFI4.js" [1] No routes matched location "/build/_shared/chunk-VDH3D5QX.js" [1] GET /build/_shared/chunk-7Q3XY7UI.js 404 - - 207.429 ms [1] No routes matched location "/build/routes/_hub._index-CVXFV4E5.js" [1] GET /build/_shared/chunk-VDH3D5QX.js 404 - - 45.004 ms [1] No routes matched location "/build/manifest-2B6FDE4F.js" [1] No routes matched location "/images/productsAcademy.png" [1] GET /build/_shared/chunk-E7WUZPEV.js 404 - - 170.042 ms [1] GET /build/_shared/chunk-MQ4IJL2S.js 404 - - 181.242 ms [1] No routes matched location "/images/productsIconJobs.png" [1] GET /build/routes/_hub-ECVEGFI4.js 404 - - 153.915 ms [1] No routes matched location "/images/productsJobs.png" [1] GET /images/productsAcademy.png 404 - - 44.436 ms [1] GET /build/routes/_hub._index-CVXFV4E5.js 404 - - 55.133 ms [1] No routes matched location "/images/productsIconDirectory.png" [1] No routes matched location "/images/productsDirectory.png" [1] GET /images/productsIconJobs.png 404 - - 303.615 ms [1] GET /build/manifest-2B6FDE4F.js 404 - - 146.677 ms [1] No routes matched location "/images/productsIconNaaS.png" [1] No routes matched location "/images/productsNaaS.png" [1] GET /images/productsJobs.png 404 - - 172.249 ms [1] GET /images/productsIconDirectory.png 404 - - 165.323 ms [1] No routes matched location "/build/_assets/image%207-DJRB6VXT.png" [1] GET /images/productsDirectory.png 404 - - 165.177 ms [1] No routes matched location "/build/_assets/image%2041-46I5YVJX.png" [1] No routes matched location "/build/_assets/image%2036-JJWRBVPR.png" [1] GET /images/productsNaaS.png 404 - - 72.335 ms [1] GET /images/productsIconNaaS.png 404 - - 178.853 ms [1] No routes matched location "/build/_assets/image%2035-N45T7ZJ3.png" [1] No routes matched location "/build/_assets/Rectangle%2015-NOFXM4AO.png" [1] GET /build/_assets/image%207-DJRB6VXT.png 404 - - 149.440 ms [1] GET /build/_assets/image%2036-JJWRBVPR.png 404 - - 93.985 ms [1] GET /build/_assets/image%2041-46I5YVJX.png 404 - - 191.468 ms [1] GET /build/_assets/image%2035-N45T7ZJ3.png 404 - - 139.565 ms [1] GET /build/_assets/Rectangle%2015-NOFXM4AO.png 404 - - 46.070 ms
解决方案
清理缓存,强制重新编译
- 用
Ctrl+Shift+R强制刷新页面,清除浏览器缓存的旧资源路径。 - 删除Remix缓存目录:
rm -rf node_modules/.cache/remix,避免留存旧编译信息。 - 必须用开发命令启动:运行
npm run dev(或yarn dev),不要直接执行node build/index.js——只有dev命令会在删除build后自动触发重新编译。
- 用
检查Remix配置文件
打开remix.config.js,确认核心路径配置正确:/** @type {import('@remix-run/dev').AppConfig} */ module.exports = { assetsBuildDirectory: "public/build", // 编译后资源存放路径 publicPath: "/build/", // 资源访问前缀 // 其他配置... };路径错误会导致资源生成位置与服务器期望不一致,直接引发404。
清理无效资源引用
全局搜索项目代码中出现的404资源路径(比如/images/homebanner1.png),删除或替换这些无效引用——服务器请求这些资源,本质是代码里还在调用它们。修复依赖问题
如果编译失败导致build未生成,尝试清理依赖后重装:- 删除依赖目录和锁文件:
rm -rf node_modules package-lock.json yarn.lock - 重新安装依赖:
npm install(或yarn install) - 再次运行
npm run dev触发编译。
- 删除依赖目录和锁文件:
确认静态资源托管配置
若使用自定义服务器(而非Remix默认开发服务器),确保已配置静态文件托管,以Express为例:const express = require("express"); const app = express(); // 托管public目录下的静态资源 app.use(express.static("public")); // 其他服务器配置...未正确托管public目录会导致服务器找不到build内的资源。
内容的提问来源于stack exchange,提问作者O.G Bellz
相关产品推荐
相关产品推荐

