/hackathon201606

Primary LanguageJavaScriptMIT LicenseMIT

Nodeyard

Development foundation of Node.js application

Deploy

Nodeyard は Node.js を用いて、小規模な Web アプリケーションを迅速に構築するためのベースプロジェクトです。
Express フレームワークの基本的な設定やディレクトリ構造を提供するとともに、アプリケーション開発で重要度の高い以下のような機能やタスクを用意しています。

用意しているタスクは package.jsonscripts 、もしくは npm run コマンドで確認することができます。

Node.js の v4.x、v5.x、v6.x の最新版での動作を確認しています。

Development on Local

Setup

git clone https://github.com/AKIRA-MIYAKE/Nodeyard.git
cp -r Nodeyard [app-name]
cd [app-name]
npm install
npm run build

Build

npm run build

Build + Watch

npm run watch

Build + Watch + Auto Reload

npm run serve

Web サーバには localhost:3000 から、/src/public 以下のコンテンツには localhost:8080/webpack-dev-server/ からアクセスできます。

Run

npm start

デフォルトではポート 3000 で起動します。

Unit Test + Lint

npm run check

Unit Test + Lint + Watch

npm run dev

Create API Document

npm run jsdoc

Create Style Guide

npm run styleguide

Development on Docker (Beta)

Docker を利用して、PostgreSQL と Redis を含んだ開発環境を構築することができます。
一部機能は Docker for Mac Beta のみでの利用が可能です。

プロジェクトセットアップ

git clone https://github.com/AKIRA-MIYAKE/Nodeyard.git
cp -r Nodeyard [app-name]
cd [app-name]
docker-compose build
docker-compose run --rm web npm run build

Build

docker-compose run --rm web npm run build

Build + Watch (Mac Beta Only)

docker-compose run --rm web npm run watch

Build + Watch + Auto Reload (Mac Beat Only)

docker-compose up

Web サーバには localhost:3000 から、/src/public 以下のコンテンツには localhost:8080/webpack-dev-server/ からアクセスできます。

Unit Test + Lint

docker-compose run --rm web npm run check

Unit Test + Lint + Watch (Mac Beat Only)

docker-compose run --rm web npm run dev

Create API Document

docker-compose run --rm web npm run jsdoc

Create Style Guide

Caution
以下のエラーが発生し、styleguide/index.html が生成されないことが頻繁にあります。

Error: EBADF: bad file descriptor, chmod '/nodeyard/styleguide/bower_components/octicons/*

エラーが発生するファイルは一定でなく、エラーが発生せずにスタイルガイド生成が成功する場合もあります。

docker-compose run --rm web npm run styleguide

Deploy to Heroku

Heroku へアプリケーションをデプロイするための Procfileapp.json を用意しています。
デフォルトの設定でもアプリケーションのデプロイ、起動を行うことができますが、必要に応じて修正を行ってください。
Heroku 上でプロダクションコードをビルドするタスクを実行するため、ビルド後のコードを別途管理する必要はありません。

なお、production 環境でログをファイルとして出力するための設定を config/production.js に記述しています。
Heroku を利用する際は、標準出力にログを出力するように修正を行ってください。