2014-07-07 5 views
11

यह वर्तमान में संभव है:पर्यावरण के अलावा एम्बर-क्ली में झंडे कैसे सेट करें?

ember build --environment=production 

... और मैं इस के बजाय की तरह कुछ करना चाहते हैं:

ember build --environment=production --baseurl=foo 

लेकिन config/environment.js केवल environment के मूल्य में पारित कर दिया जाता है।

क्या कमांड लाइन में पास किए गए अन्य विकल्पों का मूल्य भी प्राप्त करना संभव है?

उत्तर

4

आप टर्मिनल से या एक निर्माण स्क्रिप्ट के हिस्से के रूप वातावरण चर पुराने जमाने रास्ता (export WHATEVER=wee) सेट कर सकते हैं, तो process.env.WHATEVER साथ नोड के माध्यम से अपने Brocfile.js में संदर्भित नहीं करते। उसके बाद, यह ब्रोकोली होने का विषय होगा जो आपको उनके साथ करने की ज़रूरत है। उदाहरण के लिए, आप फ़ाइलों को प्री-प्रोसेस कर सकते हैं और तारों को प्रतिस्थापित कर सकते हैं।

... बस एक सुझाव। सुनिश्चित नहीं है कि आप यही खोज रहे हैं या नहीं।

+1

@ बेन लेश उत्तर के लिए धन्यवाद। वास्तव में मैंने समस्या को हल किया (प्रश्न पूछने से पहले)। +1 और आपको जांचें! ... मैं सिर्फ यह जानना चाहता था कि एम्बर-क्ली ने अतिरिक्त पैरामीटर/तर्कों की अनुमति दी है या नहीं। – bguiz

+0

** एम्बर सर्वर --environment = test ** – SuperUberDuper

+0

जैसे कुछ चलाने के लिए संभव है आप process.env.VARNAME के ​​साथ सीधे अपने पर्यावरण में किसी भी पर्यावरण चर का उपयोग कर सकते हैं। –

6

ऐसा लगता है कि यह अनुमति नहीं है:

node_modules/ember-cli/lib/commands/build.js में देख रहे हैं, हम देखते हैं:

availableOptions: [ 
    { name: 'environment', type: String, default: 'development' }, 
    { name: 'output-path', type: path, default: 'dist/' } 
], 

... और node_modules/ember-cli/lib/models/command.js

this.availableOptions.forEach(function(option) { 
    knownOpts[option.name] = option.type; 
}); 

में ... एक साथ मतलब है कि परिभाषित नहीं हैं, ember के प्रत्येक उपसमूह के लिए, किसी भी विकल्प को छोड़ दिया गया है।

0

आप foo=bar ember build (हालांकि कर ember build foo=bar काम नहीं करता है)

और तर्क process.env.foo माध्यम से उपलब्ध है कर सकते हैं।

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