Skip to content

Commit ffd5c58

Browse files
committed
Polish
1 parent f42686e commit ffd5c58

File tree

1 file changed

+48
-52
lines changed

1 file changed

+48
-52
lines changed

README.md

Lines changed: 48 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ sample-ui-react
33

44
### はじめに
55

6-
[BootStrap](http://getbootstrap.com/) / [React.js](https://facebook.github.io/react/) を元にしたプロジェクトWebリソース(HTML/CSS/JS)です。SPA(Single Page Application)モデルを前提としています。
6+
[BootStrap](http://getbootstrap.com/) / [React.js](https://facebook.github.io/react/) を元にしたプロジェクト Web リソース ( HTML / CSS / JS ) です。 SPA ( Single Page Application ) モデルを前提としています。
77

8-
サンプル確認用のAPIサーバとして[sample-boot-hibernate](https://github.com/jkazama/sample-boot-hibernate)を期待します。
8+
サンプル確認用の API サーバとして [sample-boot-hibernate](https://github.com/jkazama/sample-boot-hibernate) を期待します。
99

1010
`※ライブラリではなく上記ライブラリを用いた単純な実装サンプルです。`
1111

@@ -14,86 +14,82 @@ sample-ui-react
1414
ビルドは [Node.js](http://nodejs.jp/) + [Webpack](https://webpack.github.io/) + [Gulp](http://gulpjs.com/) で行います。以下の手順でインストールしてください。
1515

1616
1. Node.js の[公式サイト](http://nodejs.jp/)からインストーラをダウンロードしてインストール。
17-
1.`npm install -g gulp`」を実行してGulpをインストール
18-
- Macユーザは「`sudo npm install -g gulp`で。
19-
1. コンソールで本ディレクトリ直下へ移動後、`npm install`」を実行してGulpライブラリをインストール
20-
- Windowsユーザは「npm install --msvs_version=2013。理由は後述
17+
1. `npm install -g gulp` 」 を実行して Gulp をインストール
18+
- Mac ユーザは 「 `sudo npm install -g gulp`で。
19+
1. コンソールで本ディレクトリ直下へ移動後、`npm install` 」 を実行して Gulp ライブラリをインストール
20+
- Windows ユーザは 「 npm install --msvs_version=2013。理由は後述
2121

2222
---
2323

24-
標準で利用想定の[BrowserSync](http://www.browsersync.io/)はLiveReloadよりも同期が早く開発生産性に大きく寄与しますが、Windowsユーザの場合は[Python2.7](https://www.python.org/)[Visual Studio 2013 Update N](https://www.visualstudio.com/downloads/download-visual-studio-vs)のインストールが必須となります。
25-
*`Express 2013 for Desktop`を推奨します。(手元で試したところ`Community 2015`では正しく動きませんでした)*
24+
標準で利用想定の [BrowserSync](http://www.browsersync.io/) は LiveReload よりも同期が早く開発生産性に大きく寄与しますが、 Windows ユーザの場合は [Python2.7](https://www.python.org/)[Visual Studio 2013 Update N](https://www.visualstudio.com/downloads/download-visual-studio-vs) のインストールが必須となります。
25+
* `Express 2013 for Desktop` を推奨します。 ( 手元で試したところ `Community 2015` では正しく動きませんでした ) *
2626

2727
### 動作確認
2828

2929
動作確認は以下の手順で行ってください。
3030

31-
1. cloneした[sample-boot-hibernate](https://github.com/jkazama/sample-boot-hibernate)を起動する。
31+
1. clone した [sample-boot-hibernate](https://github.com/jkazama/sample-boot-hibernate) を起動する。
3232
- 起動方法は該当サイトの解説を参照
33-
- application.ymlの`extension.security.auth.enabled`をtrueにして起動すればログイン機能の確認も可能
34-
1. コンソールで本ディレクトリ直下へ移動し、`gulp`を実行
35-
- 確認用のブラウザが自動的に起動する。うまく起動しなかったときはhttp://localhost:3000へアクセス
33+
- application.yml の `extension.security.auth.enabled` を true にして起動すればログイン機能の確認も可能
34+
1. コンソールで本ディレクトリ直下へ移動し、`gulp`を実行
35+
- 確認用のブラウザが自動的に起動する。うまく起動しなかったときはhttp://localhost:3000へアクセス
3636
- 画面が白く表示されてしまう時はブラウザの更新を押してみてください
37-
- webpackのビルドが間に合っていない可能性が高いため
37+
- webpack のビルドが間に合っていない可能性が高いため
3838

3939
### 開発の流れ
4040

41-
基本的にテンプレート(.jade/.scss/.js(ES6))をWebリソース(.html/.css/.js)へGulp/Webpackでリアルタイム変換させながら開発をしていきます。
42-
動作確認はGulpで独自にWebサーバを立ち上げた後、ブラウザ上で行います。
41+
基本的にテンプレート ( .jade / .scss / .js ( ES6 ) ) を Web リソース ( .html / .css / .js ) へ Gulp / Webpack でリアルタイム変換させながら開発をしていきます。
42+
動作確認は Gulp で独自に Web サーバを立ち上げた後、ブラウザ上で行います。
4343

4444
#### 各種テンプレートファイルの解説
4545

4646
- [Jade](http://jade-lang.com/)
47-
- HTMLを生成するテンプレートツール。公式サイトTOPにある簡素な記法が特徴
47+
- HTML を生成するテンプレートツール。公式サイト TOP にある簡素な記法が特徴
4848
- [Sass (SCSS)](http://sass-lang.com/)
49-
- CSS表記を拡張するツール。変数やmixin、ネスト表記などが利用可能。
49+
- CSS 表記を拡張するツール。変数や mixin 、ネスト表記などが利用可能。
5050
- [ES6 with Babel](https://babeljs.io/)
51-
- ES6用のPolyfill。ES5でもES6風に記述が可能
51+
- ES6 用の Polyfill 。 ES5 でも ES6 風に記述が可能
5252

53-
#### 各種テンプレートファイルの変更監視 / Webサーバ起動
53+
#### 各種テンプレートファイルの変更監視 / Web サーバ起動
5454

55-
+ コンソールで本ディレクトリ直下へ移動し、`gulp`を実行
55+
+ コンソールで本ディレクトリ直下へ移動し、`gulp`を実行
5656

5757
### 配布用ビルドの流れ
5858

59-
配布リソース生成の流れは開発時と同様ですが、監視の必要が無いことと、配布リソースに対するminifyやrevisonの付与などを行う必要があるため、別タスクbuild-prodで実行します。
59+
配布リソース生成の流れは開発時と同様ですが、監視の必要が無いことと、配布リソースに対する minify や revison の付与などを行う必要があるため、別タスクbuild-prodで実行します。
6060

61-
#### 配布用Webリソースのビルド / リリース
61+
#### 配布用 Web リソースのビルド / リリース
6262

63-
+ コンソールで本ディレクトリ直下へ移動し、`gulp build-prod`を実行
64-
+ `public`ディレクトリ直下に出力されたファイルをリリース先のディレクトリへコピー
63+
+ コンソールで本ディレクトリ直下へ移動し、`gulp build-prod`を実行
64+
+ `public` ディレクトリ直下に出力されたファイルをリリース先のディレクトリへコピー
6565

6666
### ポリシー
6767

68-
- JS/CSSの外部ライブラリはbowerで管理する
69-
- グローバルスコープの汚染を許容する
70-
- bowerが適切なサポートを提供していない時はpackage.json経由の管理(bundler.js側に展開)も許容
71-
- プロジェクト固有のJSはWebpackを利用して生成する
68+
- JS / CSS の外部ライブラリは npm で管理する
69+
- jQuery や Bootstrap 等、グローバルスコープの汚染を許容するものはビルド済みリソースをそのまま流用する
70+
- プロジェクト固有の JS は Webpack を利用して生成する
7271
- グローバルスコープの汚染を許容せずにモジュールベースで開発する
73-
- 外部ライブラリのアクセスは従来通りグローバルな名前空間を用いる
74-
- ReactはFluxのアーキテクチャを参考に実装する
75-
- ページ遷移周りはReactRouterを利用
76-
- ReactコンポーネントはES6のクラスベースで実装(see /js/platform/react.js)
77-
- FluxはFacebookのサンプルを参考にしつつ実装(see /js/platform/react-flux.js)
78-
- JSXはjade(templates)へ切り出してreact-jade経由で読込アプローチ(ここはベタ書きでも良いかも)
79-
- いくつか代表的なUIパーツは準備(see /js/platform/react-ui.js)
80-
- Fluxの良い実装が出てきたら自作せずにそちらを利用する
72+
- React は Flux のアーキテクチャを参考に実装する
73+
- ページ遷移周りは react-router を利用
74+
- React コンポーネントは ES6 のクラスベースで実装 ( see /js/platform/react.js )
75+
- Flux は Facebook のサンプルを参考にしつつ実装 ( see /js/platform/react-flux.js )
76+
- いくつか代表的な UI パーツは準備 ( see /js/platform/react-ui.js )
77+
- Flux の良い実装が出てきたら自作せずにそちらを利用する
8178

8279
#### ディレクトリ構成
8380

8481
ディレクトリ構成については以下を参照してください。
8582

8683
```
87-
bower.json … bower dependency
88-
gulpfile.coffee … gulp configuration
84+
gulpfile.babel.js … gulp configuration
8985
package.json … npm dependency
9086
public … deploy resources (auto generate)
9187
css
9288
- style.css … from source/css
9389
fonts … icon font
9490
js
9591
- bundler.js … from source/js (by Webpack)
96-
- vendor.js … from bower
92+
- vendor.js … from vendor dist resource
9793
index.html … from source/html
9894
source
9995
css … css template files [SCSS]
@@ -109,32 +105,32 @@ source
109105
- react-ui.js … react ui parts
110106
- react.js … project react extension
111107
stores … flux store
112-
templates … jade template (jsx)
113108
- app.js … root page
114109
- main.js … SPA entry
115110
- routes.js … SPA routing
116111
static … static resources (.png/.ico/robots.txt etc)
117112
```
118113

119-
gulpコマンドを実行して変更監視を有効にしておくと、source配下のリソースを修正した際にリアルタイムでpublic直下のファイルが更新されていきます
114+
gulp コマンドを実行して変更監視を有効にしておくと、 source 配下のリソースを修正した際にリアルタイムで public 直下のファイルが更新されていきます
120115

121116
### 依存ライブラリ
122117

123118
| ライブラリ | バージョン | 用途/追加理由 |
124119
| ----------------------- | -------- | ------------- |
125-
| `react`               | 0.14.+ | アプリケーションのUI機能を提供 |
126-
| `react-router` | 0.13.+ | React.jsのSPAルーティングサポート |
127-
| `eventEmitter` | 4.3.+ | イベント連携ライブラリ |
128-
| `flux` | 2.1.+ | Facebook Fluxライブラリ |
129-
| `lodash`              | 3.10.+ | 汎用ユーティリティライブラリ |
130-
| `moment`              | 2.11.+ | 日時ライブラリ |
131-
| `bootstrap-sass-official` | 3.3.+ | CSSフレームワーク |
132-
| `bootstrap-datepicker` | 1.4.+ | 日時入力ライブラリ |
120+
| `superagent` | 1.4.+ | HTTP 連携ライブラリ |
121+
| `react`               | 0.14.+ | アプリケーションの UI 機能を提供 |
122+
| `react-dom`           | 0.14.+ | アプリケーションの UI 機能 ( DOM ) を提供 |
123+
| `react-router` | 0.13.+ | React.js の SPA ルーティングサポート |
124+
| `react-mixin` | 3.0.+ | Reactクラス利用時のMixin拡張 |
125+
| `wolfy87-eventemitter` | 4.3.+ | イベント連携ライブラリ |
126+
| `flux` | 2.1.+ | Facebook Flux ライブラリ |
127+
| `lodash`              | 4.6.+ | 汎用ユーティリティライブラリ |
128+
| `dateformat`          | 1.0.+ | 日時ライブラリ |
129+
| `jquery` | 2.2.+ | DOM 操作サポート |
130+
| `bootstrap-sass` | 3.3.+ | CSS フレームワーク |
133131
| `fontawesome` | 4.5.+ | フォントアイコンライブラリ |
134-
| `superagent` [npm] | 1.4.+ | HTTP連携ライブラリ |
135-
| `react-mixin` [npm] | 3.0.+ | Reactクラス利用時のMixin拡張 |
136132

137133
### License
138134

139-
本サンプルのライセンスはコード含めて全て*MIT License*です。
135+
本サンプルのライセンスはコード含めて全て *MIT License* です。
140136
プロジェクト立ち上げ時のベース実装サンプルとして気軽にご利用ください。

0 commit comments

Comments
 (0)