====== 190319 Windows10でElm環境構築(2回目) ======
===== Elmって何? =====
Elm は、Webページの表示に用いる、 JavaScript にコンパイルできる関数型プログラミング言語だそうです。
Elmで書いて、Javascriptに変換して、WEBページを作成することができるということになります。
Javascriptよりも簡単!?と宣伝している人がいる印象です。
私にはJavascriptよりも100倍難しそうに感じますが、とりあえず、『関数型言語』というものに興味を持ってしまったので、しばらく触ってみたいと思います。
===== 開発環境 =====
Windows 10 Pro(1803)
VisualStudioCode 1.32.3
nvm 1.1.7
node 10.15.1
npm 6.4.1
今回構築した環境
elm 0.19.0
elm-format 0.8.1
VisualStudioCodeのExtensionsでelmをインストール
===== 参考サイト =====
Elm公式サイト
https://elm-lang.org/
{{:z_blog:2019:pasted:20190319-150020.png}}
elm-format
https://github.com/avh4/elm-format#visual-studio-code-installation
{{:z_blog:2019:pasted:20190319-150126.png}}
https://qiita.com/ossan_pg/items/5c3ce00b74036139507e
{{:z_blog:2019:pasted:20190319-150229.png}}
===== Windows10にVisualStudioCodeでElm0.19開発環境構築手順 =====
VisualStudioCodeとnode.jsはインストール済みとします。
-elmのインストール
-elm-formatのインストール
-VisualStudioCodeのExtensionsでelmをインストール
-VisualStudioCodeのUser Settingsで設定
C:/elm_from_vscode/ フォルダを作成し、フォルダ内で右クリックして、VisualStudioCodeで開きます。
Ctrl+@を押して、コマンドプロンプト画面を出して、以下を入力します。
npm i -g elm
npm i -g elm-format
{{:z_blog:2019:pasted:20190319-150927.png}}
VisualStudioCodeのExtensionsでelmをインストールしてから、VisualStudioCodeを再起動。
{{:z_blog:2019:pasted:20190319-151024.png}}
File > References > Settings
{{:z_blog:2019:pasted:20190319-152720.png}}
{} をクリック
{{:z_blog:2019:pasted:20190319-152757.png}}
以下を追加。
"[elm]": {
"editor.formatOnSave": true
},
{{:z_blog:2019:pasted:20190319-152859.png}}
これで、Windows10でVisualStudioCodeでelmを使用するための環境構築が終わりました。
node.jsを、nvmなどのバージョン管理システムを用いてインストールしていると、うまくいかないことがあるという話もどこかで見ましたが、よくわかりません。
うまくいかなければ、node.jsを、https://nodejs.org/ja/ から直接ダウンロードしてインストールした方がよいかもしれません。
===== Hello Worldしてみる =====
VisualStudioCodeで、C:/elm_from_vscode/ を開き、Ctrl+@で、コマンドプロンプトを開いて、以下を入力。
elm init
Knowing all that, would you like me to create an elm.json file now? [Y/n]:
と聞かれるので、そのままEnterを押す。
{{:z_blog:2019:pasted:20190319-153359.png}}
Elm ソースファイルの作成と編集
src/ フォルダに、Main.elm ファイルを新規作成。
{{:z_blog:2019:pasted:20190319-155049.png}}
以下を入力。
main = div [] [ text "Hello world!" ]
{{:z_blog:2019:pasted:20190319-155312.png}}
この状態で、Alt + Shift + F を押す。
すると、ワンテンポ遅れて、いきなり、以下のように変化します。
{{:z_blog:2019:pasted:20190319-155403.png}}
これは、elm-formatにより、elmのコードが自動的にフォーマットされたからだそうです。
まあ、たしかに、importとか勝手にやってほしいですよね。
次に、Ctrl+S で保存します。
すると、今回も、ワンテンポ遅れて、以下のように赤い波線が出てきます。
{{:z_blog:2019:pasted:20190319-155550.png}}
これは、コンパイルエラーを示しているそうです。
main = の上の行で、impと打ち込んでからEnterを押すと、以下のようになります。
{{:z_blog:2019:pasted:20190319-155642.png}}
{{:z_blog:2019:pasted:20190319-155656.png}}
NameのところをHtmlに置き換えて保存します。
すると、divとtextの下に出ていた赤い波線が消えます。
{{:z_blog:2019:pasted:20190319-155729.png}}
これで、コンパイルエラーのないコードができたらしいです。
==== Elmコードの実行 ====
VisualStudioCode上で、
-Ctrl+Shift+Pで、コマンドパレットを表示し
-elm reactor startと打ち込んで、Enterを押します
{{:z_blog:2019:pasted:20190319-155942.png}}
{{:z_blog:2019:pasted:20190319-160029.png}}
以下のような画面になります。
{{:z_blog:2019:pasted:20190319-160050.png}}
このとき、WEBサーバが起動しているらしく、ChromeなどのWEBブラウザで、
http://localhost:8000/src/Main.elm
にアクセスすると、以下のような表示が出ます。
{{:z_blog:2019:pasted:20190319-160228.png}}
これで、Hello Worldが終了です。
ちなみに、このページのソースコードを表示すると、わけのわからないことになっています。
{{:z_blog:2019:pasted:20190319-160342.png}}
なお、サーバを、止めるときは、以下の手順となります。
VisualStudioCode上で、
-Ctrl+Shift+Pで、コマンドパレットを表示し
-elm reactor stopと打ち込んで、Enterを押します
==== Elmコードの実行 その2 ====
こちらの方が簡単です。
VisualStudioCode上でCtrl+@で、コマンドプロンプトを表示し、以下を入力
elm reactor
その後、ChromeなどのWEBブラウザで、
http://localhost:8000/
にアクセスします。
サーバを止めるときは、コマンドプロンプト上で、Ctrl+C を押します。
===== Elmリンク =====
https://qiita.com/kawauso7/items/fc42fc3e252d88d73f3c
@kawauso7
2018年12月05日に更新
Elm3(予備) Advent Calendar 20183日目
Elm を実戦投入した話 2018年冬
https://gitpitch.com/ababup1192/elm-handson2
Elm入門ハンズオン
https://syossan.hateblo.jp/entry/2018/12/17/000000
初心者Elmerがクソアプリを作った時に気付いたこと
https://gist.github.com/ababup1192/a1a091bcc0e535d180544639f531302c
ElmのHello Worldができるまで (2018 10/25)
→Atomでの環境構築の方法
https://mbylstra.github.io/html-to-elm/
{{:z_blog:2019:pasted:20190322-132953.png}}
http://elmrepl.cuberoot.in/
{{:z_blog:2019:pasted:20190322-133013.png}}
===== Elmリンク2 =====
[[z_blog:2019:190318_elm|190318 Elm]]
[[z_blog:2019:190323_elmでbulmaを利用|z_blog:2019:190323_elmでbulmaを利用]]
http://i-doctor.sakura.ne.jp/font/?p=35237
『基礎からわかるElm』を写経してみる(2)Elmアーキテクチャ
2019年3月23日
http://i-doctor.sakura.ne.jp/font/?p=35219
『基礎からわかるElm』を写経してみる(1)Html
2019年3月23日
http://i-doctor.sakura.ne.jp/font/?p=35192
Elm入門ハンズオンを読んでみる(1)
2019年3月22日
http://i-doctor.sakura.ne.jp/font/?p=35162
Windows8.1ProにVisualStudioCodeでElm0.19開発環境を構築
2019年3月22日
http://i-doctor.sakura.ne.jp/font/?p=35151
Elmを試してみる
2019年3月21日
===== Elm0.19でお勧めの本 =====
2019年3月時点で、elmに関する本は以下の1冊のみです。
ちょっと読んだ感じですと、まず、環境構築でつまずきかけ、しかも何だか難しくてチンプンカンプンに感じましたが、これから、繰り返し写経していきたいと思います。
ソースコード
https://github.com/jinjor/elm-book