Я пытаюсь включить библиотеку, которую я встроил в новое приложение.Он собирается успешно, но я получаю сообщение об ошибке во время выполнения main.ts:13 Error: inject() must be called from an injection context
.
Когда я беру библиотеку из npm, используя npm i devicewise-angular
, проблем нет.Все работает нормально.
Тестовое приложение, сгенерированное с библиотекой, также может отлично использовать локальную библиотеку.
Я добавил пути к моему tsconfig.json
файлу.
{
...
"compilerOptions": {
...
"paths": {
"devicewise-angular": [
"../devicewise-angular/dist/devicewise-angular"
]
}
}
...
}
Библиотека наиболее определенно найдена, и она прекрасно работает.VSCode intellisense автоматически завершает все.
Вот ошибка
main.ts:13 Error: inject() must be called from an injection context
at injectInjectorOnly (core.js:520)
at ɵɵinject (core.js:536)
at DevicewiseAngularService_Factory (devicewise-angular.js:984)
at _callFactory (core.js:23211)
at _createProviderInstance (core.js:23154)
at resolveNgModuleDep (core.js:23113)
at NgModuleRef_.get (core.js:24206)
at resolveDep (core.js:24736)
at createClass (core.js:24584)
at createDirectiveInstance (core.js:24400)
Глядя на devicewise-angular.js:984
Я вижу:
/** @nocollapse */ DevicewiseAngularService.ngInjectableDef = ɵɵdefineInjectable({ factory: function DevicewiseAngularService_Factory() { return new DevicewiseAngularService(ɵɵinject(CookieService), ɵɵinject(DevicewiseApiService), ɵɵinject(DevicewiseSubscribeService), ɵɵinject(DevicewiseMultisubscribeService)); }, token: DevicewiseAngularService, providedIn: "root" });
Я ожидаю того же результата, используялокальная версия библиотеки, как будто я установил ее с помощью npm.Почему я получаю эту статическую ошибку внедрения, когда пытаюсь использовать это как это?