Я использую угловой v6 с packagr и Webpack .
Packagr версия: "ng-packagr":"3.0.0-rc.5"
У меня есть родительское приложение и дочернее приложение.
Мое дочернее приложение красиво упаковано и импортируется в мое родительское приложение в виде модуля..
Проблема в том, что у моего дочернего приложения есть служба с темой rxjs, и эта служба, похоже, не работает при запуске моего родительского приложения.
Я экспортирую службу и модуль длядочернее приложение в файле public_api, но кажется, что мне не хватает другой настройки.
Все остальные части моего дочернего приложения работают нормально и другие службы.Только служба, у которой есть наблюдаемая тема, не может работать, когда ее модуль импортирован в мое родительское приложение.
Это мой файл public_api.ts:
export * from './src/app/test.module';
export * from './src/app/services/notification.service';
Служба уведомлений , в которой Тема из rxjs не работает.
Это мойФайл ng-package.json:
{
"$schema": "./node_modules/ng-packagr/ng-package.schema.json",
"lib": {
"entryFile": "public_api.ts",
"externals": {
"rxjs/symbol/subject": "Rx.Observable.prototype",
"rxjs/symbol/observable": "Rx.Observable.prototype"
}
},
"whitelistedNonPeerDependencies": [
"angular"
]
}
В приведенном выше файле я попытался добавить:
"rxjs/symbol/subject": "Rx.Observable.prototype",
И
"rxjs/symbol/observable": "Rx.Observable.prototype"
Но это, похоже, ничего не делает.
Файл службы уведомлений:
import { Injectable } from '@angular/core';
import { Subject, Observable } from 'rxjs';
import { AppModel } from '../models/app.model';
@Injectable({
providedIn: 'root',
})
export class NotificationService {
private _connectApp: Subject<AppModel> = new Subject();
public connectApp$ = this._connectApp.asObservable();
public updateConnectApp(appModel: AppModel): void {
this._connectApp.next(appModel);
}
}