如何使用 Angular 库中文件的相对路径?

How to use relative path to files inside Angular Library?

我创建了一个主题库,我在其中根据所选主题更改样式表路径。我的问题是我的库中的路径是 assets/themes,但是如果我将库添加到项目中,那将不再起作用,因为它指向项目的 assets/themes 而不是库的。有没有办法在库中相对引用该路径?

你可以在environment.ts中保留相对路径,然后使用forRoot.

将其传递给库模块

假设您想使用 libService 中的路径或根据您的要求使用任何其他文件,

这样试试:

app.module.ts

import { NgModule } from '@angular/core';
import { LibModule } from 'some-library';

@NgModule({
    imports: [
        libModule.forRoot({
            environment: environment
        })
    ]
})

LibModule.module.ts

export class LibModule{ 
  static forRoot(config): ModuleWithProviders {
    return {
      ngModule: LibModule,
      providers: [LibService, {provide: CONFIG, useValue: config}]
    };
  }
}

libService.service :

export const CONFIG = new InjectionToken<any>('config');

export class LibService{

  constructor(@Inject(CONFIG) private config:any) {
    console.log(config)
   }
}