CentOS6環境にyeomanでAngularJSの雛形を作成するまで


CentOS6環境にyeomanでAngularJSの雛形を作成するまで | Bamboo lath 日々の記録CentOS6環境にyeomanでAngularJSの雛形を作成するまで

AngularJSを開発するときに最初の準備が
面倒なのでyeomanでAngularJSの雛形を簡単
に準備するメモ。

以下の手順ではすんなり入っているようにみえますが、
nodeとかnpmとか久しぶりなのとVagrantのメモリが少なかった
とか色々あってかなり苦戦しました。
最終的に必要だった手順だけ載せます。

インストールはVagrantに作ったCentOS6.5。
ネットワークはpublic_networkでとりあえずDHCP。
インストール時のIPは192.168.1.222。
メモリは2GBに設定。

■nodejs,npmをepelからインストール

# rpm -ivh http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
# yum -y install nodejs npm --enablerepo=epel
# node --version
v0.10.33
# npm -v
1.3.6

■一応最新版を入れるためにnをいれて安定版を使う

# npm cache clean
# npm install -g n
# n stable
# node -v
v0.10.33
# npm -v
1.3.6

■以前インストールを試したときにエラーが出たのでnpmで一応以下のものも先に入れておく
※あとで面倒なのでグローバルインストール
ここの作業は本来いらないはず・・・?

# npm install -g coffee-script
# npm install -g phantom
# npm install -g grunt-contrib-imagemin
# npm install -g ws

■bower,grunt,gulp,yoをnpmでいれる
※あとで面倒なのでグローバルインストール

# npm install -g bower grunt-cli gulp yo

■AngularJS雛形用のジェネレータをインストール
※あとで面倒なのでグローバルインストール

# npm install -g generator-angular

■yeomanでAngularJSの雛形を作成する
※ここからは一般ユーザでおこなった。

$ mkdir test-angular  <-適当にフォルダを作成
$ cd test-angular/
$ yo angular  <-yoコマンドの実行

     _-----_
    |       |    .--------------------------.
    |--(o)--|    |    Welcome to Yeoman,    |
   `---------´   |   ladies and gentlemen!  |
    ( _´U`_ )    '--------------------------'
    /___A___\
     |  ~  |
   __'.___.'__
 ´   `  |° ´ Y ` 

Out of the box I include Bootstrap and some AngularJS recommended modules.

? Would you like to use Sass (with Compass)? No  <-Sassは自分は使わないのでNo
? Would you like to include Bootstrap? Yes  <-Bootstrapは使うのでYes
? Which modules would you like to include?  <-表示がよくわからないけど使うものを「◉」使わないものを「◯」に変更
 ◯ angular-animate.js
 ◯ angular-aria.js
 ◉ angular-cookies.js
 ◉ angular-resource.js
 ◯ angular-messages.js
 ◉ angular-route.js
 ◉ angular-sanitize.js
❯◯ angular-touch.js

・・・しばらく待つ・・・

Execution Time (2015-03-18 01:23:47 UTC)
loading tasks    6ms  ▇▇▇▇▇▇▇ 3%
wiredep:app    159ms  ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 89%
wiredep:test    12ms  ▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 7%
Total 179ms

$ ll
total 76
drwxrwxr-x  6 vagrant vagrant  4096 Mar 18 01:21 ./
drwxrwxr-x  3 vagrant vagrant  4096 Mar 18 01:19 ../
drwxrwxr-x  6 vagrant vagrant  4096 Mar 18 01:20 app/
drwxrwxr-x 10 vagrant vagrant  4096 Mar 18 01:21 bower_components/
-rw-rw-r--  1 vagrant vagrant   371 Mar 18 01:20 bower.json
-rw-rw-r--  1 vagrant vagrant    38 Mar 18 01:20 .bowerrc
-rw-r--r--  1 vagrant vagrant   415 Feb 10 19:07 .editorconfig
-rw-r--r--  1 vagrant vagrant    11 Feb 10 19:07 .gitattributes
-rw-r--r--  1 vagrant vagrant    52 Feb 10 19:07 .gitignore
-rw-rw-r--  1 vagrant vagrant 10575 Mar 18 01:20 Gruntfile.js
-rw-r--r--  1 vagrant vagrant   376 Feb 10 19:07 .jshintrc
drwxrwxr-x 30 vagrant vagrant  4096 Mar 18 01:21 node_modules/
-rw-rw-r--  1 vagrant vagrant  1154 Mar 18 01:21 package.json
-rw-rw-r--  1 vagrant vagrant   282 Mar 18 01:20 README.md
drwxrwxr-x  3 vagrant vagrant  4096 Mar 18 01:20 test/
-rw-r--r--  1 vagrant vagrant   110 Feb  2 19:59 .travis.yml
-rw-r--r--  1 vagrant vagrant     3 Feb 10 19:07 .yo-rc.json
雛形が完成

