Development foundation of Node.js application
Nodeyard は Node.js を用いて、小規模な Web アプリケーションを迅速に構築するためのベースプロジェクトです。
Express フレームワークの基本的な設定やディレクトリ構造を提供するとともに、アプリケーション開発で重要度の高い以下のような機能やタスクを用意しています。
- ロガー: log4js
- 設定ファイル: node-config
- JavaScript トランスパイラ: Babel
- フロントエンドモジュール管理: Webpack
- Future CSS syntax: PostCSS + cssnext
- ユニットテスト: Mocha + power-assert
- 構文チェック: ESLint
- ライブリロード: nodemon + webpack-dev-server
- API ドキュメント: JSDoc
- スタイルガイド: mdcss
用意しているタスクは package.json
の scripts
、もしくは npm run
コマンドで確認することができます。
Node.js の v4.x、v5.x、v6.x の最新版での動作を確認しています。
git clone https://github.com/AKIRA-MIYAKE/Nodeyard.git
cp -r Nodeyard [app-name]
cd [app-name]
npm install
npm run build
npm run build
npm run watch
npm run serve
Web サーバには localhost:3000
から、/src/public
以下のコンテンツには localhost:8080/webpack-dev-server/
からアクセスできます。
npm start
デフォルトではポート 3000 で起動します。
npm run check
npm run dev
npm run jsdoc
npm run styleguide
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
docker-compose run --rm web npm run build
docker-compose run --rm web npm run watch
docker-compose up
Web サーバには localhost:3000
から、/src/public
以下のコンテンツには localhost:8080/webpack-dev-server/
からアクセスできます。
docker-compose run --rm web npm run check
docker-compose run --rm web npm run dev
docker-compose run --rm web npm run jsdoc
Caution
以下のエラーが発生し、styleguide/index.html
が生成されないことが頻繁にあります。
Error: EBADF: bad file descriptor, chmod '/nodeyard/styleguide/bower_components/octicons/*
エラーが発生するファイルは一定でなく、エラーが発生せずにスタイルガイド生成が成功する場合もあります。
docker-compose run --rm web npm run styleguide
Heroku へアプリケーションをデプロイするための Procfile
と app.json
を用意しています。
デフォルトの設定でもアプリケーションのデプロイ、起動を行うことができますが、必要に応じて修正を行ってください。
Heroku 上でプロダクションコードをビルドするタスクを実行するため、ビルド後のコードを別途管理する必要はありません。
なお、production 環境でログをファイルとして出力するための設定を config/production.js
に記述しています。
Heroku を利用する際は、標準出力にログを出力するように修正を行ってください。