2017-06-14 20 views
0

私は静的なHTMLをコンパイルするためにpugを使用しています。私自身の静的サイトジェネレータ、ちょっと。pugから環境変数を読む

私はpackage.jsonファイルのこの行以外に何のNode.jsサーバーコードがない:"watch-pages": "pug -O options.json -w pages/ --out _static-website/"

をしかし、私はパグテンプレートの内部NODE_ENVのような環境変数を読み取る必要があります。どうすればいい?

答えて

2

これはかなり簡単です。あなたはそれを行うための別の方法を見つけるかもしれませんが、私が試したことは(成功した)単純に.jsファイルを定義して、必要な変数を含むoptionsパラメータとして渡すことでした。たとえば:

// env.js 
module.exports = { env: process.env }; 

その後、テンプレートのようなものになります

// tmp.pug 
ul 
    each e in env 
    li=e 

そして、あなたはその後pug -O env.js tmp.htmlを実行することができ、それがリスト項目としてレンダリングの環境変数とenv.htmlを作成します。

+0

うーん....そのことができます。これは余分なファイルですが、うまくいく可能性があります。ありがとう、ポール! – Costa

+0

これは余分なファイルではなく、すでにoptions.jsonを渡していました。これらの変数を同じファイルに入れるだけで、動的(process.env)と静的オプションの両方があることを心配するファイルが1つあります。 – Paul

+0

Haa、美しい!ありがとう。このようにして、jsファイルはjsonファイルを出力します。これは簡単です。ありがとう:)創造性は最高です。 – Costa