本当に簡単にできて驚いた!面倒な設定は一切不要、秒速でWeb開発用のサーバーが構築できる -Zero Server
Post on:2019年3月13日
Node.js、React、TypeScriptをはじめ、HTML、CSS、Sass、Markdownなどが利用できるWeb開発用のサーバーが秒速で簡単に構築できるZero Serverを紹介します。
必要な依存関係は自動インストールされ、ReactやSassは置くだけでコンパイル、マークダウンも設定は一切不要です。サーバーを構築する時間が無い人、設定に明るくない人でもすぐに利用できます。
Zero Server
Zero Server -GitHub
Zero Serverの特徴
Zeroは現代のWeb開発をシンプルにするためのNode.jsフレームワークです。パッケージマネージャーやルーティングを気にせずにアプリケーションを構築できます。 Node.js、React、HTML、MDX、静的ファイルを組み合わせてコードを記述し、それらのファイルをフォルダに置くだけですべて利用できます。
設定不要で、ファイルを置くだけで利用できる
作業を簡単にするために、ルーティング、バンドル、トランスパイルの構成は抽象化されています。
-
- 自動設定
- プロジェクトフォルダには設定ファイルは必要ありません。コードを配置するだけで、自動的にコンパイルされ、バンドルされて配信されます。
-
- ファイルシステムベースのルーティング
- コードが./api/login.jsにある場合は、http://<SERVER>/api/loginで公開されます。古き良きPHPの時代にインスパイアされました。
-
- 依存関係の自動解決
- ファイルがrequire('underscore')を実行すると、自動的にインストールされて解決されます。特定のバージョンのパッケージをインストールするには、いつでも独自のpackage.jsonファイルを作成できます。
-
- 多言語対応
- 1つのプロジェクトですべての言語で書かれたコードをサポートするように設計されています。
・Tensorflowモデルをpython APIとして公開する。
・それを消費するためにReactページを使用する。
・Node.jsにユーザーログインのコードを書く。
・ランディングページはHTMLまたはMarkdownで作成する。
-
- エラー処理の改善
- 各エンドポイントは独自のプロセスで実行されます。そのため、何らかの理由で/api/loginがクラッシュしても、/chatroomページまたは/api/chat APIには影響しません。クラッシュしたエンドポイントは、次のユーザーがアクセスしたときに自動的に再起動されます。
Zero Serverのインストール
インストールは驚くほど、簡単です。
1 |
npm install -g zero |
はい、完了!
Zero Serverの使い方
インストールが完了したので、まずはサーバーの時間を教えてくれるサイトを作成してみます。
JSONで時間を伝えるために、ode.jsにAPIのエンドポイントを作成する必要があります。フォルダを作成し、そのフォルダにtime.jsファイルを追加します。
time.jsに「require("moment");」と書くだけで、依存関係(Moment.js)が自動的にインストールされます。
1 2 3 4 5 6 |
const moment = require("moment"); module.exports = (req, res) => { var time = moment().format("LT"); // 11:51 AM res.send({ time: time }); }; |
ファイルの準備が完了したら、cdでフォルダに移動してサーバーを起動します。
1 |
zero |
必要な設定は自動で行われます。
サーバーの起動
「http://localhost:3000/time」にアクセスすると、時間が表示されます。
sponsors