Wai   ベーシック

ホーム


ベーシック

Wai の一番基本的なコードを書こうと思います。デプロイするかたちではなく、 ローカルで稼働させるかたちで書きます。

コーディング

任意のディレクトリに任意の Cabal ファイルを作ります。ここでは「wai」 ディレクトリに「app.cabal」を作りました。

app.cabal


name:                app
version:             0.1.0.0
category:            Web
build-type:          Simple
cabal-version:       >=1.10

executable app
  main-is:             Main.hs
  build-depends:       base >=4.7 && <5.0
                     , warp
                     , wai
                     , http-types
  hs-source-dirs:      .
  default-language:    Haskell2010
    

wai ディレクトリに「Main.hs」ファイルを作ります。

Main.hs


{-# LANGUAGE OverloadedStrings #-}

import Network.Wai              (Application, responseLBS)
import Network.HTTP.Types       (ok200)
import Network.Wai.Handler.Warp (run)

app :: Application
app _ respond =
    respond $ responseLBS
        ok200
        [("Content-Type", "text/plain")]
        "Hello, Web!"

main :: IO ()
main = run 8080 app
    

ビルド

ターミナルで wai ディレクトリに移動して、次のようにビルドします。


$ stack init
すぐに終わります。
$ stack build
かなり時間がかかります。
    

実行

ターミナルに次のように入力して、サーバーを起動します。


$ stack exec app
    

ブラウザを起動して「localhost:8080/」にアクセスします。

終了

サーバーを終了させるには、ターミナルで「Control」キーを押しながら「c」キーを 押します。


^C
    


3344 visits
Posted: Mar. 10, 2019
Update: Mar. 10, 2019

ホーム   ページトップ