मेरे पास एक बहुत ही सरल 'हैलो वर्ल्ड' Angular2 ऐप था। मैंने अपने देव परियोजना और मेरे वसंत बैकएंड पर अंतिम तैनाती फ़ोल्डर के बीच विभिन्न निर्देशिका संरचनाओं के साथ काम करने के लिए स्पष्ट रूप से अनुचित निर्णय भी बनाया।कोणीय 2 और टाइपस्क्रिप्ट node_modules का आयात
इस अंतर की वजह से, मैं टाइपप्रति आयात के साथ एक समस्या थी, और जब मैं अपने ब्राउज़र में वास्तविक एप्लिकेशन खोलने की कोशिश की इस पंक्ति 404 त्रुटियों (/ angular2/कोर पुस्तकालय खोजने में असमर्थ) का निर्माण समाप्त हो गया:
import {Component, View} from 'angular2/core';
इतने लंबे समय कहानी संक्षेप में, मैं सब कुछ काम करने के लिए/एप्लिकेशन फ़ोल्डर वापस जोड़ने समाप्त हो गया, लेकिन मैं अपने आयात बयान को संशोधित करने के रूप में निम्नानुसार समाप्त हो गया:
import {Component, View} from '../node_modules/angular2/core';
लेकिन यह बाहर कारण में बदल गया कुछ अजीब व्यवहार।
<script src="/node_modules/angular2/bundles/angular2.dev.js"></script>
: कुछ पुस्तकालय पथ में
../node_modules
को निर्दिष्ट कारण जे एस वास्तव में ajax
npm_modules/angular2/
फ़ोल्डर भले ही यह मेरा HTML शीर्षक का हिस्सा था से प्रत्येक व्यक्ति फ़ाइल को प्राप्त करने के लिए कॉल का उपयोग कर खरोंच से सभी Angular2 फ़ाइलें लोड करने के लिए खड़ी कर रहा है
जब मैं अंत में एहसास हुआ कि मैं क्या हो रहा है
import {Component, View} from 'angular2/core';
वापस करने के लिए आयात बयान को वापस लाया गया और यह सब काम किया। Angular2 अब ऊपर लिपि टैग से पूरी तरह से लोड किया गया था और अतिरिक्त AJAX कॉल द्वारा लोड की गई कोई भी फाइल नहीं थी।
क्या कोई यह बता सकता है कि इसका क्या कारण है? मुझे लगता है कि यह सामान्य व्यवहार है लेकिन मुझे समझ में नहीं आता कि आयात कैसे काम करता है और अधिक विस्तृत पथ निर्दिष्ट करने से ऐसा अंतर होता है।
टीएस दुनिया में मॉड्यूल आयात करने के बारे में अधिक जानकारी के लिए: https://www.typescriptlang.org/docs/handbook/module-resolution.html दस्तावेज़ इसके लिए अच्छा प्रदर्शन कर रहे हैं। वास्तव में। – rashadb