代码之家  ›  专栏  ›  技术社区  ›  Vugar Abdullayev

将第三方库导入角度库时出错

  •  1
  • Vugar Abdullayev  · 技术社区  · 6 年前

    正在尝试使用ng packager创建库。

    在我运行的项目内部:

    ng g library nt select--前缀nt

    在nt-select.component.ts中

    import { Component, OnInit } from '@angular/core';
    
    @Component({
      selector: 'nt-nt-select',
      template: `
        <mat-form-field>
          <mat-select [placeholder]="placeholder" [disabled]="disabled" [multiple]="multiple" [(ngModel)]="value"
                      [required]="required">
    
            <ngx-mat-select-search *ngIf="searchable"
                                   [formControl]="optionFilterCtrl"
                                   [placeholderLabel]="'Axtar'"
                                   [noEntriesFoundLabel]="'Tapılmadı'"
                                   [clearSearchInput]="false"
            ></ngx-mat-select-search>
            <mat-option *ngFor="let opt of filteredOptions$ | async" [value]="opt.value">
              {{opt.label}}
            </mat-option>
          </mat-select>
    
          <mat-error>{{getErrors('hobbies')}}</mat-error>
        </mat-form-field>
    
      `,
      styles: []
    })
    export class NtSelectComponent implements OnInit {
    
      constructor() { }
    
      ngOnInit() {
      }
    
    }
    

    和nt.select.module:

    import { NgModule } from '@angular/core';
    import { NtSelectComponent } from './nt-select.component';
    import {CommonModule} from '@angular/common';
    import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
    import {FormsModule, ReactiveFormsModule} from '@angular/forms';
    import {MatSelectModule} from '@angular/material';
    import {NgxMatSelectSearchModule} from 'ngx-mat-select-search';
    
    @NgModule({
      imports: [
        CommonModule,
        BrowserAnimationsModule,
        MatSelectModule,
        NgxMatSelectSearchModule,
        ReactiveFormsModule,
        FormsModule
      ],
      declarations: [NtSelectComponent],
      exports: [NtSelectComponent]
    })
    export class NtSelectModule { }
    

    问题是nt select emits error cannot find name of Mat窗体字段,Mat Select,NGX Mat Select搜索 即使我导入了所有模块。
    以下教程介绍: https://blog.angularindepth.com/creating-a-library-in-angular-6-87799552e7e5
    可能是什么问题?
    提前谢谢

    1 回复  |  直到 6 年前
        1
  •  2
  •   Cam Plimsoll    6 年前

    ng-package.json

    {
      "lib": {
        "entryFile": "public_api.ts",
        "externals": {
          "@angular/material/input": "ng.material.input",
          "@angular/material/select": "ng.material.select"
          .....
        }
      }
    }
    
    推荐文章