目的:
Node.jsがあれば、Phoenixで--no-brunchを付けずにアプリケーションを作成・実行した際、
JavaScriptとCSSが適応されるか検証。
実施環境:
OS: Windows8.1
Erlang: Eshell V6.4
Elixir: v1.0.4
Phoenix Framework: v0.13.1
Node.js: v0.12.4
目次:
- Node.jsのインストール
- 実行確認
- Phoenixの検証(--no-brunchオプションなし)
前提として、Phoenixが実行できる環境が作成されていること。
以下、Phoenixの環境構築の参考までに。
PhoenixのインストールやNode.jsを入れた理由について書いてあります。
ElixirにmixでPhoenixを混ぜ混ぜしてやる!!
1.Node.jsのインストール
画面証跡取るの面倒なので、文章のみでインストール内容を記述する。
1.1
以下のNode.js(本家)のサイトへ行きインストーラーをダウンロードする。
1.2
インストーラーを起動する。
1.3
ライセンスの同意を聞かれるので、同意にチェックを付け次へ。
1.4
インストールするディレクトリが聞かれる。
必要な方は任意のディレクトリを選択する。
1.5
インストールするコンポーネントを聞かれる。
デフォルトで問題ない。
1.6
インストールが流れる。
終わったらFinishで終了する。
確かこんな流れだったと思う。
1.7(重要)
Node.jsコマンドプロンプトでnode、npmのコマンドは使えた。
しかし、Windowsのコマンドプロンプトでnode、npmのコマンドは使えなかった。
おかしいと思い、環境変数を調べに行った。
Pathの項目を見てみると末尾に無駄な¥が付いてる。
いずれにせよ、Node.jsをインストールした環境変数の
末尾の¥を消せば正常に動作するようになる。
調べてみたが、どうにもWindowsのインストーラーにはバグがあるようだ。
私の使用したインストーラー: node-v0.12.4-x64.msi
2.実行確認
2.1
コマンドプロンプトを起動する。
以下、実行した内容の流れを記述する。
C:\Users\ユーザ名>node -v (Node.jsのバージョン確認)
v0.12.4
C:\Users\ユーザ名>npm -v (npmのバージョン確認)
2.10.1
C:\Users\ユーザ名>node (対話モード実行)
> 1 + 1
2
> (Ctrl+c)
(^C again to quit)
> (Ctrl+c)
終了するには二回Ctrl+cが必要のようだ。
3.Phoenixの検証
3.1
確認したいこと
- Phoenix側でNode.jsを入れたことによる設定が必要なのか?
- Node.jsが入っている状態で--no-brunchオプションなしアプリケーションを作成した場合の変化は?
- Node.jsあり、--no-brunchオプションなしでJavaScriptとCSSの適応が行われるのか?
結果を先に記載する。
問題なく実行の確認ができた。
- 設定は不要(Node.jsをインスコしていればよしなにしてくれる)
- Yes or Noを聞かれるときyesを選択すると動作が変わる
- 適応される
3.2
以下、実行した流れだけ記載する。
C:\インストールパス\test_app>mix phoenix.new hello_phoenix_node (新しくアプリケーション作成)
(途中、Yes or Noを聞かれるがYesを選択する)
C:\インストールパス\test_app>cd hello_phoenix_node (ディレクトリ移動)
C:\インストールパス\test_app\hello_phoenix_node>mix phoenix.server (サーバ起動)
(途中、Yes or Noを聞かれるがYesを選択する)
C:\インストールパス\test_app>cd hello_phoenix_node (ディレクトリ移動)
C:\インストールパス\test_app\hello_phoenix_node>mix phoenix.server (サーバ起動)
アクセスURL: http://localhost:4000
ElixirにmixでPhoenixを混ぜ混ぜしてやる!!にて貼っている
--no-brunchを付けたアプリケーション実行画像と同じ画面が表示されれば問題ない。
参考までに・・・
--no-brunchオプションありなしでフォルダの差分を取ってみた。
検証終了!!以上!!
以下、参考にさせて頂いたサイト様
なし
管理人の独り言~
Phoenix公式ドキュメント(ガイド)のOverviewに書いてある通り、Node.jsがあった方が良い。
Phoenix公式ドキュメント(ガイド)のOverviewに書いてある通り、Node.jsがあった方が良い。