nadesiko3-server
v3.7.1
Published
HTTP Server Plugin for Nadesiko3
Readme
nadesiko3-server
日本語プログラミング言語「なでしこ3 (cnako3)」で、Webサーバー(Express)機能を利用するためのプラグインです。
特徴
- Node.jsのExpressをなでしこ向けにラップしており、なでしこ3の構文で簡単にHTTPサーバーを構築できます。
- 静的ファイルの配信、GET/POST/PUT/DELETEなどのルーティング、リダイレクト等に対応しています。
インストール方法
一般的なプロジェクトでの利用
なでしこ3プロジェクトのディレクトリで、以下のコマンドを実行してインストールします。
npm install nadesiko3-server開発・テスト時の利用(ローカルリポジトリ連携)
nadesiko3(本体)および nadesiko3-server(本リポジトリ)をローカルで連携させて動かす場合、以下の方法があります。
1. 相対パス指定で取り込む
スクリプト内から直接相対パスでプラグインファイルを指定します(sample/hello.nako3 などで使われています)。
!「../nadesiko3-server/nadesiko3-server.mjs」を取り込む。2. npm link を利用する
nadesiko3-server をグローバルにリンクし、テスト用プロジェクト等から呼び出します。
# nadesiko3-server のディレクトリで
npm link
# テストを行いたいプロジェクトのディレクトリで
npm link nadesiko3-server3. ローカルの nadesiko3 本体リポジトリから実行する
ローカルの ~/repos/nadesiko3 にある cnako3 から本プラグインをテスト・実行するには、以下のように cnako3.mjs を直接指定して実行します。
# nadesiko3-server のディレクトリから、ローカルの nadesiko3 を使ってサンプルを実行する
node ~/repos/nadesiko3/src/cnako3.mjs sample/hello.nako3使い方・サンプルコード
以下は、localhost:3000 で簡単なWebサーバーを起動し、「/」にアクセスした際に「ハローワールド!」と出力するサンプルプログラムです。
!「nadesiko3-server」を取り込む。
# 3000番ポートでWEBサーバーを起動
3000でWEBサーバ起動した時には
「サーバーが http://localhost:3000 で起動しました」と表示。
ここまで。
# ルーティング設定 (GET /)
「/」へWEBサーバGETした時には
「ハローワールド!」をWEBサーバ出力。
「- アクセスがありました」を表示。
ここまで。実行方法
cnako3 コマンドでプログラムを実行します。
cnako3 hello.nako3提供コマンド一覧
本プラグインを読み込むことで、以下の命令や変数が利用可能になります。
サーバー起動・管理
[ポート番号]でWEBサーバ起動指定したポート番号でWebサーバーを起動します。[コールバック]を[ポート番号]のWEBサーバ起動時サーバーを起動し、起動成功時にコールバックを実行します。[コールバック]をWEBサーバ起動成功時サーバーの起動に成功した際に実行するコールバックを設定します。[コールバック]をWEBサーバ起動失敗時サーバーの起動に失敗した際に実行するコールバックを設定します。[名前]にWEBサーバ名前設定コンソール表示用のWebサーバーの名前を設定します(デバッグ表示がオフになります)。
ルーティング・静的ファイル配信
[URLパス]を[ローカルディレクトリパス]へWEBサーバ静的パス指定HTML、画像、CSSなどの静的ファイルを配置するディレクトリを指定します。[コールバック]を[URLパス]へWEBサーバGETした時には(またはWEBサーバGET時) GETリクエストがあった時の処理を指定します。[コールバック]を[URLパス]へWEBサーバPOSTした時には(またはWEBサーバPOST時) POSTリクエストがあった時の処理を指定します。[コールバック]を[URLパス]へWEBサーバPUTした時には(またはWEBサーバPUT時) PUTリクエストがあった時の処理を指定します。[コールバック]を[URLパス]へWEBサーバDELETEした時には(またはWEBサーバDELETE時) DELETEリクエストがあった時の処理を指定します。
レスポンス・データ取得
GETデータ(定数) GETリクエストのクエリパラメータ(オブジェクト)が格納されます。POSTデータ(定数) POST/PUTリクエストのボディデータが格納されます。[データ]をWEBサーバ出力クライアントにレスポンス(テキスト/HTML等)を出力します。[ステータスコード]をWEBサーバステータス出力クライアントにHTTPステータスコードを送信します。[ヘッダオブジェクト]をWEBサーバヘッダ出力クライアントへのレスポンスヘッダを設定します。[URL]へWEBサーバリダイレクト指定したURLへクライアントをリダイレクト(302)します。
サンプルの実行方法
本リポジトリにはサンプルプログラムが付属しています。
# 依存パッケージのインストール
npm install
# ハローワールドサンプルの実行
npm run start
# より複雑なエディタ連携サンプルの実行
npm run nako3editテストの実行方法
Node.js標準のテストフレームワークを使用したユニット・統合テストが用意されています。
# テストの実行
npm testマニュアル
詳細なマニュアルや各命令の使い方は、公式サイトのドキュメントを参照してください。
