नीचे एक प्रविष्टि जोड़कर मॉड्यूल app.module.ts
में आयात किए जाते हैं,
@NgModule({
declarations: [
AppComponent,
HomeComponent,
DirectoryComponent,
FilterPipe,
LoggingService
],
imports: [
FormsModule,
BrowserModule,
HttpClientModule,
routing
],
providers: [],
bootstrap: [AppComponent]
})
लेकिन RouterModule
का उपयोग सीधे ../src/app/app.routes.ts
में किया जाता है, जैसा कि नीचे दिखाया गया है,
import {Routes, RouterModule} from "@angular/router";
export const routes:Routes = [
/* Each route will be an object {}*/
{path: 'directory', component: DirectoryComponent},
{path: '', component: HomeComponent}
];
export const routing: ModuleWithProviders = RouterModule.forRoot(routes);
@NgModule(imports: [..])
में RouterModule
की कोई प्रविष्टि नहीं है।
1) क्या कोणीय मॉड्यूल आयात करने के विभिन्न तरीके हैं?
2) क्या कोणीय मॉड्यूल का आयात टाइपप्रति मॉड्यूल के आयात से अलग है?
2 जवाब
अपने routes.ts
में आप routes
नामक स्थिरांक बना रहे हैं, इसे RouterModule
निर्दिष्ट कर रहे हैं और इसे निर्यात कर रहे हैं।
अपने ऐप में, आप routes
स्थिरांक आयात कर रहे हैं, जो किसी अन्य की तरह ही मॉड्यूल का एक संदर्भ है:
@NgModule(
.... imports: [
routing, // here you are using the const
],
....
)
और आप इसे इस लाइन पर असाइन कर रहे हैं:
export const routing: ModuleWithProviders = RouterModule.forRoot(routes);
इसके बजाय आप निर्यात किए गए routes
का उपयोग कर सकते हैं और इसे अपने ऐप.मॉड्यूल में उपयोग कर सकते हैं:
@NgModule(
.... imports: [
RouterModule.forRoot(routes),
],
....
पहला इसे इस्तेमाल करने से पहले इसे एक वेरिएबल (वेल कॉन्स्ट) को असाइन कर रहा है।
टाइपस्क्रिप्ट मॉड्यूल एंगुलर मॉड्यूल से अलग हैं। टाइपस्क्रिप्ट मॉड्यूल आपको टाइपस्क्रिप्ट फ़ाइलों के बीच टाइपस्क्रिप्ट ऑब्जेक्ट साझा करने की अनुमति देता है। आप उन्हें हर जगह इस्तेमाल करते हैं, यहां तक कि गैर कोणीय टाइपस्क्रिप्ट में भी। वे import { something } from 'myfile.ts'
हैं और इसे जावास्क्रिप्ट में स्थानांतरित कर दिया जाता है ES5 को स्टेटमेंट की आवश्यकता होती है, और ठीक ES6 आयात की तरह। मेरे अनुभव में बहुत से लोग इन्हें मॉड्यूल के रूप में संदर्भित नहीं करते हैं।
कोणीय मॉड्यूल कोणीय घटकों, सेवाओं, निर्देशों और पाइपों आदि के मॉड्यूलर भाग होते हैं जिन्हें बंडल किया जाता है ताकि संकलक को पता चले कि क्या उनके साथ करने के लिए, और आप आसानी से उनसे कोणीय ऐप्स बना सकते हैं। अगर कोई कोणीय और मॉड्यूल के बारे में बात कर रहा है तो संभव है कि वे इनके बारे में बात कर रहे हों क्योंकि टाइपस्क्रिप्ट मॉड्यूल बहुत मौलिक हैं - प्रत्येक टाइपस्क्रिप्ट फ़ाइल में शीर्ष पर एकाधिक आयात होंगे।
एक प्रविष्टि है, आपने अभी-अभी इसका नाम routing
const
रखा है। तो आपके मामले में routing
वास्तव में RouterModule.forRoot(routes);
है जिसका अर्थ है कि यह RouterModule.
है
मुझे लगता है कि कोणीय टीम इसे यहां अच्छी तरह से समझाती है https://angular.io/guide/router
और कोई टाइपस्क्रिप्ट मॉड्यूल नहीं है। केवल कोणीय मॉड्यूल। आपके मामले में आपने कोणीय मॉड्यूल को const
नाम routing
से संदर्भित किया है और आपने इसे निर्यात किया है।
संबंधित सवाल
नए सवाल
angular
Google से वेब फ्रेमवर्क के बारे में प्रश्न इस टैग का उपयोग कोणीय प्रश्नों के लिए करें जो एक व्यक्तिगत संस्करण के लिए विशिष्ट नहीं हैं। पुराने AngularJS (1.x) वेब ढांचे के लिए, कोणीयज टैग का उपयोग करें।