मैंने "एनजी नष्ट घटक फू" का उपयोग करने की कोशिश की और यह मुझे बताता है "विनाश कमांड कोणीय-सीएलआई द्वारा समर्थित नहीं है"
हम कोणीय सीएलआई के साथ घटकों को ठीक से कैसे हटाते हैं?
मैंने "एनजी नष्ट घटक फू" का उपयोग करने की कोशिश की और यह मुझे बताता है "विनाश कमांड कोणीय-सीएलआई द्वारा समर्थित नहीं है"
हम कोणीय सीएलआई के साथ घटकों को ठीक से कैसे हटाते हैं?
जवाबों:
destroy
या ऐसा ही कुछ सीएलआई में आ सकता है, लेकिन यह इस समय प्राथमिक फोकस नहीं है। तो आपको इसे मैन्युअल रूप से करने की आवश्यकता होगी।
घटक निर्देशिका को हटा दें (यह मानते हुए कि आपने उपयोग नहीं किया था --flat
) और फिर उसे हटा दें NgModule
जिसमें यह घोषित किया गया है।
यदि आप इस बारे में अनिश्चित हैं कि क्या करना है, तो मेरा सुझाव है कि आपके पास "क्लीन" ऐप है जिसका अर्थ है कोई वर्तमान git
परिवर्तन नहीं। फिर एक कंपोनेंट जेनरेट करें और देखें कि रेपो में क्या बदलाव किया गया है ताकि आप वहां से पीछे हट सकें कि आपको कंपोनेंट हटाने के लिए क्या करना होगा।
यदि आप बस इस बारे में प्रयोग कर रहे हैं कि आप क्या उत्पन्न करना चाहते हैं, तो आप --dry-run
डिस्क का उपयोग डिस्क पर किसी भी फाइल का निर्माण नहीं करने के लिए कर सकते हैं , बस अद्यतन की गई फ़ाइल सूची देखें।
चूंकि यह अभी तक कोणीय सीएलआई का उपयोग करके समर्थित नहीं है
इसलिए यहां संभव तरीका है, इससे पहले कृपया देखें कि क्या होता है जब आप सीएलआई (पूर्व ng g c demoComponent
) का उपयोग करके एक घटक / सेवा बनाते हैं ।
demoComponent
( ng g c demoComponent
) नाम से एक अलग फ़ोल्डर बनाता है ।HTML,CSS,ts
और एक spec
फाइल जो डेमोकेमपेंट को समर्पित है।इसलिए इसे उल्टे क्रम में करें
app.module.ts
निर्भरता को दूर करते समय आपको दो काम करने होंगे।
वर्तमान में कोणीय सीएलआई घटक को हटाने के लिए एक विकल्प का समर्थन नहीं करता है, आपको इसे मैन्युअल रूप से करने की आवश्यकता है।
मैंने एक बैश स्क्रिप्ट लिखी है जिसे नीचे याकॉव फेन द्वारा लिखित प्रक्रिया को स्वचालित करना चाहिए। इसे जैसे कहा जा सकता है ।/removeComponent myComponentName यह केवल Angular 6 के साथ परीक्षण किया गया है
#!/bin/bash
if [ "$#" -ne 1 ]; then
echo "Input a component to delete"
exit 1
fi
# finds folder with component name and deletes
find . -type d -name $1 | xargs rm -rf
# removes lines referencing the component from app.module.ts
grep -v $1 app.module.ts > temp
mv temp app.module.ts
componentName=$1
componentName+="Component"
grep -v -i $componentName app.module.ts > temp
mv temp app.module.ts
मुझे यकीन नहीं है कि यह सबसे अच्छा तरीका है, लेकिन इसने मेरे लिए काम किया।
मैंने सिर्फ ऐप को सेव और रिफ्रेश किया और यह काम कर गया।
App.module.ts से:
तब घटक आप हटाना और उसके शामिल फ़ाइलों करना चाहते हैं फ़ोल्डर हटाना ( .component.ts
, .component.html
, .component.css
और .component.spec.ts
)।
किया हुआ।
-
मैंने लोगों को मुख्य से इसे मिटाने के बारे में कहते हुए पढ़ा। आप इसे पहली जगह में वहाँ से आयात करने वाले नहीं थे क्योंकि यह पहले से ही AppModule का आयात करता है, और AppModule आपके द्वारा बनाए गए सभी घटकों को आयात करने वाला है।
मुझे एक कोणीय 6 निर्देश को हटाने की आवश्यकता थी जिसकी कल्पना फ़ाइल गलत थी। यहां तक कि आपत्तिजनक फाइलों को हटाने, उसके सभी संदर्भों को हटाने और एप्लिकेशन के पुनर्निर्माण के बाद भी, TS अभी भी उसी त्रुटि की रिपोर्ट कर रहा था। मेरे लिए जो काम किया गया वह विज़ुअल स्टूडियो को फिर से शुरू कर रहा था - इससे पुराने अवांछित निर्देश की त्रुटि और सभी निशान साफ हो गए।
यदि आप CLI में कुछ कमांड खोज रहे हैं, तो ans अभी के लिए NO है। लेकिन आप घटक फ़ोल्डर और सभी संदर्भों को हटाकर मैन्युअल रूप से कर सकते हैं ।
यह कोणीय सीएलआई द्वारा समर्थित नहीं है और वे किसी भी समय इसे जल्द ही शामिल करने के मूड में नहीं हैं।
यहाँ वास्तविक निर्मित मुद्दे की कड़ी है - https://github.com/angular/angular-cli/issues/1776
git checkout src
) पर गिट चेकआउट कर सकते हैं ।