加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angular – inject()必须从注入上下文中调用

发布时间:2020-12-17 17:24:18 所属栏目:安全 来源:网络整理
导读:我试图将我的Angular应用程序导出为npm模块以供其他应用程序使用,但遇到了一些困难.我无法在互联网上的任何其他地方找到此错误,而且我的智慧结束了. 我按照本教程:https://medium.com/@nikolasleblanc/building-an-angular-4-component-library-with-the-an
我试图将我的Angular应用程序导出为npm模块以供其他应用程序使用,但遇到了一些困难.我无法在互联网上的任何其他地方找到此错误,而且我的智慧结束了.

我按照本教程:https://medium.com/@nikolasleblanc/building-an-angular-4-component-library-with-the-angular-cli-and-ng-packagr-53b2ade0701e

我使用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 { }

任何帮助或指示都将不胜感激,谢谢.

解决方法

我有同样的错误.

我发现我从@ angular / core导入Inject而不是@ angular / core / testing.

希望有所帮助!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读