programing

'crypto-crypto'는 알려진 요소가 아닙니다.

jooyons 2023. 3. 21. 21:55
반응형

'crypto-crypto'는 알려진 요소가 아닙니다.

프런트 엔드가 각진 MVC 5 프로젝트가 있습니다.이 튜토리얼 https://angular.io/guide/router에서 설명한 바와 같이 루팅을 추가하고 싶습니다.그래서 제 안에_Layout.cshtml추가했습니다.

<base href="/">

그리고 내 app.download에 내 루팅을 만들었다.그러나 이 작업을 실행하면 다음과 같은 오류가 발생합니다.

Error: Template parse errors:
    'router-outlet' is not a known element:
    1. If 'router-outlet' is an Angular component, then verify that it is part       of this module.
    2. If 'router-outlet' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA'   to the '@NgModule.schemas' of this component to suppress this message. ("
    <a routerLink="/dashboard">dashboard</a>
    </nav>
    [ERROR ->]<router-outlet></router-outlet>
     "): ng:///AppModule/AppComponent.html@5:0

내 app.component 라인

<router-outlet></router-outlet>

Visual studio에서 'router-outlet' 태그를 해결할 수 없다는 오류가 나타납니다.이 오류를 해결할 수 있는 방법이 있습니까?참조 자료나 가져오기를 놓쳤나요? 아니면 그냥 간과한 건가요?

제 소포는 아래와 같습니다.json, app.component 및 app.components

package.json:

{
    "version": "1.0.0",
    "name": "app",
    "private": true,
    "scripts": {},
    "dependencies": {
    "@angular/common": "^4.2.2",
    "@angular/compiler": "^4.2.2",
    "@angular/core": "^4.2.2",
    "@angular/forms": "^4.2.2",
    "@angular/http": "^4.2.2",
    "@angular/platform-browser": "^4.2.2",
    "@angular/platform-browser-dynamic": "^4.2.2",
    "@angular/router": "^4.2.2",
    "@types/core-js": "^0.9.41",
    "angular-in-memory-web-api": "^0.3.2",
    "bootstrap": "^3.3.7",
    "core-js": "^2.4.1",
    "graceful-fs": "^4.0.0",
    "ie-shim": "^0.1.0",
    "minimatch": "^3.0.4",
    "reflect-metadata": "^0.1.10",
    "rxjs": "^5.0.1",
    "systemjs": "^0.20.12",
    "zone.js": "^0.8.12"
    },
    "devDependencies": {
    "gulp": "^3.9.1",
    "gulp-clean": "^0.3.2",
    "gulp-concat": "^2.6.1",
    "gulp-tsc": "^1.3.2",
    "gulp-typescript": "^3.1.7",
    "path": "^0.12.7",
    "typescript": "^2.3.3"
    }
}

app.module.ts:

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { RouterModule, Routes } from '@angular/router';

import { AppComponent } from './app.component';
import {DashboardComponent} from "./dashboard/dashboard.component"    

const appRoutes: Routes = [
{
    path: '',
    redirectTo: '/dashboard',
    pathMatch: 'full',
    component: DashboardComponent
},  
{
    path: 'dashboard',
    component: DashboardComponent
}
];
@NgModule({
imports: [
    RouterModule.forRoot(appRoutes),
    BrowserModule,
    FormsModule               
],
exports: [RouterModule],
declarations: [
    AppComponent,  
    DashboardComponent      
],
bootstrap: [AppComponent]
})
export class AppModule {

}

app.component.ts:

import { Component } from '@angular/core';

@Component({
selector: 'my-app',
template: `
          <h1>{{title}}</h1>
          <nav>
          <a routerLink="/dashboard">dashboard</a>
          </nav>
          <router-outlet></router-outlet>
          `
})
export class AppComponent {
    title = 'app Loaded';

}

이것을 시험해 보세요.

수입품RouterModule에의app.module.ts

import { RouterModule } from '@angular/router';

더하다RouterModule에의imports []

다음과 같습니다.

 imports: [    RouterModule,  ]

사용 방법:

@NgModule({
  imports: [
      BrowserModule,
      RouterModule.forRoot(appRoutes),
      FormsModule               
  ],
  declarations: [
      AppComponent,  
      DashboardComponent      
  ],
  bootstrap: [AppComponent]
})
export class AppModule { }

에서 내보내기를 설정할 필요가 없습니다.AppModule,왜냐면AppModule는 어플리케이션의 다른 모듈에 의해 Import되지 않습니다.

