Angular 角度:刷新时-未找到资源(自动更改请求URL)
问题陈述 以下步骤:Angular 角度:刷新时-未找到资源(自动更改请求URL),angular,angular-ui-router,angular7,progressive-web-apps,angular7-router,Angular,Angular Ui Router,Angular7,Progressive Web Apps,Angular7 Router,问题陈述 以下步骤: 打开(成功加载索引文件) 打开(已成功加载UI) 标题:没有状态代码为404的资源/文件) 请注意manifest.json的请求URL 按刷新按钮 案例1:URL变为(仅加载索引文件,而不加载/客户的UI) 注意manifest.json的URL的状态代码为404 案例2:由于请求URL错误,未找到多个资源 项目结构 index.html angular.json 应用程序路由.module.ts 在index.html中添加斜杠 <base hre
index.html
angular.json
应用程序路由.module.ts
在index.html中添加斜杠
<base href="/">
在index.html的
中添加/
解决了这个问题
为什么?
是您的根基本路径,应用程序中的所有资源和资产都是基于此路径引用的
这意味着你的应用程序将从根文件夹开始,即在本地,它会考虑<代码>本地主机:4200 /< /代码>,在服务器上它会考虑根文件夹。
当你运行你的应用程序时,它可能会混淆你的浏览器,因为你的文件不在根路径上,可能会通过404
将
添加到index.html吗?@NikolaStekovic是的,我添加了index.html作为参考。也许可以尝试在你的index.html中使用斜杠
{
"name": "MyAppName",
"short_name": "MyAppName",
"theme_color": "#1976d2",
"background_color": "#fafafa",
"display": "standalone",
"scope": "/",
"start_url": "/",
"prefer_related_applications": true,
"icons": [
{
"src": "assets/icons/icon-72x72.png",
"sizes": "72x72",
"type": "image/png"
},
{
"src": "assets/icons/icon-96x96.png",
"sizes": "96x96",
"type": "image/png"
},
{
"src": "assets/icons/icon-128x128.png",
"sizes": "128x128",
"type": "image/png"
},
{
"src": "assets/icons/icon-144x144.png",
"sizes": "144x144",
"type": "image/png"
},
{
"src": "assets/icons/icon-152x152.png",
"sizes": "152x152",
"type": "image/png"
},
{
"src": "assets/icons/icon-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "assets/icons/icon-384x384.png",
"sizes": "384x384",
"type": "image/png"
},
{
"src": "assets/icons/icon-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
]
}
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"newProjectRoot": "projects",
"projects": {
"MyAppName": {
"root": "",
"sourceRoot": "src",
"projectType": "application",
"prefix": "app",
"schematics": {},
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "dist/MyAppName",
"index": "src/index.html",
"main": "src/main.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "src/tsconfig.app.json",
"assets": [
"src/favicon.ico",
"src/assets",
"src/manifest.json"
],
"styles": [
"src/styles.css"
],
"scripts": [],
"es5BrowserSupport": true
},
"configurations": {
"production": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
],
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"extractCss": true,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true,
"budgets": [
{
"type": "initial",
"maximumWarning": "2mb",
"maximumError": "5mb"
}
],
"serviceWorker": true,
"ngswConfigPath": "src/ngsw-config.json"
}
}
},
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "MyAppName:build"
},
"configurations": {
"production": {
"browserTarget": "MyAppName:build:production"
}
}
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",
"options": {
"browserTarget": "MyAppName:build"
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "src/test.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "src/tsconfig.spec.json",
"karmaConfig": "src/karma.conf.js",
"styles": [
"src/styles.css"
],
"scripts": [],
"assets": [
"src/favicon.ico",
"src/assets",
"src/manifest.json"
]
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [
"src/tsconfig.app.json",
"src/tsconfig.spec.json"
],
"exclude": [
"**/node_modules/**"
]
}
}
}
},
"MyAppName-e2e": {
"root": "e2e/",
"projectType": "application",
"prefix": "",
"architect": {
"e2e": {
"builder": "@angular-devkit/build-angular:protractor",
"options": {
"protractorConfig": "e2e/protractor.conf.js",
"devServerTarget": "MyAppName:serve"
},
"configurations": {
"production": {
"devServerTarget": "MyAppName:serve:production"
}
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": "e2e/tsconfig.e2e.json",
"exclude": [
"**/node_modules/**"
]
}
}
}
}
},
"defaultProject": "MyAppName"
}
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
//imports Component
const routes: Routes =
[
{path:'customer/new',component:CreateCustomerAccountComponent,},
{path:'customers',component:CustomersComponent},
{path:'customers/:id/history',component:CustomerBuyHistoryComponent},
{path:'items',component:ItemsComponent},
{path:'item/new',component:CreateItemComponent},
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }
export const routingComponents=
[
Components
]
***ng --version***
Angular CLI: 7.3.9
Node: 12.3.1
OS: win32 x64
Angular: 7.2.15
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router, service-worker
Package Version
-----------------------------------------------------------
@angular-devkit/architect 0.13.9
@angular-devkit/build-angular 0.13.9
@angular-devkit/build-optimizer 0.13.9
@angular-devkit/build-webpack 0.13.9
@angular-devkit/core 7.3.9
@angular-devkit/schematics 7.3.9
@angular/cli 7.3.9
@angular/pwa 0.12.4
@ngtools/webpack 7.3.9
@schematics/angular 7.3.9
@schematics/update 0.13.9
rxjs 6.3.3
typescript 3.2.4
webpack 4.29.0
<base href="/">