2016-04-13 7 views
0

私はexpressjsとkrakenjsなどのチュートリアルで作業するとき、私は何度もこれらの用語を見て、nodejsを学んでいる:環境開発は何を意味していますか?

ProductionDevelopment Environment

Production and Development Environment

は理解してマイは、それらが生産するconfigされている、ありますと開発時間ですが、なぜ同じコードになっていますか?アプリ/ウェブサイトが公開されている場合は、それでもdevelopmentの設定が内部にありますか?

私はまだアイデアを得ることはありません...

+1

あなたが何を求めているかは完全にはわかりません。その画像には基本的に「あなたのプロジェクトには2つの設定ファイル、app.json'と 'app-development.json'を入れることができます。あるものから別のものに変更したいときは、別の'NODE_ENV'環境値です。" 「ExpressではNODE_ENVとは何ですか?」(http://stackoverflow.com/q/16978256/710446)も参照してください。「まだ開発の設定は内部にありますか?それは、生産で正しいNODE_ENV値を使用しているなら、明らかに何もしません。私は幽霊のブログをインストールするとき – apsillers

+0

例は、私がconfig.jsの中で再びそれを見たhttps://github.com/TryGhost/Ghost/blob/master/config.example.js の 'config = { // ###プロダクション production:{...} // ###開発**(デフォルト)** 開発:{...} ' –

答えて

1

あなたは、彼らが自分自身のボックス場合やコードが本番で実行されている上で開発を行う際にも使用されているコンフィギュレーション・ファイルであることを正しいです。あなたは開発用コンフィグファイルに開発マシン上で動作するデータベースへの接続文字列を含めることができますが、プロダクション用の接続文字列は、おそらくプロダクションデータを持つ大きな、高速のサーバを指しています。

はい、システムで正しいものが使用されていることを確認している限り、両方のファイルを同時にコードに含めても問題ありません。 NODE_ENV環境変数をdevまたはprodのいずれかに設定して、使用するシステムを指定します。 KrakenはNODE_ENVの値を調べ、適切な設定ファイルを使用します。これは、ノードで行うのはかなり一般的なことです。

+0

ありがとう、私はそれを正しく理解しました。しかし、私はまだここで少し混乱しています。ソースが1つしかないので、開発中にコードを変更すると、制作サイトが壊れますか? –

+1

もしあなたが開発作業をしているのであれば、それは生産とは別の箱にあるはずです。プロダクションボックスで直接作業する必要はありません。したがって、変更するコードのコピーを個別に取得することになります。これはあなたの開発環境( 'NODE_ENV = 'dev'')で行われます。変更を加えてテストした後、それらの変更を本番環境に展開します( 'NODE_ENV = 'prod')。 – d512

+0

ああ、私はそれを得た、gitのような何か、そう? –

関連する問題