2016-09-21 38 views
17

angular-cli.json फ़ाइल में सरणी प्रकार का है। यदि मैं इस सरणी में दूसरा तत्व जोड़ता हूं, तो मैं दोनों तत्वों को बनाने के लिए ng build को कैसे निर्देश दे सकता हूं?कोणीय-क्ली के साथ कई अनुप्रयोगों का निर्माण कैसे करें?

उत्तर

9

वर्तमान में v1.0.0 आप केवल जो आप निम्न आदेश से निर्माण करना चाहते हैं एप्लिकेशन का चयन कर सकते हैं:

ng build -a appName

या

ng build --app appName

आप भी प्रत्येक के लिए name संपत्ति जोड़ने की आवश्यकता होगी apps सरणी में तत्व ताकि आपके पास ऐसा कुछ होगा:

"apps": [ { "name": "app1", "root": "src/app1root", ... }, { "name": "app2", "root": "src/app2root", ... }, ... ]

भी आप उस मामले आप अनुप्रयोग नाम निर्दिष्ट करने की आवश्यकता नहीं है में ng build -a 0 या ng build -a 1 तरह एप्लिकेशन सूचकांकों का उपयोग कर सकते हैं।

कोणीय CLI sorces से

आप देख सकते हैं वहाँ एक आदेश के सभी एप्लिकेशन को चलाने के लिए, आप या तो सूचकांक या तो ऐप्लिकेशन का नाम निर्दिष्ट करना चाहिए अन्यथा apps[0] इस्तेमाल किया जाएगा, ताकि आप एक ही सब पर क्षुधा निर्माण नहीं कर सकते कोई संभावना नहीं है एक ng build कॉल का उपयोग कर समय।

my-app 
    --dist/ 
    --e2e/ 
    --src/ 
    .angular-cli.json 
    package.json 
    Makefile 

Makefiles व्यवस्थित करने के लिए अनुमति देता है:

5

मैंने angular-cli स्रोत कोड खोजा लेकिन कोड के किसी भी संदर्भ को नहीं मिला जो कि किसी भी सरणी के रूप में apps की सामग्री को पुन: सक्रिय करता है या अन्यथा निरीक्षण करता है।

अब की (angular-cli संस्करण 1.0.0-beta.15) के रूप में, कि apps के साथ संबंधित कोड के प्रत्येक उदाहरण सरणी hardcoded (apps[0]) के पहले तत्व का उपयोग करता है। सरणी के पहले तत्व का उपयोग करने के डिफ़ॉल्ट व्यवहार को बनाने या बदलने के लिए ऐप का चयन करने का कोई तरीका प्रतीत नहीं होता है।

इस परियोजना में विभिन्न अनुप्रयोगों के गुण:

apps तत्व के लिए JSON स्कीमा यह इस तरह से वर्णन करता है।

/** 
* Properties of the different applications in this project. 
*/ 
apps?: { 
    root?: string; 
    outDir?: string; 
    assets?: string; 
    index?: string; 
    main?: string; 
    test?: string; 
    tsconfig?: string; 
    prefix?: string; 
    mobile?: boolean; 
    /** 
    * Global styles to be included in the build. 
    */ 
    styles?: string[]; 
    /** 
    * Global scripts to be included in the build. 
    */ 
    scripts?: string[]; 
    /** 
    * Name and corresponding file for environment config. 
    */ 
    environments?: { 
     [name: string]: any; 
    }; 
}[]; 

यह परियोजना एक ही कोड बेस से बाहर कई एप्लिकेशन बना समर्थन करने के लिए के भविष्य के इरादे प्रतीत हो रहा है, लेकिन यह नहीं लगता है जैसे कि यह कुछ अभी संभव है (1.0.0-beta.15 संस्करण)।

+0

ठीक है, मैं खुले प्रश्न को छोड़ दूंगा कि कोणीय-क्ली डेवलपर्स निकट भविष्य में इसे कार्यान्वित करेंगे। – Readren

+1

मुझे कोणीय-क्ली की प्रलेखन की कमी – Kamaruni

+0

@ kamaruni मुझे लगता है कि मुझे भी लगता है। मेरी आशा है कि वे समय के साथ बेहतर बना देंगे, खासकर अब जब कोणीय 2 फाइनल खत्म हो गया है। कम से कम गिथब पेज है: https://github.com/angular/angular-cli और विकी को न भूलें: https://github.com/angular/angular-cli/wiki –

2

फिर भी वहाँ किसी भी झंडा ng build --app, हल करने के लिए इस Makefile बनाने के लिए परियोजना के रूट में फ़ाइल है, तो सबसे अच्छा तरीका है एक आदेश के साथ किए गए सभी एप्लिकेशन का निर्माण करने के लिए नहीं है आपके द्वारा प्रदान किए गए निर्देशों के अनुसार कोड संकलन। इसलिए हमें आउटपुट निर्देशिका में सभी ऐप्स के लिए फ्रंटएंड बनाने के लिए निर्देश प्रदान करने की आवश्यकता है। टैब में

help: 
    @echo "_______BUILD ANGULAR FRONTEND______\n" 
    @echo "To build all apps run make make build-frontend" 

build-frontend: 
    ng build -a=0 &&\ 
    ng build -a=1 

आप हालांकि बाद कॉपी-पेस्ट कोड से ऊपर, परिवर्तन रिक्त स्थान: अब Makefile फ़ाइल इस तरह दिखता है।अन्यथा आपको अमान्य मेकफ़ाइल *** missing separator error

रूट प्रोजेक्ट पर नेविगेट करें और केवल परीक्षण करने के लिए, टर्मिनल में make टाइप करें और आपको सहायता संदेश मुद्रित करना चाहिए। उसके बाद:

make build-frontend 

अब आपके पास एकाधिक एक ऐप्स केवल एक कमांड के साथ निर्मित है।

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