2015-03-17 19 views
6

पर आयात पथ मुझे एम्बर सीएलआई में इसका उपयोग करते समय ईएस 6 मॉड्यूल में आयात पथ बहुत भ्रमित लगता है। उदाहरण के लिए, अगर मैं अपने आवेदन में एक मॉडल गहरी आयात करना चाहते हैं, मैं अंत में कुछ इस तरह कर रही है:एम्बर सीएलआई ईएस 6 मॉड्यूल: ऐप रूट

import User from '../../../../../models/user'; 

यह परीक्षण और त्रुटि के एक व्यायाम है, क्योंकि यह आसानी से फ़ोल्डर में कितना गहरा कल्पना करने के लिए मुश्किल है पेड़ मैं इसका उपयोग कर रहा हूँ। इससे भी बदतर, अगर मैं अपनी फाइलों को दोबारा बदलता हूं, तो सबकुछ टूट जाता है। ,

import User from 'app-name/models/user'; 

मैं रास्ते में ऐप्लिकेशन का नाम हार्ड-कोड के लिए नहीं पसंद करते हैं क्योंकि यह बदल सकते हैं:

तो वैकल्पिक रूप से, मैं इस तरह एक पूर्ण पथ का उपयोग कर सकते हैं।

क्या ऐप रूट निर्दिष्ट करने के लिए कोई शॉर्टेंड है?

./ काम नहीं करता है क्योंकि ./ वर्तमान पथ का तात्पर्य है।

import User from './models/user'; 
+1

इस पोस्ट में विचारों की एक किस्म है: http://lostechies.com/derickbailey/2014/02/20/how-i-work-around-the-require-problem-in-nodejs/ –

उत्तर

1

दुर्भाग्य से कोई रास्ता नहीं प्रोग्राम के रूप में एंबर में कम से कम ES6 आयात ताकि आप ENV.modulePrefix उपयोग नहीं कर सकते नाम के लिए है।

हालांकि एक कामकाज है। जब भी आप मॉड्यूल उपसर्ग को बदलना चाहते हैं तो एम्बर रूट के अंदर जेडएसएच से इस जीएनयू sed कमांड को चलाएं।

sed -i 's/previousName/newName/g' **/* 
संबंधित मुद्दे