Я создаю свой проект с помощью команды «ng build --prod» или «ng build --prod --base-href ./» и отлично работает, также запускаю проект на веб-сервере и тоже отлично работает, но когда я нажимаю F5, я получаю следующую ошибку
и мой package.json
{
"name": "ConceptPeluqueria",
"version": "1.0.0",
"license": "ConceptPeluqeria",
"scripts": {
"ng": "ng",
"start": "ng serve",
"maxbuild": "ng build --prod",
"build": "ng build --prod --base-href ./",
"gitbuild": "ng build --prod --base-href /start-angular/SB-Admin-BS4-Angular-6/master/dist/",
"test": "ng test",
"test-ci": "TEST_CI=true ng test",
"lint": "ng lint",
"subirtodo": "git add . & git commit -m \"Commit automatico\" & git push origin master",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@angular/animations": "^6.0.0",
"@angular/common": "^6.0.0",
"@angular/compiler": "^6.0.0",
"@angular/core": "^6.0.0",
"@angular/forms": "^6.0.0",
"@angular/http": "^6.0.0",
"@angular/platform-browser": "^6.0.0",
"@angular/platform-browser-dynamic": "^6.0.0",
"@angular/router": "^6.0.0",
"@ng-bootstrap/ng-bootstrap": "^2.2.2",
"@ngx-translate/core": "^10.0.1",
"@ngx-translate/http-loader": "^3.0.1",
"chart.js": "^2.7.2",
"core-js": "^2.5.5",
"font-awesome": "^4.7.0",
"ng2-charts": "^1.6.0",
"rxjs": "^6.1.0",
"yarn": "^1.6.0",
"zone.js": "^0.8.26"
},
"devDependencies": {
"@angular/cli": "6.1.2",
"@angular/compiler-cli": "^6.0.0",
"@angular/language-service": "^6.0.0",
"@types/jasmine": "~2.8.6",
"@types/jasminewd2": "~2.0.3",
"@types/node": "^9.6.1",
"codelyzer": "~4.2.1",
"jasmine-core": "~3.1.0",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~2.0.0",
"karma-chrome-launcher": "~2.2.0",
"karma-cli": "~1.0.1",
"karma-coverage-istanbul-reporter": "^1.4.2",
"karma-jasmine": "~1.1.1",
"karma-jasmine-html-reporter": "^1.0.0",
"protractor": "~5.3.0",
"ts-node": "~5.0.1",
"tslint": "~5.9.1",
"typescript": "~2.7.0",
"@angular-devkit/build-angular": "~0.6.0"
}
}
Любая помощь будет оценена по достоинству
Спасибо, Робин, но нет, я тоже запускал его без "/" и имел ту же проблему.
Это обычная проблема для людей, которые плохо знакомы с размещением одностраничных приложений (SPA). Проблема в том, что все приложение Angular запускается по одному маршруту, в вашем случае 127.0.0.1:8887/
, все маршруты, существующие в приложении Angular, то есть /dashboard
, не являются маршрутами, о которых знает сервер. Вот почему, если вы войдете в корень, все приложение будет работать нормально, но если вы перейдете на такой подмаршрут, как 127.0.0.1:8887/dashboard
, оно упадет, потому что веб-сервер не привязан к этому маршруту.
Короче говоря, вам нужно использовать сервер, который при возникновении любых ошибок маршрутизации 404 должен обслуживать файл index.html
. Если вы выполните поиск в Google по запросу «как обслуживать приложение SPA», вы увидите множество вариантов, и ваш собственный сервер может даже справиться с этим.
Вероятно, потому что вы используете
./