2020/08/15

node-config とは

node-config は Node.js で設定ファイル(config)を扱うモジュールです。

設定ファイルを JSON、YAML などの形式で記述して、プログラム上でオブジェクトとして利用できます。

環境変数

process.env でサーバの環境変数を取得することができます。Node.js の本番、開発などの環境変数は NODE_ENV を利用しますが、デフォルトは何も設定されていません。


process.env.NODE_ENV

npm インストール


$ npm install config

ファイル構成


プロジェクト
    |- config + default.json
              |- development.json
    |- node_modules/
    |- package-lock.json
    |- package.json
    |- index.js

設定ファイルの作成

JSON 形式でサーバ設定を記述します。

default.json


{
   "server": {
      "host": "127.0.0.1",
      "port": 3000
   }
}

development.json


{
   "test": 1
}

設定ファイルの読み込み

index.js


const config = require('config');
config.env = process.env.NODE_ENV || 'development';

console.log(config.server.host);
console.log(config.server.port);
console.log(config.test);

NODE_ENV を指定してファイルを実行する

NODE_ENV をターミナルで設定すればそのまま node コマンドで実行できます。


$ export NODE_ENV=development 
$ node app.js

明示的に NODE_ENV=develpment でもファイルを実行できます。


$ NODE_ENV=development node app.js

その他プログラムで環境変数の設定や「cross-env」モジュールを利用することもできます。

  2020/03/30

node-sass をインストールする

CSSコンパイルは開発のみで利用するため、ローカル(devDependencies)にインストールします。


$ npm install node-sass --save-dev
//または
$ yarn install node-sass --dev

--save-dev はローカル(devDependencies)にインストールする npm コマンドオプションです。
yarn では --dev にあたります。(混乱しますが・・・)

ファイル構成

sass から css に書き出すディレクトリを構成します。

元ファイル(sass)

sources/sass/default.scss

書き出しファイル(css)

public/css/default.css

ファイル構成

npm を初期化してない場合は、新規作成します。


$ npm init

package.json

package.json の scripts に sass の設定を記述します。


"scripts": {
    "sass": "node-sass resources/sass/ --output public/css/ --output-style compressed --watch --source-map true"
}
  • compressed:css圧縮
  • --watch:監視設定(sass保存時に自動書き出し)
  • --source-map true: .css.map ファイルの書き出し/li>

CSSコンパイル


$ npm run sass

public/css/ に対象の cssファイルが書き出されます。

  2020/01/12
Node.js のバージョン管理ツール nvm のインストールメモ nvm は Node.js のバージョン管理ツールです。
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.2/install.sh | bash
バージョン確認
$ source ~/.bashrc
$ nvm --version
0.35.2

Node.js バージョン一覧

$ nvm ls-remote
...
v13.6.0

Node.js インストール

$ nvm install --lts
...
Now using node v12.14.1 (npm v6.13.4)
Creating default alias: default -> lts/* (-> v12.14.1)

インストール済みバージョン確認

$ nvm ls
->     v12.14.1
         system
default -> lts/* (-> v12.14.1)
node -> stable (-> v12.14.1) (default)
stable -> 12.14 (-> v12.14.1) (default)
iojs -> N/A (default)
unstable -> N/A (default)
lts/* -> lts/erbium (-> v12.14.1)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.18.1 (-> N/A)
lts/erbium -> v12.14.1
$ nvm current
v12.14.1
$ node --version
v12.14.1

利用バージョン変更

$ node use [version]
<< Top < Prev Next > Last >>