管道';IconsPipe';由多个NgModule声明-Nativescript/Angular

管道';IconsPipe';由多个NgModule声明-Nativescript/Angular,nativescript,angular2-nativescript,nativescript-angular,Nativescript,Angular2 Nativescript,Nativescript Angular,请帮我解决那个错误。代码拆分(nativescript/angular)在我的项目中无法正常工作: src/app/shared/pipes/common/icons/icons.pipe.ts:7:14中出错-错误NG6007: 管道“IConPipe”由多个NgModule声明 src/app/shared/pipes/common/common pipes.module.ts:7:18 7声明:[IconsPipe] “IConPipe”列在NgModule“CommonPipesModu

请帮我解决那个错误。代码拆分(nativescript/angular)在我的项目中无法正常工作:

src/app/shared/pipes/common/icons/icons.pipe.ts:7:14中出错-错误NG6007: 管道“IConPipe”由多个NgModule声明

src/app/shared/pipes/common/common pipes.module.ts:7:18 7声明:[IconsPipe]

“IConPipe”列在NgModule“CommonPipesModule”的声明中。 src/app/shared/pipes/common/common pipes.module.tns.ts:7:18

7声明:[IconsPipe], “IConPipe”列在NgModule“CommonPipesModule”的声明中

公共管道.module.ts

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';

import { IconsPipe } from './icons/icons.pipe';

@NgModule({
  declarations: [IconsPipe],
  imports: [CommonModule],
  exports: [IconsPipe],
})
export class CommonPipesModule {}
通用管道.module.tns.ts

import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
import { NativeScriptCommonModule } from '@nativescript/angular';

import { IconsPipe } from './icons/icons.pipe';

@NgModule({
  declarations: [IconsPipe],
  imports: [NativeScriptCommonModule],
  schemas: [NO_ERRORS_SCHEMA],
  exports: [IconsPipe],
})
export class CommonPipesModule {}
import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
import {
  NativeScriptCommonModule,
  NativeScriptHttpClientModule,
  NativeScriptModule,
  NativeScriptRouterModule,
} from '@nativescript/angular';
import { HttpClient } from '@angular/common/http';
import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
import { TranslateHttpLoader } from '@ngx-translate/http-loader';

import { NativeScriptUIListViewModule } from 'nativescript-ui-listview/angular';
import { NativeScriptUISideDrawerModule } from 'nativescript-ui-sidedrawer/angular';

import { AppComponent } from '@src/app/app.component';
import { StartModule } from '@src/app/start/start.module';
import { routes, providerDeclarations } from './app.common';
import { CommonPipesModule } from './shared/pipes/common/common-pipes.module';
import { ButtonModule } from './shared/forms/button/button.module';
import { HeaderComponent } from './layout/header/header.component';
import { LayoutComponent } from './layout/layout.component';

// AoT requires an exported function for factories
export function HttpLoaderFactory(http: HttpClient) {
  return new TranslateHttpLoader(http, '/assets/i18n/', '.json');
}

@NgModule({
  declarations: [AppComponent, LayoutComponent, HeaderComponent],
  imports: [
    NativeScriptModule,
    NativeScriptHttpClientModule,
    NativeScriptCommonModule,
    NativeScriptUISideDrawerModule,
    NativeScriptUIListViewModule,
    NativeScriptRouterModule.forRoot(routes),
    ButtonModule,
    StartModule,
    CommonPipesModule,
    TranslateModule.forRoot({
      loader: {
        provide: TranslateLoader,
        useFactory: HttpLoaderFactory,
        deps: [HttpClient],
      },
    }),
  ],
  providers: [providerDeclarations],
  bootstrap: [AppComponent],
  schemas: [NO_ERRORS_SCHEMA],
})
export class AppModule {}
app.module.tns.ts

import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
import { NativeScriptCommonModule } from '@nativescript/angular';

import { IconsPipe } from './icons/icons.pipe';

@NgModule({
  declarations: [IconsPipe],
  imports: [NativeScriptCommonModule],
  schemas: [NO_ERRORS_SCHEMA],
  exports: [IconsPipe],
})
export class CommonPipesModule {}
import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
import {
  NativeScriptCommonModule,
  NativeScriptHttpClientModule,
  NativeScriptModule,
  NativeScriptRouterModule,
} from '@nativescript/angular';
import { HttpClient } from '@angular/common/http';
import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
import { TranslateHttpLoader } from '@ngx-translate/http-loader';

import { NativeScriptUIListViewModule } from 'nativescript-ui-listview/angular';
import { NativeScriptUISideDrawerModule } from 'nativescript-ui-sidedrawer/angular';

import { AppComponent } from '@src/app/app.component';
import { StartModule } from '@src/app/start/start.module';
import { routes, providerDeclarations } from './app.common';
import { CommonPipesModule } from './shared/pipes/common/common-pipes.module';
import { ButtonModule } from './shared/forms/button/button.module';
import { HeaderComponent } from './layout/header/header.component';
import { LayoutComponent } from './layout/layout.component';

// AoT requires an exported function for factories
export function HttpLoaderFactory(http: HttpClient) {
  return new TranslateHttpLoader(http, '/assets/i18n/', '.json');
}

