Spartacus base-url 访问 - CSR 端需要修

2023-05-15  本文已影响0人  _扫地僧_

假设我想把 Spartacus 的 url 后面增加 custom url 访问,比如以前通过 https://spartacus-demo.eastus.cloudapp.azure.com/electronics-spa/ 访问,现在通过 https://spartacus-demo.eastus.cloudapp.azure.com/electronics-spa/jerry 访问。

在 CSR 即客户端渲染模式下,在 app.module.ts 里增加如下代码:

{ provide: APP_BASE_HREF, useValue: /jerry/ }],

这段代码是在 Angular 中用于配置依赖注入(Dependency Injection)的提供者(Provider)的配置。

provide: APP_BASE_HREFprovide 是提供者配置中的关键字,指定要提供的依赖项。APP_BASE_HREF 是 Angular 提供的一个令牌(token),用于表示应用的基本 URL 路径。

useValue: /jerry/useValue 是提供者配置中的关键字,指定要提供的依赖项的具体值。在这种情况下,它指定了 APP_BASE_HREF 的具体值为 /jerry/。这表示应用的基本 URL 路径为 /jerry/,即应用的根路径是 /jerry/

通过这段代码的配置,可以在 Angular 中使用依赖注入方式获取 APP_BASE_HREF 的值,以便在应用中使用该值来构建 URL。例如,在路由配置中使用 APP_BASE_HREF 可以帮助正确地生成路由链接。

同时在 angular.json 文件里,增加如下配置:

"build": {
          "builder": "@angular-devkit/build-angular:browser",
          "options": {
           "deployUrl": "/jerry/",

这段代码来自 angular.json 文件的 build 配置部分。它的作用是指定 Angular 应用在构建过程中的选项,具体解释如下:

通过设置 deployUrl,可以确保构建后的应用在部署时能够正确地加载资源文件(如 CSS、JavaScript 等)和执行路由导航等操作。这对于将应用部署到特定的子路径或将应用托管在特定的服务器上是非常有用的。

上一篇下一篇

猜你喜欢

热点阅读