2016-11-15 11 views
7

मैं फायरबेस के साथ एक कोणीय 2 ऐप (कोणीय क्ली के साथ बनाया गया) होस्ट करने की कोशिश कर रहा हूं लेकिन मेरे मार्ग काम नहीं कर रहे हैं।कोणीय-क्ली फ़ायरबेस होस्टिंग कोणीय 2 राउटर काम नहीं कर रहा है

मैंने एक ऐसी साइट के लिए कोणीय 2 और टाइपस्क्रिप्ट के साथ एक प्रोजेक्ट बनाया है जहां मैं काम कर रहा हूं, जहां मैं एक स्थिर गोपनीयता-नीति पृष्ठ चाहता हूं।

जब मैं अपने ब्राउज़र में

ng serve 

करते हैं और http://localhost:4200/privacy-policy पर नेविगेट मैं सामग्री मैं उम्मीद मिलता है।

यहाँ कोड के रूप में पृष्ठ-

@NgModule({ 
    declarations: [ 
     AppComponent, 
     HomeComponent, 
     TermsOfServiceComponent, 
     PrivacyPolicyComponent, 
     PageNotFoundComponent 
    ], 
    imports: [ 
     AlertModule, 
     BrowserModule, 
     FormsModule, 
     HttpModule, 
     RouterModule.forRoot([ 
      {path: 'privacy-policy', component: PrivacyPolicyComponent}, 
      {path: 'terms-of-service', component: TermsOfServiceComponent}, 
      {path: '', component: HomeComponent}, 
      {path: '**', component: PageNotFoundComponent} 
     ]) 
    ], 
    providers: [], 
    bootstrap: [AppComponent] 
}) 
export class AppModule { 
} 

मैं Firebase अपने प्रोजेक्ट यहाँ के साथ की मेजबानी कॉन्फ़िगर कोणीय 2 मार्ग द्वारा सिफारिश की है मेरे config है फ़ाइल

{ 
    "database": { 
    "rules": "database.rules.json" 
    }, 
    "hosting": { 
    "public": "dist" 
    } 
} 

तैनात करने के लिए मैं

चलाने
ng build --prod 
firebase deploy 

जब मैं https://MY-APP.firebaseapp.com/पर नेविगेट करता हूंऐप डिफ़ॉल्ट मार्ग के लिए ठीक लोड करता है।

लेकिन जब मैं करने के लिए https://MY-APP.firebaseapp.com/privacy-policy मैं 404.

मिल नेविगेट करने के लिए मैं के रूप में यह किया एनजी के साथ सेवा यह काम करने की उम्मीद है | प्रयास करें।

किसी भी मदद की सराहना की जाएगी।

उत्तर

11

अपने app.module.ts फ़ाइल में सिर्फ बातें निम्नलिखित जोड़ें:

घोषित

import { LocationStrategy, HashLocationStrategy} from '@angular/common'; 

और प्रदाताओं में निम्नलिखित जोड़ें

@NgModule({ 
     declarations: [...], 
     imports:[...], 
     providers:[..,{ provide: LocationStrategy, useClass: HashLocationStrategy },..] 
     ..., 
    }) 

आशा इससे आपकी समस्या का समाधान होगा।

और यदि संभव हो तो अपने रूट को अलग फ़ाइल में रखें।

चीयर्स

+0

यह मेरी समस्या का समाधान हो। स्पष्टीकरण के लिए, आप कह रहे हैं कि कोणीय जेएस का उपयोग कर फायरबेस होस्टिंग में मुझे पूर्ण पथ के लिए यूआरएल खंड का उपयोग करने की आवश्यकता है। https://MY-APP.firebaseapp.com/#/privacy-policy –

16

देर प्रतिक्रिया, लेकिन जब से मैं आज एक ही समस्या का सामना करना पड़ा जब मैं Firebase पर मेरे ऐप को तैनात किया, यहां इसके लिए त्वरित सुधार है:

अपने firebase.json फ़ाइल में अद्यतन पुनर्लेखन नियमों को परिभाषित करने के द्वारा अपने होस्टिंग कुंजी:

 
    "hosting": { 
    "public": "dist", 
    "rewrites": [ { 
     "source": "**", 
     "destination": "/index.html" 
    } ] 
    } 
+0

यही जवाब है क्योंकि मैं अपने वेब ऐप में हैशलोकेशनस्ट्रेटी का उपयोग नहीं करना चाहता हूं। धन्यवाद @Vlad – andreasonny83

+0

यह मेरे लिए काम किया। – user482594

+0

यह स्वीकार्य उत्तर होना चाहिए –

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