■Gruntfile.jsの編集
静的サーバを立ち上げてブラウザから確認できるようにhostnameを変更しておく。
今回の場合は192.168.1.222にした。

・・・・
    // The actual grunt server settings
    connect: {
      options: {
        port: 9000,
        // Change this to '0.0.0.0' to access the server from outside.
        hostname: '192.168.1.222',
        livereload: 35729
      },
・・・・

■Gruntサーバ起動

$ grunt serve
Running "serve" task

Running "clean:server" (clean) task
>> 1 path cleaned.

Running "wiredep:app" (wiredep) task

Running "wiredep:test" (wiredep) task

Running "concurrent:server" (concurrent) task

    Running "copy:styles" (copy) task
    Copied 1 file

    Done, without errors.

    Execution Time (2015-03-18 01:39:59 UTC)
    loading tasks   5ms  ▇▇▇▇▇▇▇▇▇▇▇ 23%
    copy:styles    16ms  ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 73%
    Total 22ms

Running "autoprefixer:server" (autoprefixer) task
File .tmp/styles/main.css created.

Running "connect:livereload" (connect) task
Started connect web server on http://192.168.1.222:9000

Running "watch" task
Waiting...

■ブラウザで確認
yeomon-angular

■リリース用ファイル作製

$ grunt build
・・・・
$ ll
total 84
drwxrwxr-x  8 vagrant vagrant  4096 Mar 18 01:42 ./
drwxrwxr-x  3 vagrant vagrant  4096 Mar 18 01:19 ../
drwxrwxr-x  6 vagrant vagrant  4096 Mar 18 01:20 app/
drwxrwxr-x 10 vagrant vagrant  4096 Mar 18 01:21 bower_components/
-rw-rw-r--  1 vagrant vagrant   371 Mar 18 01:20 bower.json
-rw-rw-r--  1 vagrant vagrant    38 Mar 18 01:20 .bowerrc
drwxrwxr-x  7 vagrant vagrant  4096 Mar 18 01:43 dist/  <-distが作られる
-rw-r--r--  1 vagrant vagrant   415 Feb 10 19:07 .editorconfig
-rw-r--r--  1 vagrant vagrant    11 Feb 10 19:07 .gitattributes
-rw-r--r--  1 vagrant vagrant    52 Feb 10 19:07 .gitignore
-rw-rw-r--  1 vagrant vagrant 10579 Mar 18 01:39 Gruntfile.js
-rw-r--r--  1 vagrant vagrant   376 Feb 10 19:07 .jshintrc
drwxrwxr-x 30 vagrant vagrant  4096 Mar 18 01:21 node_modules/
-rw-rw-r--  1 vagrant vagrant  1154 Mar 18 01:21 package.json
-rw-rw-r--  1 vagrant vagrant   282 Mar 18 01:20 README.md
drwxrwxr-x  3 vagrant vagrant  4096 Mar 18 01:20 test/
drwxrwxr-x  4 vagrant vagrant  4096 Mar 18 01:42 .tmp/
-rw-r--r--  1 vagrant vagrant   110 Feb  2 19:59 .travis.yml
-rw-r--r--  1 vagrant vagrant     3 Feb 10 19:07 .yo-rc.json

これで準備が整ったのであとはapp以下で開発をおこなっていく。

■参考URL
・Yeoman を使って Webアプリの雛形を作ってみる
http://akiyoko.hatenablog.jp/entry/2014/07/31/024528

・yeomanを使ったAngularJSプロジェクトの始め方 2014年版
http://blog.kinzal.net/post/104245981055/yeoman-angularjs-2014

・エンカフェ
https://www.engcafe.tv/?tag=yeoman

・yeoman+grunt+bowerでangularjs+bootstrap+sass環境構築
http://ryutamaki.hatenablog.com/entry/2014/05/26/003744

・Nodeの複数バージョン管理のお供にnをどうぞ
http://dekokun.github.io/posts/2014-01-01.html

■個人メモ
front_dev

コメントを残す

メールアドレスが公開されることはありません。