2017-06-27 31 views
10

नोट का उपयोग करते समय कृपया एक @ एनजी मॉड्यूल एनोटेशन जोड़ें: मैं कोणीय के लिए नया हूं, इसलिए कृपया यहां किसी भी नए कॉमर मूर्खता से क्षमा करें।कोणीय सीएलआई - नवीनतम

विवरण

  • मैं कोणीय CLI
  • डिफ़ॉल्ट ऐप्लिकेशन लोड का नवीनतम संस्करण स्थापित और 'एनजी की सेवा'

अंक

के बाद बिल्कुल ठीक चलाता गए
  • मैंने ऐप मॉड्यूल में एक नया मॉड्यूल बनाने का फैसला किया
  • यह कुछ है जो मैंने कोणीय 2 में कुछ बार किया है और यह पूरी तरह से ठीक काम करता है
  • हालांकि, चूंकि मैंने कोणीय सीएलआई का नवीनतम संस्करण चलाया आज सुबह, एक मॉड्यूल टूटता आयात और मैं निम्न त्रुटि प्राप्त:

compiler.es5.js:1689 Uncaught Error: Unexpected directive 'ProjectsListComponent' imported by the module 'ProjectsModule'. Please add a @NgModule annotation.

अनुप्रयोग मॉड्यूल

import { BrowserModule } from '@angular/platform-browser'; 
 
import { NgModule } from '@angular/core'; 
 
import { AppComponent } from './app.component'; 
 
import { AngularFireModule } from 'angularfire2'; 
 
import { AngularFireDatabaseModule } from 'angularfire2/database'; 
 
import { AngularFireAuthModule } from 'angularfire2/auth'; 
 
import { environment } from '../environments/environment'; 
 
import { ProjectsModule } from './projects/projects.module'; 
 
import { HttpModule } from '@angular/http'; 
 

 

 
@NgModule({ 
 
    imports: [ 
 
    BrowserModule, 
 
    HttpModule, 
 
    ProjectsModule, 
 
    AngularFireModule.initializeApp(environment.firebase, 'AngularFireTestOne'), // imports firebase/app needed for everything 
 
    AngularFireDatabaseModule, // imports firebase/database, only needed for database features 
 
    AngularFireAuthModule // imports firebase/auth, only needed for auth features 
 
    ], 
 

 
    declarations: [AppComponent], 
 

 
    bootstrap: [AppComponent] 
 

 
}) 
 

 
export class AppModule { }

परियोजनाओं मॉड्यूल

import { BrowserModule } from '@angular/platform-browser'; 
 
import { NgModule } from '@angular/core'; 
 
import { ProjectsListComponent } from './projects-list.component'; 
 
import { RouterModule } from '@angular/router'; 
 

 
@NgModule({ 
 

 
    declarations: [ 
 
     ProjectsListComponent 
 
    ], 
 

 

 
    imports: [ 
 
    BrowserModule, 
 
    ProjectsListComponent, 
 
    RouterModule.forChild([ 
 
     { path: 'projects', component: ProjectsListComponent } 
 
    ]) 
 
    ] 
 
}) 
 

 
export class ProjectsModule { }

प्रक्रिया मैं मॉड्यूल को सेट करना करने के लिए लिया गया है किसी भी जब मैं कोणीय 2. हालांकि उपयोग कर रहा था करने के लिए अलग नहीं किया गया है , कोणीय क्ली, फायरबेस और कोणीय आग के बीच संगतता के मुद्दों के बाद, मैंने आज सुबह सब कुछ नवीनतम करने का फैसला किया।

इस एक के साथ कोई मदद massssssively सराहना की होगी के रूप में मैं यह सब की मेरी समझ के साथ एक ईंट की दीवार तक पहुंचते हैं।

धन्यवाद।

+0

कारण है कि आप एक परियोजना मॉड्यूल का उपयोग कर रहे हैं? –

+0

हाय राहुल।मैं परियोजनाओं और मुद्दों से संबंधित घटकों से संबंधित घटकों के साथ समाधान बनाने की योजना बना रहा हूं। मैं उन्हें "प्रोजेक्ट मॉड्यूल" और "समस्या मॉड्यूल" में अलग करने की योजना बना रहा हूं। इस प्रारंभिक परीक्षण में, मुझे अपने "प्रोजेक्ट मॉड्यूल" को जोड़ने के लिए केवल सामान्य रूप से काम नहीं किया गया है ... – MegaTron

+0

घोषणाओं के तहत अपने ऐप मॉड्यूल में 'प्रोजेक्ट्सलिस्ट कॉम्पोनेंट' आयात करने का प्रयास करें – Vignesh

उत्तर

9

समस्या अपने ProjectsModule में ProjectsListComponent के आयात है। आपको इसे आयात नहीं करना चाहिए, लेकिन इसे निर्यात सरणी में जोड़ें, अगर आप इसे अपने ProjectsModule के बाहर उपयोग करना चाहते हैं।

अन्य मुद्दों अपनी परियोजना रास्ते हैं। आपको इन्हें निर्यात करने योग्य चर में जोड़ना चाहिए, अन्यथा यह एओटी संगत नहीं है। और आपको कहीं भी BrowserModule आयात करना चाहिए, लेकिन आपके AppModule में। *ngIf, *ngFor...etc निर्देशों तक पहुँच प्राप्त करने CommonModule का उपयोग करें:

@NgModule({ 
    declarations: [ 
    ProjectsListComponent 
    ], 
    imports: [ 
    CommonModule, 
    RouterModule.forChild(ProjectRoutes) 
    ], 
    exports: [ 
    ProjectsListComponent 
    ] 
}) 

export class ProjectsModule {} 

project.routes.ts

export const ProjectRoutes: Routes = [ 
     { path: 'projects', component: ProjectsListComponent } 
] 
+1

हाय पियरे, बहुत बहुत धन्यवाद इस तरह के एक विस्तृत प्रतिक्रिया के लिए। 'एओटी संगत' क्या है? (यदि आप यहां जवाब देने में कोई फर्क नहीं पड़ता) ... (मैं दो मिनट में जवाब स्वीकार कर सकता हूं :)) – MegaTron

+3

एओटी = समय के आगे (https://angular.io/guide/aot-compiler)। इन-अस्तर (निर्यात करने योग्य टुकड़ों में तोड़ना नहीं) कोणीय को एओटी करने में सक्षम होने से रोक देगा - जिसका मतलब है कि आप बड़े प्रदर्शन लाभ से चूक जाएंगे कि एओटी @ मेगाट्रॉन देता है –

संबंधित मुद्दे