मैं अपनी लाइब्रेरी में एक आयातित scss फ़ोल्डर कैसे घोषित / शामिल कर सकता हूं, इसलिए मैं अपने आवेदन की scss फाइलों में @import कर सकता हूं?

Aug 17 2020

लक्ष्य:

मैं अपने पुस्तकालय से एक पथ को शामिल करने की कोशिश कर रहा हूं ताकि मैं @importअपने आवेदन में एससीएस फाइलों को शामिल करने के लिए एक बयान का उपयोग कर सकूं:

@import "some-scss-in-my-lib"

समस्या:

दुर्भाग्य से हर बार जब मैं अपने आवेदन की सेवा करने की कोशिश करता हूं तो मुझे निम्नलिखित कंपाइलर त्रुटि मिल रही है:

SassError: Can't find stylesheet to import.

मैंने पहले ही कोशिश की है:

  • Stackoverflow पर खोज को देखते हुए मुझे इस धागे को लाया गया जो उसी समस्या का वर्णन करता है जैसा मैं अभी सामना कर रहा हूं। और मैंने styleIncludePathsसंपत्ति के साथ पथ को शामिल करने की कोशिश की है जैसे ज़ैनू ने सुझाव दिया था, लेकिन जब मैं उस समस्या को हल करने के लिए आवेदन करने की कोशिश कर रहा हूं, जैसा कि ऊपर दी गई समस्या में बताया गया है।

  • मैंने पहली पोस्ट में GreatHawkeyestylePreprocessorOptions जैसी संपत्ति सेट करने की कोशिश की और उपयोग करने के बाद scss@import फाइल करना संभव था ng build, लेकिन मैं यह नहीं समझ सकता कि यह कैसे और क्यों काम कर रहा है stylePreprocessorOptionsलेकिन नहीं styleIncludePaths?

  • मैंने google पर खोज करने की भी कोशिश की, जो मुझे StyleIncludePaths विकल्प का उपयोग करके बंडल करने में असमर्थ बना रहा है जहाँ मुझे Alan Aguis द्वारा एक उत्तर मिला , लेकिन दुर्भाग्य से कोई वास्तविक विवरण नहीं था कि वास्तव में InIncludePaths क्या है। एलन अगोन्स ने केवल यही कहा था:

ऐसा इसलिए है क्योंकि styleIncludePaths किसी और चीज़ के लिए प्रेरित है।

लेकिन जैसा कि उन्होंने कहा, उन्होंने यह नहीं कहा कि वास्तव में स्टाइलक्लिप्पथ्स क्या है, जिसने मुझे और भी भ्रमित कर दिया।

मैंने एनजी-पैकाग्रा जीथूब पेज को भी देखने की कोशिश की थी कि "स्टाइलइन्क्लूडपैथ्स" का उपयोग करने के बारे में थ्रेड पर स्टाइल जोड़ें पथ के बारे में प्रलेखन के बारे में था, लेकिन परिणाम अभी भी वही था और मुझे अपनी समस्या का स्पष्ट जवाब नहीं मिला।

इस मुद्दे के बारे में प्रश्न:

  1. एनजी-पैकेज में styleIncludePaths कब इस्तेमाल किया गया है। क्या इसका उपयोग केवल प्रकाशित पैकेजों के लिए किया जाता है?

  2. जब stylePreprocessorOptions को angular.json में उपयोग किया जाता है? क्या यह एनजी बिल्ड चलने के बाद ही डिस्टर्ब वर्जन के लिए इस्तेमाल किया जाता है ?

  3. सामान्य तौर पर क्या होता है styleIncludePaths से ng-package.json के बीच का अंतर stylePreprocessorOptions की तुलना angular.json से है?

  4. मैं अपनी लाइब्रेरी में एक आयातित scss फ़ोल्डर कैसे घोषित / शामिल कर सकता हूं, इसलिए मैं अपने आवेदन की scss फाइलों में @import कर सकता हूं?

मुझे पूरा यकीन है कि मैं अपने सुझावों में गलत हूं, लेकिन मैं जानना चाहता हूं कि क्या हो रहा है और मेरे मुद्दे को कैसे हल किया जाए।

इस पर कोई मदद हमेशा की तरह बहुत सराहना की है! 🙏🏻

जवाब

2 FyZ1K Aug 24 2020 at 19:30

पर जवाब के रूप में GitHub , मैं बोली एलन-agius4 :

शामिल पथों का उपयोग CSS प्रोसेसर द्वारा लाइब्रेरी के निर्माण के दौरान आयात करने के लिए किया जाता है जब scss / कम / स्टाइलस फ़ाइलों को संसाधित करते हैं। आपकी शिप अनप्रोसेस्ड scss फाइल्स में, इन रास्तों को लाइब्रेरी लेवल के बजाय एप्लीकेशन लेवल पर शामिल करने की जरूरत होगी, क्योंकि ऐसी फाइल्स को लाइब्रेरी बिल्ड पाइप लाइन नहीं संभाल पाएगी, बल्कि एप्लीकेशन की। उन्हें सिर्फ स्टैटिक फाइल के रूप में कॉपी किया जाता है। यदि आप आवेदन स्तर पर ऐसे पथों को शामिल नहीं करना चाहते हैं, तो आप वेबपैक के टिल्ड आयात सिंटैक्स पूर्व का लाभ उठा सकते हैं:

@import "~/my-lib/scss/mixins”.

नोट: वेबपैक विशिष्ट विशेषताएं आधिकारिक रूप से कोणीय टूलींग टीम द्वारा समर्थित नहीं हैं और चेतावनी के बिना टूट सकती हैं।