이미 가지고 계신 분들을 위해RoutingModule부모 모듈로 Import된 경우 컴포넌트를 추가하지 않아 문제가 발생할 수 있습니다.<router-outlet></router-outlet>모듈 선언에 기재되어 있습니다.

main.component.displaces

<router-outlet></router-outlet>

main.disc.ts.main.

import { MainComponent } from './main.component';
import { SharedModule } from './../shared/shared.module';
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';

import { MainRoutingModule } from './main-routing.module';
import { RouterModule } from '@angular/router';


@NgModule({
  declarations: [
    MainComponent // <----- DON'T FORGET TO DECLARE THIS
  ],
  imports: [
    CommonModule,
    SharedModule,
    RouterModule,
    MainRoutingModule
  ]
})
export class MainModule { }

장치 테스트를 수행 중 이 오류가 발생하면 ImportRouterTestingModule에의app.component.spec.ts또는 주요 컴포넌트 내부를 참조하십시오.spec.ts:

import { RouterTestingModule } from '@angular/router/testing';

더하다RouterTestingModule에의imports: []맘에 들다

describe('AppComponent', () => {

  beforeEach(async(() => {    
    TestBed.configureTestingModule({    
      imports: [    
        RouterTestingModule    
      ],
      declarations: [    
        AppComponent    
      ],    
    }).compileComponents();    
  }));

Angular 6을 angular-cli에서 사용하고 있으며 라우팅 액티비티를 담당하는 별도의 라우팅 모듈을 작성한 경우 루트 배열에서 루트를 설정합니다.내보내기 배열에서 Router Module을 선언하고 있는지 확인합니다.코드는 다음과 같습니다.

@NgModule({
      imports: [
      RouterModule,
      RouterModule.forRoot(appRoutes)
     // other imports here
     ],
     exports: [RouterModule]
})
export class AppRoutingModule { }

이 에러는 이유 없이 표시되는 경우가 있습니다.IDE를 열고 닫으면 해결할 수 있습니다.

저는 app.modulets에 다음 코드를 추가하면 됩니다.

@NgModule({
...,
   imports: [
     AppRoutingModule
    ],
...
})

올바른 정의를 찾은 Hero Editor 예제 감사합니다.

앱 라우팅 모듈을 생성할 때:

ng generate module app-routing --flat --module=app

app-backets.ts 파일을 업데이트하여 다음을 추가합니다.

@NgModule({
  imports: [ RouterModule.forRoot(routes) ],
  exports: [ RouterModule ]
})

다음으로 완전한 예를 제시하겠습니다.

import { NgModule }             from '@angular/core';
import { RouterModule, Routes } from '@angular/router';

import { DashboardComponent }   from './dashboard/dashboard.component';
import { HeroesComponent }      from './heroes/heroes.component';
import { HeroDetailComponent }  from './hero-detail/hero-detail.component';

const routes: Routes = [
  { path: '', redirectTo: '/dashboard', pathMatch: 'full' },
  { path: 'dashboard', component: DashboardComponent },
  { path: 'detail/:id', component: HeroDetailComponent },
  { path: 'heroes', component: HeroesComponent }
];

@NgModule({
  imports: [ RouterModule.forRoot(routes) ],
  exports: [ RouterModule ]
})
export class AppRoutingModule {}

AppRoutingModule을 app.module.ts Import에 추가합니다.

@NgModule({
  declarations: [
    AppComponent,
    ...
  ],
  imports: [
    BrowserModule,
    FormsModule,
    AppRoutingModule
  ],
  providers: [...],
  bootstrap: [AppComponent]
})

모든 루트를 처리하는 라우팅 컴포넌트를 작성하는 것이 좋습니다.각진 웹사이트 매뉴얼에서!좋은 연습이네요!

ng generate module app-flat --flat = app

위의 CLI는 라우팅 모듈을 생성하여 앱 모듈에 추가합니다.생성된 컴포넌트에서 해야 할 일은 루트를 선언하는 것뿐입니다.또, 이 항목을 추가하는 것도 잊지 말아 주세요.

exports: [
    RouterModule
  ],

디폴트로는 생성된 어플리케이션 모듈에는 포함되어 있지 않기 때문에 ng-decorator에 문의해 주십시오.

이 에러의 원인은 다음과 같습니다.

, ㅇㅇㅇㅇㅇㅇ, ㅇㅇㅇㅇㅇ, ㅇㅇㅇ, ㅇㅇㅇㅇ, ㅇㅇㅇ, ㅇㅇ, ㅇㅇ, ㅇㅇ, ㅇㅇ, ㅇAppRoutingModuleapp.module.ts

app.context.ts:

imports: [AppRoutingModule]

새로운 라우팅 모듈을 작성한 경우 다음 라우팅 모듈에서 RouterModule을 Import 및 내보내기만 하면 됩니다.

@NgModule({
  declarations: [],
  imports: [RouterModule.forChild(routes)],
  exports: [RouterModule],
})
export class NewRoutingModule {}

이을 꼭 해 주세요.NewRoutingModule이치노

@NgModule({
  declarations: [NewComponent],               //--> Add NewComponent
  imports: [CommonModule, NewRoutingModule ]  //--> Add NewRoutingModule 
})
export class NewModule{}

다음으로 이 모듈을 app.module.ts 파일로 전송합니다.

@NgModule({
  declarations: [AppComponent],
  imports: [BrowserModule, AppRoutingModule, 
            BrowserAnimationsModule, 
            NewModule],       //--> Add NewModule
  providers: [],
  bootstrap: [AppComponent],
})
export class AppModule {}

하여 "/"를 <router-outlet>이 모듈에서는 새로운 라우팅 모듈을 사용하지 않습니다. 꼭 추가해 주세요.RouterModule새로 생성된 모듈의 ImportExport 어레이로 이동합니다.

newModule.module.ts:

import { RouterModule } from '@angular/router';

@NgModule({
  declarations: [NewComponent],          //--> Add NewComponent
  imports: [CommonModule, RouterModule]  //--> Add RouterModule
  exports: [RouterModule],               //--> Add RouterModule
})
export class NewModule{}

또한 새로 생성된 모듈을 app.ts.imports 배열에 추가하는 것도 잊지 마십시오.

app.context.ts:

@NgModule({
  declarations: [AppComponent],
  imports: [BrowserModule, AppRoutingModule, 
            BrowserAnimationsModule, 
            NewModule],       //--> Add NewModule
  providers: [],
  bootstrap: [AppComponent],
})
export class AppModule {}

문제는 Code에서만 했습니다.VS Code를 실행하고 .ng serve ★★★★★★★★★★★★★★★★★」ng build --prod잘 작동했어요.

이 문제를 해결한 것은 Angular Language Service 확장기능을 무효로 하는 것 뿐이었습니다.angular.ng-template를 다시 표시합니다.

제 경우엔 짐을 천천히 싣는 실수였습니다.라우팅 모듈을 가리키고 있었는데 라우팅 모듈을 소유하고 있는 모듈을 가리키고 있을 것입니다.

틀렸어

const routes: Routes = [
  {
    path: 'Login',
    loadChildren: ()=> import('./login/login-routing.module.ts').then(m=> m.LoginRoutingModule)
  }
]

맞다

const routes: Routes = [
  {
    path: 'Login',
    loadChildren: ()=> import('./login/login.module.ts').then(m=> m.LoginModule)
  }
]

나는 나에게 맞는 해결책을 찾았다.테스트하기 위해 정상적으로 동작하는 새로운 프로젝트를 만들고 app.component.html 내의 라우터-아웃렛 행을 제외한 모든 것을 서서히 삭제했습니다.이로 인해 항상 이 오류가 발생합니다.VSCODE 버전 1.53.x를 사용하고 있었기 때문에 1.54(2021년 2월)로 업그레이드하면 문제가 해소되었습니다.

으로 작성한 app-routing.module.ts CLI Import 할 AppRoutingModuleapp.module.tsNg Module Import ng ng the the the the ng the the the the the the the the the the를 만듭니다.app-routing.module.tsCLI の 음음음음 음음음 。

ng generate module app-routing --flat --module=app

이 문제를 해결하려면 다음 사항을 확인하십시오.

  1. Router Module 모듈을 모듈로 Import합니다.
  2. 모듈의 선언 배열에 컴포넌트를 추가합니다.
  3. 라우터 모듈을 명시적으로 정의한 경우 반드시 Import하십시오.

다음의 예를 참조해 주세요.

app.component.module

<router-outlet></router-outlet>

app-buff.ts.

import { NgModule } from '@angular/core'; 
import { Routes, RouterModule } from '@angular/router';
import { AboutUsComponent } from './components/about-us/about-us.component';
import { ContactUsComponent } from './components/contact-us/contact-us.component';
import { IndexComponent } from './components/index/index.component';
const routes: Routes = [
{ path: '', redirectTo: 'index', pathMatch: 'full' }, 
{ path: 'index', component: IndexComponent },
{ path: 'about-us', component: AboutUsComponent },
{ path: 'contact-us', component: ContactUsComponent }
];
@NgModule({
imports: [
    RouterModule.forRoot(routes, { relativeLinkResolution: 'legacy' })
],
exports: [
    RouterModule
],
providers: []
})
export class AppRoutingModule { }

app.context.ts:

import { NgModule} from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { IndexComponent } from './components/index/index.component';
import { AboutUsComponent } from './components/about-us/about-us.component';
import { ContactUsComponent } from './components/contact-us/contact-us.component';
import { FormsModule } from '@angular/forms';
import { RouterModule } from '@angular/router';
import { CommonModule } from '@angular/common';

@NgModule({
  imports: [
CommonModule,
FormsModule,
RouterModule,
BrowserModule,
BrowserAnimationsModule, 
AppRoutingModule,
 ],
declarations: [AppComponent, IndexComponent, AboutUsComponent, ContactUsComponent],
providers: [],
bootstrap: [AppComponent],
})
export class AppModule {}

나와 함께 작동한다!!!

이 경우 Import에서 Router Module이 누락되었기 때문에 발생합니다.

1. ' 경우.' 1. '실행하고 경우'app.module.ts음음음:

import { Routes, RouterModule } from '@angular/router';

const appRoutes: Routes = [
  { path: '', component: HomeComponent },
  { path: 'user', component: UserComponent },
  { path: 'server', component: ServerComponent }
];

@NgModule({
  imports: [
    RouterModule.forRoot(appRoutes)
  ]
})
export class AppModule { }

  1. 를 는 경우는,app-routing.module.ts Module)은 다음과 같습니다.

//app-routing.module.ts
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';

const appRoutes: Routes = [
  { path: '', component: HomeComponent },
  { path: 'users', component: UsersComponent },
  { path: 'servers', component: ServersComponent }
];

@NgModule({
  imports: [
    RouterModule.forRoot(appRoutes)
  ],
  exports: [RouterModule]
})
export class AppRoutingModule { }

//................................................................

//app.module.ts
import { AppRoutingModule } from './app-routing.module';

@NgModule({
  imports: [
    AppRoutingModule
  ]
})
export class AppModule { }

@NgModule({
  declarations: [
    SessionmagementComComponent, ***////Don't forgot to register main component for which html file you are using <router-outlet>...***
    LocalvssessionStorageComponent,
    SessionvslocallStorageComponent
  ],
  imports: [
    CommonModule,
    BrowserModule,
    SessionManagementStorageRoutingModule,
    RouterModule,
    AppRoutingModule
  ],
  exports: [
    LocalvssessionStorageComponent,
    SessionvslocallStorageComponent
  ]
})
export class SessionmagementModule { }

제 경우 실수로 ap.modules.ts의 @NgModule 선언에서 AppComponent를 삭제했습니다.

app.module.ts 파일에 오류가 있는 경우 이 오류가 표시될 수 있습니다.제 경우 존재하지 않는 컴포넌트를 Import하고 있었습니다.

이 문제는 나에게도 있었다.간단한 속임수야.

 @NgModule({
  imports: [
   .....       
  ],
 declarations: [
  ......
 ],

 providers: [...],
 bootstrap: [...]
 })

상기와 같이 사용하세요.먼저 선언을 가져온 다음 선언을 가져옵니다.그것은 나에게 효과가 있었다.

나도 같은 문제를 안고 있었는데, 난 변했어.

 templateUrl: `<router-outlet></router-outlet>`, 

로.

 template: `<router-outlet></router-outlet>`, 

덧붙여서, 당신의 컴포넌트가 당신의 모듈의 선언 배열에 존재하는 것을 주목하세요.

app.module.ts 파일에서

import { RouterModule, Routes } from '@angular/router';

const appRoutes: Routes = [
{
    path: '',
    redirectTo: '/dashboard',
    pathMatch: 'full',
    component: DashboardComponent
},  
{
    path: 'dashboard',
    component: DashboardComponent
}
];

@NgModule({
imports: [
    BrowserModule,
    RouterModule.forRoot(appRoutes),
    FormsModule               
],
declarations: [
    AppComponent,  
    DashboardComponent      
],
bootstrap: [AppComponent]
})
export class AppModule {

}

이 코드를 추가합니다.해피 코딩

에러가 발생하고 있는 경우는, 다음의 간단한 솔루션을 참조해 주세요.

각도 투영에서 "알려진 요소가 아닙니다"

그리고나서,

"app.module.ts" 파일로 이동하여 다음 행을 추가합니다.

import { AppRoutingModule } from './app-routing.module';

Import에는 AppRoutingModule도 포함되어 있습니다.

언급URL : https://stackoverflow.com/questions/44517737/router-outlet-is-not-a-known-element

반응형