2016-10-31 18 views
7

हमारे कोणीय 2 प्रोजेक्ट में, हमने अपने सभी मॉडल ts फ़ाइलों को एक विशिष्ट फ़ोल्डर में रखा है:/app/common/model/*। मैं उन्हें अपने घटकों में रिश्तेदार पथों के साथ बुला सकता हूं, लेकिन यह बहुत श्रमिक है। तो 2 समाधान, सर्वोत्तम कस्टम पथ है: StackOverflow: Relative Paths for SystemJS & ES module imports। लेकिन मेरा आईडीई पथ नहीं ढूंढ सकता है।कोणीय 2 आयात पूर्ण पथ या कस्टम पथ (टाइपस्क्रिप्ट 2)

{ 
    "compilerOptions": { 
    "target": "es5", 
    "module": "commonjs", 
    "moduleResolution": "node", 
    "sourceMap": true, 
    "emitDecoratorMetadata": true, 
    "experimentalDecorators": true, 
    "removeComments": false, 
    "noImplicitAny": true, 
    "suppressImplicitAnyIndexErrors": true, 
    "outDir": "built", 
    "baseUrl": ".", 
    "paths": { 
     "mymodel/*": [ 
     "app/common/model/*" 
     ] 
    } 
    } 
} 

मेरी घटक में: import { Address } from 'mymodel/address.model';

आईडीई [ts] मॉड्यूल नहीं खोजा जा सका .... मैं के साथ या रास्ते में बिना * कोशिश की

दूसरा समाधान यहाँ मेरी tsconfig है: Stackoverflow: Angular 2, imports between different folders

आईडीई और संकलन घटक में ठीक कर रहे हैं, पूरा पथ के साथ: import { Address } from 'common/model/address.model';

और tsconfig:

{ 
    "compilerOptions": { 
    "target": "es5", 
    "module": "commonjs", 
    "moduleResolution": "node", 
    "sourceMap": true, 
    "emitDecoratorMetadata": true, 
    "experimentalDecorators": true, 
    "removeComments": false, 
    "noImplicitAny": true, 
    "suppressImplicitAnyIndexErrors": true, 
    "outDir": "built", 
    "baseUrl": ".", 
    "paths": { 
     "*": [ 
     "app/*", 
     "node_modules/*" 
     ] 
    } 
    } 
} 

लेकिन हम सभी मॉडलों के लिए पृष्ठ लोड पर 404 है। शायद systemjs फ़ाइल में एक विन्यास?

दोनों मामलों में, मुझे लगता है कि "आउटडियर" पैरामीटर समस्या है, और हम कुछ खो रहे हैं।

सहायता के लिए बहुत धन्यवाद!

सादर,

टाइपप्रति: 2.0.6 कोणीय: 2.0.0

+0

आप किस आईडीई का उपयोग कर रहे हैं? मेरा (इंटेलिजे/वेबस्टॉर्म) में, मैं लगभग कभी आयात नहीं करता हूं: आईडीई इसे मेरे लिए जोड़ता है। –

+0

विजुअल स्टूडियो कोड। तुम्हारा यह पूर्ण पथ है? – lginlap

+0

पहला समाधान अन्य आईडीई के साथ बढ़िया काम कर रहा है ... क्षमा करें, यह एक कठोर समस्या है – lginlap

उत्तर

2

इंटरनेट पर खोज n वास्तव में क्या समस्या है और विभिन्न समस्या निवारण विकल्प की कोशिश कर समझने की कोशिश कर से संघर्ष करने के बाद, मैं baseurl में पता चला और पथ कैसे मिलकर काम करता है

नोट: यह समाधान कोणीय Cli 1.x के लिए है। अन्य उपकरण के बारे में निश्चित नहीं है,

यदि आप बेसयूआरएल का उपयोग करते हैं: "। नीचे है जैसे कि यह VScode में काम करता है लेकिन

{ 
    "compileOnSave": false, 
    "compilerOptions": { 
    "outDir": "./dist/out-tsc", 
    "baseUrl": ".", 
    "paths": { 
     "@myproject/*": ["src/app/*"] 
    }  
} 

जहां तक ​​मेरी समझ और मेरे कार्य अनुप्रयोग और कोणीय aio कोड में जाँच नहीं की संयोजित करते समय, मैं baseurl के रूप में उपयोग करने का सुझाव: "" src

नीचे की तरह
{ 
    "compileOnSave": false, 
    "compilerOptions": { 
    "outDir": "./dist/out-tsc", 
    "baseUrl": "src", 
    "paths": { 
     "@myproject/*": ["app/*"], 
     "testing/*": ["testing/*"] 
    }  
} 

आधार URL (स्रोत निर्देशिका) के रूप में आधार URL रखते हुए, कंपाइलर मॉड्यूल को ठीक से हल करता है।

मुझे आशा है कि इससे लोगों को इस तरह के मुद्दे को हल करने में मदद मिलेगी।

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