2015-09-10 17 views
6

का उपयोग करके पथ आयात करने का तरीका क्या गतिशील पथ का उपयोग करके मॉड्यूल को लोड करने का कोई अच्छा तरीका है (जहां आईडीई फ़ाइल का सुझाव दे सकता है या फ़ाइल में जा सकता है) या मॉड्यूल आयात करने के लिए रूट निर्देशिका से शुरू होता है?ES6 मॉड्यूल आयात

import * as Q from 'q'; 
 
import * as loopback from 'loopback'; 
 
import datasources from '../../../datasources.json'; 
 
import app from '../../../server'; 
 
import {ApiError, ValidationError, DatabaseError} from'../../../utils/error-handlers';

+0

आयात लोडर हैक? अपने पसंदीदा डिफ़ॉल्ट लोड स्थान पर 'node_modules' में एक प्रतीकात्मक लिंक डालें? एक चापलूसी निर्देशिका संरचना का प्रयोग करें? –

+0

तो आपके द्वारा पोस्ट किए गए उदाहरण कोड में क्या काम नहीं करता है? या आपको कोड के बारे में क्या पसंद नहीं है? – Bergi

+0

@ बर्गि कोड ठीक काम कर रहा है लेकिन मुझे पसंद नहीं है ../../ सापेक्ष निर्देशिका में जाना है, बल्कि मैं मूल निर्देशिका से जाना चाहता हूं। मान लीजिए कि निर्देशिकाएं हैं-> b-> सी से सी अगर मैं वर्तमान संरचना में बी पर जाना चाहता हूं तो यह '../b' होगा बल्कि मुझे 'ए/बी' चाहिए। –

उत्तर

0

मॉड्यूल पहचानकर्ता जरूरी भी एक रास्ता बिल्कुल नहीं है। उदाहरण के लिए, यह अक्सर node_modules फ़ोल्डर की खोज करता है। त्वरित उत्तर वाक्यविन्यास मॉड्यूल लोडर पर निर्भर करता है।

लेकिन व्यावहारिक उत्तर, यदि आप बेबेल का उपयोग कर रहे हैं (जैसा कि आप निर्दिष्ट कर सकते हैं क्योंकि यह एक ईएस 6 आयात था), यह है कि आप शुरुआत में '@' के साथ प्रोजेक्ट रूट से संबंधित एक स्थान निर्दिष्ट कर सकते हैं। उदाहरण के लिए, मेरी Vue.js परियोजना में, मेरे पास है:

import PageFooter from '@/components/PageFooter' 

मेरे मामले में, इस नेस्टेड घटकों का एक जटिल पेड़, विभिन्न गहराई में होने के मुद्दों से बचने कर सकते हैं।

आपके मामले में, आप हो सकता है:

import app from '@/server' 

संभालने सर्वर परियोजना जड़ (जैसे server.js के रूप में और नहीं एक फ़ोल्डर को स्वयं) में था।

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