Angular 如何为图像服务

Angular 如何为图像服务,angular,angular-universal,Angular,Angular Universal,我导入哈希图像URL: 组件: import basicSmartLogo from "../../assets/img/smart_logo_basic.png" @Component({ selector: "home", // <home></home> styleUrls: ["./home.component.scss"], templateUrl: "./home.component.html" }) export class HomeComp

我导入哈希图像URL:

组件:

import basicSmartLogo from "../../assets/img/smart_logo_basic.png"

@Component({
  selector: "home",  // <home></home>
  styleUrls: ["./home.component.scss"],
  templateUrl: "./home.component.html"
})
export class HomeComponent {

  basicSmartLogo = basicSmartLogo;
}
<img src="{{basicSmartLogo}}">
从“../../assets/img/smart\u logo\u basic.png”导入basicSmartLogo
@组成部分({
选择器:“主页”//
样式URL:[“/home.component.scss”],
templateUrl:“./home.component.html”
})
导出类HomeComponent{
basicSmartLogo=basicSmartLogo;
}
HTML:

import basicSmartLogo from "../../assets/img/smart_logo_basic.png"

@Component({
  selector: "home",  // <home></home>
  styleUrls: ["./home.component.scss"],
  templateUrl: "./home.component.html"
})
export class HomeComponent {

  basicSmartLogo = basicSmartLogo;
}
<img src="{{basicSmartLogo}}">


这似乎适用于SPA构建,但在universal中URL非常混乱。如何在angular universal中使用哈希资源URL?

我解决了以下问题

  • angular.json
    中的
    server
    对象中创建
    configuration.production
    对象,如中所述
  • 将“输出授权”:“媒体”添加到
    配置.production
    对象中
  • 执行
    ng run{PROJECT\u NAME}:server:production
    而不是
    ng run{PROJECT\u NAME}:server
    来构建服务器端代码

  • 您是否检查过您的通用URL是否被绝对地提供?我如何确保它们是绝对的?我将在我的网页配置中设置公共路径,如下所示:output:{publicPath:ASSET_path},@HunterFrazier如何在不损坏哈希图像的情况下获取其名称,以便我可以将CDN路径预先添加到它并使其成为绝对路径?谢谢。对我来说,我使用了ng add@nguniversal/express engine--clientProject[name],已经配置了文件替换,并且只缺少“outpushing”:“media”。我没有更改我的命令行,保持npm运行build:ssr&&npm运行service:ssr