我试图将我的Angular应用程序导出为npm模块以供其他应用程序使用,但遇到了一些困难.我无法在互联网上的任何其他地方找到此错误,而且我的智慧结束了.
我使用ng-packagr将我的应用程序导出为npm模块.我可以从准系统测试应用程序上的本地文件夹成功安装它,但无法让它显示我的应用程序.
错误:
AppComponent.html:1 ERROR Error: inject() must be called from an injection context at inject (core.js:1362) at ChangeStackService_Factory (template-wiz.js:2074) at _callFactory (core.js:8223) at _createProviderInstance (core.js:8181) at resolveNgModuleDep (core.js:8156) at NgModuleRef_.push../node_modules/@angular/core/fesm5/core.js.NgModuleRef_.get (core.js:8849) at resolveDep (core.js:9214) at createClass (core.js:9094) at createDirectiveInstance (core.js:8971) at createViewNodes (core.js:10191)
template-wiz.module.ts(正在导出的模块)
import { NgModule,ChangeDetectorRef,ComponentFactoryResolver } from '@angular/core'; import { TemplateWizComponent } from './template-wiz.component'; import { BrowserModule } from '@angular/platform-browser'; import { FormsModule } from '@angular/forms'; import { HttpClientModule } from '@angular/common/http'; import { BlockListDirective } from './Directives/block-list.directive'; import { TemplateItemsDirective } from './Directives/template-items.directive'; import { ContextMenuComponent,SeperatorComponent,DragBoxComponent,SnapLineComponent,PropertiesComponent,ToolBoxComponent } from './Components' import { AddressBlockComponent,TextBlockComponent,ImageBlockComponent,DataBlockComponent } from './Data-Blocks'; import { BlockFactoryService,BlockRegistryService,DisplayInfoService,MouseClickService,SavingService,SnapService,TextHelperService,UserModeService } from './Services'; import { PageContextMenuComponent } from './Components/page-context-menu/page-context-menu.component'; import { CamelToWordsPipe } from './Pipes/camel-to-words.pipe'; import { PdfPublisherService } from './Services/pdf-publisher/pdf-publisher.service'; import { GradientBlockComponent } from './Data-Blocks/gradient-block/gradient-block.component'; import { PropToTypePipe } from './Pipes/prop-to-type.pipe'; import { ShapeBlockComponent } from './Data-Blocks/shape-block/shape-block.component'; import { CommonModule } from '@angular/common'; import { ModuleWithProviders } from '@angular/compiler/src/core'; @NgModule({ imports: [ CommonModule,FormsModule,HttpClientModule ],entryComponents: [ AddressBlockComponent,ContextMenuComponent,GradientBlockComponent,PageContextMenuComponent,ShapeBlockComponent,TextBlockComponent ],declarations: [ TemplateWizComponent,DataBlockComponent,AddressBlockComponent,BlockListDirective,TemplateItemsDirective,ToolBoxComponent,CamelToWordsPipe,PropToTypePipe,ShapeBlockComponent ],providers: [ BlockFactoryService,UserModeService,PdfPublisherService ],//bootstrap: [TemplateWizComponent],exports: [ TemplateWizComponent ] }) export class TemplateWizModule { static forRoot(): ModuleWithProviders { return { ngModule: TemplateWizModule,providers: [ ComponentFactoryResolver ] } } }
app.module.ts(使用我的模块的裸骨测试应用程序)
import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { FormsModule } from '@angular/forms'; import { HttpClientModule } from '@angular/common/http'; import { AppComponent } from './app.component'; import { TemplateWizModule } from 'template-wiz'; @NgModule({ declarations: [ AppComponent,],imports: [ BrowserModule,TemplateWizModule.forRoot(),providers: [],bootstrap: [AppComponent] }) export class AppModule { }
任何帮助或指示都将不胜感激,谢谢.