@NgModule({
  declarations: [AppComponent, LayoutComponent, HeaderComponent],
  imports: [
    NativeScriptModule,
    NativeScriptHttpClientModule,
    NativeScriptCommonModule,
    NativeScriptUISideDrawerModule,
    NativeScriptUIListViewModule,
    NativeScriptRouterModule.forRoot(routes),
    ButtonModule,
    StartModule,
    CommonPipesModule,
    TranslateModule.forRoot({
      loader: {
        provide: TranslateLoader,
        useFactory: HttpLoaderFactory,
        deps: [HttpClient],
      },
    }),
  ],
  providers: [providerDeclarations],
  bootstrap: [AppComponent],
  schemas: [NO_ERRORS_SCHEMA],
})
export class AppModule {}
tsconfig

{
  "compileOnSave": false,
  "compilerOptions": {
      "outDir": "./dist/out-tsc",
      "module": "ESNext",
      "target": "es2015",
      "moduleResolution": "node",
      "sourceMap": true,
      "emitDecoratorMetadata": true,
      "experimentalDecorators": true,
      "noEmitOnError": true,
      "skipLibCheck": true,
      "lib": [
          "es2017",
          "dom",
          "es6"
      ],
      "baseUrl": ".",
      "paths": {
          "@src/*": [
              "src/*.android.ts",
              "src/*.ios.ts",
              "src/*.tns.ts",
              "src/*.web.ts",
              "src/*.ts"
          ],
      }
  }
}
tsconfig.tns

{
  "extends": "./tsconfig.json",
  "compilerOptions": {
    "module": "ESNext",
    "moduleResolution": "node",
    "experimentalDecorators": true,
    "skipLibCheck": true,
    "baseUrl": ".",
    "paths": {
      "@src/*": [
        "src/*.tns.ts",
        "src/*.ts"
      ]
    }
  },
  "files": [
    "src/main.tns.ts"
  ]
}
package.json

"dependencies": {
    "@angular/animations": "~10.2.0",
    "@angular/cdk": "^10.2.6",
    "@angular/common": "~10.2.0",
    "@angular/compiler": "~10.2.0",
    "@angular/core": "~10.2.0",
    "@angular/fire": "^6.0.3",
    "@angular/forms": "~10.2.0",
    "@angular/material": "^10.2.6",
    "@angular/platform-browser": "~10.2.0",
    "@angular/platform-browser-dynamic": "~10.2.0",
    "@angular/router": "~10.2.0",
    "@nativescript/angular": "~10.1.7",
    "@nativescript/core": "~7.0.12",
    "@nativescript/firebase": "^11.0.0",
    "@nativescript/theme": "~3.0.0",
    "@ngx-translate/core": "^13.0.0",
    "@ngx-translate/http-loader": "^6.0.0",
    "core-js": "^3.6.5",
    "firebase": "^8.0.0",
    "nativescript-gif": "^5.0.0",
    "nativescript-sound": "^1.0.4",
    "nativescript-texttospeech": "^3.0.1",
    "nativescript-toasty": "^2.0.1",
    "nativescript-ui-chart": "^8.0.2",
    "nativescript-ui-listview": "^9.0.4",
    "nativescript-ui-sidedrawer": "9.0.3",
    "ngx-custom-validators": "^10.0.0",
    "npm-check-updates": "^9.2.3",
    "reflect-metadata": "~0.1.13",
    "rxjs": "~6.6.3",
    "tslib": "2.0.3",
    "zone.js": "~0.11.2"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.1002.0",
    "@angular/cli": "~10.2.0",
    "@angular/compiler-cli": "~10.2.0",
    "@nativescript/android": "7.0.1",
    "@nativescript/schematics": "^10.1.0",
    "@nativescript/tslint-rules": "~0.0.5",
    "@nativescript/webpack": "~3.0.8",
    "@types/jasmine": "~3.6.0",
    "@types/jasminewd2": "~2.0.8",
    "@types/node": "^14.14.5",
    "@types/stripe-v3": "^3.1.21",
    "codelyzer": "^6.0.1",
    "jasmine-core": "~3.6.0",
    "jasmine-spec-reporter": "~6.0.0",
    "karma": "~5.2.3",
    "karma-chrome-launcher": "~3.1.0",
    "karma-coverage-istanbul-reporter": "~3.0.3",
    "karma-jasmine": "~4.0.1",
    "karma-jasmine-html-reporter": "^1.5.4",
    "node-sass": "^4.14.1",
    "protractor": "~7.0.0",
    "ts-node": "~9.0.0",
    "tslint": "~6.1.3",
    "typescript": "~4.0.5"
  }
更新 目前看来,问题在于@src导入。如果我改变,例如:

从“@src/app/shared/pipes/common/common pipes.module”导入{CommonPipesModule}

从“./pipes/common/common pipes.module”导入{CommonPipesModule}


那它就正常工作了。您知道如何修复该问题,以便能够导入带有“@src”的模块吗?

您的tsconfig.tns.json是什么样子的?@agritton添加到description中,5个月来都存在相同的问题。你找到解决办法了吗?@miladfm不幸的是没有。我可以看到导入“@src”或“../”有问题,但我不明白为什么以及到底是什么问题:/tsconfig.tns.json看起来像什么?@agritton补充到描述中。我在5个月内都遇到了同样的问题。你找到解决办法了吗?@miladfm不幸的是,没有。我可以看出导入“@src”或“../”有问题,但我不明白为什么以及到底是什么问题:/