Ich habe eine React-App mit create-react-app gebootet. Die Anwendung läuft in einem Docker-Container und wurde in einer Subdomäne bereitgestellt. Nehmen wir an, der Domainname lautet http://mycompany.com, dann befindet sich meine React-App unter http://mycompany.com/users/userid/apps/reactapp.
Es gibt einen Reverse-Proxy-Server, der die URL umschreibt und die Basis-URL in eine Subdomain-URL ändert. So sieht meine package.json aus -
{ "name": "my-app", "version": "0.1.0", "private": true, "dependencies": { "@material-ui/core": "^4.12.4", "@testing-library/jest-dom": "^5.16.1", "@testing-library/react": "^12.1.2", "@testing-library/user-event": "^13.5.0", "@types/classnames": "^2.3.1", "@types/jest": "^27.0.3", "@types/node": "^16.11.47", "@types/react": "^17.0.38", "@types/react-dom": "^17.0.11", "@types/react-icons": "^3.0.0", "@types/react-router-dom": "^5.3.2", "@types/sass": "^1.43.1", "bootstrap": "^5.1.3", "classnames": "^2.3.1", "font-awesome": "^4.7.0", "react": "^17.0.2", "react-dom": "^17.0.2", "react-icons": "^4.3.1", "react-router-dom": "^6.3.0", "react-scripts": "5.0.0", "register-service-worker": "^1.7.2", "typescript": "^4.5.4", "web-vitals": "^2.1.2" }, "scripts": { "start": "react-scripts start", "build": "react-scripts build", "test": "react-scripts test", "eject": "react-scripts eject" }, "eslintConfig": { "extends": [ "react-app", "react-app/jest" ] }, "browserslist": { "production": [ ">0.2%", "not dead", "not op_mini all" ], "development": [ "last 1 chrome version", "last 1 firefox version", "last 1 safari version" ] }, "devDependencies": { "css-flatten": "^1.0.1", "react-hot-loader": "^4.13.1", "react-select": "^5.4.0", "sass": "^1.45.2" } }
Das Problem, mit dem ich konfrontiert bin, besteht darin, dass Änderungen an JS-Dateien nicht berücksichtigt werden, selbst nachdem ich den Entwicklungsserver mithilfe von React-Scripts Start neu gestartet habe. Dies wird nur angezeigt, wenn ich den Docker-Container neu starte. Ich habe im Browser nachgesehen, dass die Datei bundle.js nicht die neuesten Änderungen enthält. Ich habe diese Dinge ausprobiert -
Ich kann in den Protokollen des Entwicklungsservers sehen, dass Dateiänderungen erkannt werden, diese Änderungen jedoch nicht an den Browser übermittelt werden. Selbst wenn ich eine Datei lösche (damit ich das Fehlerprotokoll im Protokoll des Entwicklungsservers sehen kann), ändert sich nichts an der Anwendung, selbst wenn der Browser aktualisiert wird.
您可能需要将以下内容添加到服务器端响应标头
如果问题仍然存在,您可以尝试清除浏览器缓存
相关问题: