如何使用 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)
}
}
我创建了一个主题库,我在其中根据所选主题更改样式表路径。我的问题是我的库中的路径是 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)
}
}