2016-05-13 13 views
5

पर फ़ाइल नहीं मिली है, मैंने स्थानीय फाइलों को उन्हें खोलने के लिए नहीं ढूंढने के बारे में कुछ अलग-अलग पोस्ट देखी हैं, चाहे वे छवियां या डेटा फाइल हों, लेकिन मेरे लिए कोई भी समाधान काम नहीं करता है । मेरा अनुमान होगा कि कुछ कॉन्फ़िगरेशन मैं याद कर रहा हूं।कोणीय 2: स्थानीय .json फ़ाइल

जिस फ़ाइल को मैं ढूंढ रहा हूं वह मेरे डेटा.html और app.ts फ़ाइलों के समान स्तर पर "डेटा" नामक फ़ोल्डर में है।

<ion-menu (click)='getDepartments()' side='right' type='overlay' [content]="content"> 

और app.ts में फाइल मेरे पास है:

getDepartments() { 
    this.http.get('/data/data.json') 
     .map(res => res.json()) 
     .subscribe(
      data => this.departments = data, 
      err => console.log(err), 
      () => console.log('Random Quote Complete') 
     ); 
} 

मैं कोशिश की है

यहाँ है कि मैं क्या app.html में है, पी एस मैं भी उपयोग कर रहा हूँ है Ionic2 :

./data/data.json 

data/data.json 

app/data/data.json 

और कोई अन्य पथ। और वे सभी एक 404 फ़ाइल वापस त्रुटि नहीं मिला। यह कोणीय 2 से परिचित होने के साथ बढ़ती पीड़ा की तरह लगता है। अग्रिम धन्यवाद

उत्तर

15

पिछले उत्तरों ने इसे सीधे ऐप पर उपलब्ध कराने के लिए www फ़ोल्डर में डालने के लिए कहा है। मैं कहूंगा कि यह सबसे अच्छा समाधान नहीं है क्योंकि www फ़ोल्डर को नव निर्मित Ionic2 प्रोजेक्ट में .gitignore का उपयोग करके बाहर रखा गया है।

इसके बजाय इसे src/assets फ़ोल्डर में डालें और इसे ऐप में भी उपलब्ध कराया जाएगा और इसे गिट रेपो (डिफ़ॉल्ट रूप से) से बाहर नहीं रखा जाएगा। फिर आप इसका उपयोग कर सकते हैं: this.http.get('assets/file.json');

आप .gitignore फ़ाइल को संशोधित कर सकते हैं, लेकिन फिर आप अन्य अनावश्यक फ़ाइलों को शामिल कर सकते हैं।

+0

से दर्द होता है, मुझे लगता है कि यह उत्तर सही दीर्घकालिक समाधान है।खेद है कि चेक – discodane

+0

स्विच करने के लिए इतना समय लगा, कोई पसीना नहीं, इसे स्विच करने के लिए धन्यवाद। –

-2

क्या आपका सर्वर फ़ोल्डर '/ डेटा' देख सकता है? सुनिश्चित करें कि आपकी JSON फ़ाइल आपकी सार्वजनिक/स्थैतिक फ़ाइलों के समान निर्देशिका में स्थित है।

+0

यह सब इसलिए मैं अपने 'सर्वर ग्रहण करेंगे स्थानीय है '/ कंप्यूटर/डेटा फ़ोल्डर देख सकता है। मेरे पास मेरी परियोजना में सार्वजनिक/स्थिर फाइल निर्देशिका नहीं है। – discodane

+0

2/4 महीने बाद कोणीय से परिचित होने के बाद मेरा दिमाग आपके उत्तर – DaAmidza

2

मुझे एहसास नहीं हुआ कि आईओनिक के साथ काम करना है कि यह ऐप फ़ोल्डर में सब कुछ संकलित करता है और इसे www/build फ़ोल्डर में रखता है। इसलिए जब मैंने असम्पीडित ऐप फ़ोल्डर में पथ डाला तो मुझे एहसास नहीं हुआ कि जिस फ़ाइल में मैं पथ डाल रहा हूं वह वह जगह नहीं है जहां मुझे लगता है कि यह है।

तो मैंने दो चीजें की, प्रत्येक काम किया। मैंने फ़ाइलों को सीधे www फ़ाइल में रखा है (उन्हें बिल्ड फ़ाइल में न रखें क्योंकि हर बार जब आप आयनिक सेवा चलाते हैं तो उन्हें हटा दिया जाएगा), और फिर तदनुसार पथ को ठीक करें। या बस यह जानने के पथ को ठीक करें कि जब आप अपने ऐप.एट में फ़ाइल की तलाश करते हैं, तो उसे पहले www/Build से बाहर निकलना होगा।

1

किसी भी व्यक्ति के लिए जो एक ही समस्या को हल करने में रुचि रखते हैं। यदि आप कोणीय सीएलआई का उपयोग कर रहे हैं और आप इस मामले में "डेटा" फ़ोल्डर के रूप में किसी भी फ़ोल्डर को http के माध्यम से सुलभ बनाना चाहते हैं।

कोणीय-CLI.JSON पर जाएं तो जोड़ें "फ़ोल्डर का नाम" जो क्षुधा के तहत "डाटा" है -> संपत्ति

"apps": [ 
 
    { 
 
     "root": "src", 
 
     "outDir": "dist", 
 
     "assets": [ 
 
     "assets", 
 
     "favicon.ico", 
 
     "data" 
 
     ],

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