2016-04-13 22 views
0

ben nodejs öğreniyorum, bu şartların defalarca gördük:Çevre gelişimi ne demektir? Ben expressjs ve krakenjs gibi öğretici ile çalışırken

Production ve Development Environment Benim anlamaya

Production and Development Environment

olduğu bu üretim için konfigürasyon dosyasında edilir ve geliştirme zamanı, ama neden aynı kodda? Uygulama/web sitesi yayınlanıyorsa, içeride hala development yapılandırması var mı? Hala fikir alamadım

...

+1

Ben ne istediğini tam olarak emin değilim. temelde yer verdik Yani görüntü Sen birinden diğerine değiştirmek istediğinizde, farklı bir ile hizmetini yeniden projenizde iki yapılandırma dosyaları, 'app.json' ve' app-development.json'. içerebilir" diyor 'NODE_ENV' ortam değeri.” [Express'te NODE_ENV nedir?] Ayrıca bakınız (http://stackoverflow.com/q/16978256/710446) "hala içeride' development' yapılandırma var?" Gelince - * yapabilir *, ancak üretimde doğru NODE_ENV değerini kullanıyorsanız, bir şey yapmayacaktır. – apsillers

+0

Örnek: Ghost blog'u kurduğumda, onu yine config.js'de gördüm. Https://github.com/TryGhost/Ghost/blob/master/config.example.js 'config = { // ### Üretim üretim: {...} // ### Geliştirme ** (varsayılan) ** geliştirme: {...} ' –

cevap

1

Onların kod üretimde çalışırken kendi kutusunu gelişimini yapıyor veya vücuttan kullanılan yapılandırma dosyaları olduğunu doğrudur. Sen gelişme yapılandırma dosyası muhtemelen, üretim verileri ile büyük, hızlı sunucuya işaret edecektir üretim bağlantı dizesi ise geliştirme makinesinde çalışan bir veritabanına bir bağlantı dizesi içerebilir konum.

Ve evet, o sürece sistem doğru olanı kullandığından emin olun olarak üretimde çalışıyor olsa bile, aynı anda kodunda iki dosyayı bulunmasının sorun. Tek bir NODE_ENV ortam değişkenini ayarlayarak kullanmak sistemini anlatmak dev veya prod birine. Kraken, NODE_ENV içindeki değere bakacak ve uygun yapılandırma dosyasını kullanacaktır. Bu düğümde yapılması oldukça yaygın bir şey.

+0

Teşekkür ederim, ben de doğru anladım. Ama hala biraz kafam karıştı. Sadece 1 kaynağa sahip olduğumuzdan, eğer geliştirme aşamasında çalışırsak, kodu değiştirirsek, üretim yeri kırılacaktır? –

+1

Eğer geliştirme çalışması yapıyorsanız, bu üretimde farklı bir kutuda olmalıdır. Bir üretim kutusunda doğrudan çalışmak istemezsiniz. Yani değiştirmek için kodun ayrı bir kopyasını alırsınız. Bu, geliştirme ortamınızda yapılır ('NODE_ENV =' dev''). Değişikliklerinizi yaptıktan ve test ettikten sonra, bu değişiklikleri üretim ortamınıza dağıtın (burada NODE_ENV = 'prod'). – d512

+0

Ah Anladım, git gibi bir şey değil mi? –