2012-09-16 6 views
8

私はヒスイのページを持っています。まず、すべてのリンクで使用されるベースディレクトリを決定する変数を設定します。Jade - 環境に応じてベースディレクトリを設定します。

if ! base 
    base = '/klog/' 
    // base = '/website-clear/klog/' 

これはので、私はHTMLにページをレンダリングするたびに、私はベースを変更し、ローカル編集のために再び戻ってそれを変更することを忘れないように持って、githubのページのために実際にあります。

これを行うには、より良い方法が必要です。現時点では、地元のコピーにuntrackedファイルがあると思っています。それにはベースが含まれていますが、本当に必要なのでしょうか?

この問題を解決する最善の方法は何ですか?

答えて

10

より堅牢なソリューションは、環境変数をチェックすることです。 NODE_ENV=productionが運用サーバーに設定されていて、それをdevサーバーに設定しないでください。

環境変数が存在する場合、あなたのjadeテンプレートで、異なるパスをレンダリングします。

if 'production' == process.env.NODE_ENV 
    - base = '/website-clear/klog/' 

または

- base = ('production' == process.env.NODE_ENV ? '/website-clear/klog/' : '/klog'); 
+0

これは私にはよさそうだ、ありがとう! –

+0

おそらく、devマシン上で変数を設定してから、もっと使いやすいでしょう。 'base = process.env.klog_base_path? process.env.klog_base_path: "/ klog" ' –

+0

これは単に' base = process.env.klog_base_path ||に単純化することもできます。 "/ klog"; '? –

関連する問題