未在浏览器上渲染Angular 6资源文件夹
我正在学习angular,我正在尝试将assets文件夹中的本地图像加载到main.component.html中,并且我已经正确设置了路径,同时在打开图像的路径上按住alt键并单击。但是图像没有加载到浏览器上 我得到的错误 在chrome developer tools的sources选项卡中,没有包含资产文件夹 这是我的cli版本 我试过了,但没用,请有人帮忙 这是我的angular.json文件未在浏览器上渲染Angular 6资源文件夹,angular,http-status-code-404,assets,file-not-found,Angular,Http Status Code 404,Assets,File Not Found,我正在学习angular,我正在尝试将assets文件夹中的本地图像加载到main.component.html中,并且我已经正确设置了路径,同时在打开图像的路径上按住alt键并单击。但是图像没有加载到浏览器上 我得到的错误 在chrome developer tools的sources选项卡中,没有包含资产文件夹 这是我的cli版本 我试过了,但没用,请有人帮忙 这是我的angular.json文件 { "$schema": "./node_modules/@angular/cli/
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"newProjectRoot": "projects",
"projects": {
"game-of-thrones": {
"root": "",
"sourceRoot": "src",
"projectType": "application",
"prefix": "app",
"schematics": {},
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "dist/game-of-thrones",
"index": "src/index.html",
"main": "src/main.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "src/tsconfig.app.json",
"assets": [
"src/favicon.ico",
"src/assets"
],
"styles": [
"src/styles.css",
"./node_modules/bootstrap/dist/css/bootstrap.min.css",
"./node_modules/font-awesome/css/font-awesome.css"
],
"scripts": [
"./node_modules/jquery/dist/jquery.min.js",
"./node_modules/bootstrap/dist/js/bootstrap.min.js"
]
},
"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
}
}
},
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "game-of-thrones:build"
},
"configurations": {
"production": {
"browserTarget": "game-of-thrones:build:production"
}
}
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",
"options": {
"browserTarget": "game-of-thrones: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"
]
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [
"src/tsconfig.app.json",
"src/tsconfig.spec.json"
],
"exclude": [
"**/node_modules/**"
]
}
}
}
},
"game-of-thrones-e2e": {
"root": "e2e/",
"projectType": "application",
"architect": {
"e2e": {
"builder": "@angular-devkit/build-angular:protractor",
"options": {
"protractorConfig": "e2e/protractor.conf.js",
"devServerTarget": "game-of-thrones:serve"
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": "e2e/tsconfig.e2e.json",
"exclude": [
"**/node_modules/**"
]
}
}
}
}
},
"defaultProject": "game-of-thrones"
}
通常,您需要在index.html中为base href添加前缀,如下所示:
base href="/game-of-thrones/"
为了在正确的文件夹中查找资产。我也有同样的问题
GET http://localhost:4200/assets/img/img.png 404 (Not Found)
但是我通过删除项目路径中的所有特殊字符(“(”、“@”和“$”等)来修复它。
例如,如果您有一个项目路径,如
C:\angular-projects(1)\angularapp
然后把它改成
C:\angularprojects1\angularapp
通过将所有特殊字符、符号删除到应用程序的文件夹位置,找到了上述问题的解决方案,请查看此 例如,如果您的项目位于E drive中 更改此位置
E:\Data\project - 1\Angular(learning)\app
到
然后,您可以在chrome developer tools的sources选项卡下的浏览器中看到loaded assets文件夹。您可以添加angular.json吗?您可以准确显示哪个url出现404错误吗?修改assets文件夹后是否重新启动了ng serve?@user184994我已经添加了angular.json文件,请看,@David这里是指向的链接我的文件夹结构是什么以及我在代码[link]()中使用的img标记,我在修改资产文件夹后重新启动了ng serve,但似乎没有任何效果。您的路径
/../../../../assets/books.jpg
看起来不正确。它应该是/assets/books.jpg
,如果不是,则显示从chrome网络失败的最终URLtab@Satineder巴杰瓦很久以前就解决了这个问题,这是我以前遵循的不管怎样,这很有效,谢谢你花时间帮忙me@AvinashDv这是一个互相帮助的社区,如果你已经找到了答案,那么你应该发布你自己问题的答案来帮助他人。@Satineder Bajwa我发布了这个,我在第二天的问题评论中找到了答案,还提供了一个我找到解决方案的链接关于这个问题,我应该在答案部分发布,现在就可以了,谢谢。虽然这个链接可以回答这个问题,但最好在这里包含答案的基本部分,并提供链接供参考。如果链接页面发生变化,只有链接的答案可能会无效-
E:\Data\project1\Angularlearning\app