在学习Angular时引入图片,不管是使用绝对路径还是相对路径都显示Not Found
配置angular.json
需要将存放静态资源的文件夹配置到angular.json文件中。在angular.json中有一个assets数组,用于定义哪些静态资源文件和文件夹应该被包含在构建后的应用程序中。这些资源可以是图像、字体文件、JSON文件、样式文件、HTML文件等,它们通常不需要在构建过程中进行编译或转换,而是简单地复制到最终的输出目录中,以便在应用程序中使用。
在assets数组中可以通过如下方式进行配置(仅个人已知):
"assets": [
"src/assets", //将src/assets文件夹中的所有内容复制到构建输入目录中
/*
这种方式的默认输出目录为除开src层之外的文件夹名称
例如这里是assets,那么渲染图片路径为:assets/图片
如果配置的src/assets/img,那么渲染图片路径为assets/img/图片
*/
{
"glob": "**/*", //内容类型,使用通配符"**/*",说明同上,复制所有内容
"input": "public", //内容原路径
"output": "public" //内容输出目录------可以不指定
},{
"glob": "**.png", //仅复制png后缀的内容,其他后缀显示异常
"input": "src/images",
"output": "imagesTest"
}
]
页面使用
页面渲染图片:
<img class="brand-logo" src="imagesTest/angular_red.png" alt="logo" aria-hidden="true">
<img class="brand-logo" src="imagesTest/angular.svg" alt="logo" aria-hidden="true">
<img class="brand-logo" src="assets/angular.svg" alt="logo" aria-hidden="true">
显示结果:
(images中只复制了png到imageTest这个输出目录下,所以svg图片显示异常)
参考文档:什么是 Angular 应用 angular.json 中的 assets 数组-阿里云开发者社区
tips:angular 学习ing~ 期待指正,共勉!