2012-09-16 68 views
8

我有一個jade頁面,而我所做的第一件事是設置一個變量,它決定了所有鏈接使用的基本目錄。Jade - 根據環境設置基本目錄

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

這實際上是一個GitHub的頁面,所以我每次渲染頁面的HTML,我一定要記得更改底座,然後更改回原來的本地編輯。

必須有更好的方法來做到這一點。目前我正在考慮在本地副本中包含一個未追蹤的文件,其中包含基礎 - 但這是否真的有必要?

處理此問題的最佳方法是什麼?

回答

10

更健壯的解決方案將檢查環境變量。 已在生產服務器上設置NODE_ENV=production,並且不要將其設置在開發服務器上。

然後在你的jade模板中,如果環境變量存在,則渲染不同的路徑。

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

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

這對我來說很好,謝謝! –

+0

可能更好地在開發機器上設置變量,然後使用...'base = process.env.klog_base_path? process.env.klog_base_path:「/ klog」' –

+0

甚至可以簡化爲'base = process.env.klog_base_path || 「/ klog」;'? –

相關問題