カテゴリー
【nodejs活用】nexeでポータブルなExpress.jsサーバーを手軽に持ち歩く〜Linux編
※ 当ページには【広告/PR】を含む場合があります。
2022/04/28
2022/09/15
nexeでスタンドアローンなExpressサーバを立てるコマンドを作成する際のメモです。
なおこの記事で、nexeアプリのビルド環境の導入方法などには触れていませんので、より細かいセットアップの情報は以前の記事の内容でご確認ください。
nexeとExpressを組み合わせることで、nodejsをインストールしていない環境でも、コマンド一つで簡易的なWebサーバーに仕上げられるので、ローカルのテスト環境ツールにもってこいです。
早速以降ではnexeとExpressを使った最軽量なモックWEBサーバーツール・
なお、今回は
別パターンとして、
Express.jsのtypescriptビルドとnexeアプリビルド
Nodeプロジェクトに
nexe
Express.js
Typescript
アプリのメインコード・
index.ts
import express from "express";
const endpoint = 'http://localhost:3000';
console.log(`Nexe-Express server is now running at ${endpoint}!`);
const app = express();
app.get('/', (req, res) => {
res.send('Hello, local client!');
});
app.listen(3000, () => {});
これを
tsc
dist/index.js
$ tsc
$ nexe dist/index.js --target=linux-x64-14.15.3
ここでのターゲットはLinuxOS x64向けです。
ちなみに出来上がったバイナリのサイズは、
$ du -h index
72M index
となってnodejs & Expressがこのサイズに詰まっていると考えれば、かなりコンパクトに感じます。
動作テスト〜CurlでNexe-Expressサーバーにアクセス
では仕上がった実行バイナリを起動させてみましょう。
$ ./index
Nexe-Express server is now running at http://localhost:3000!
この状態で、別ターミナルを起動し、このエンドポイント
http://localhost:3000
$ curl -XGET http://localhost:3000
Hello, local client!
きちんとレスポンスが得られれば、ポータブルなアプリ兼HTTPサーバーとして機能していると思います。 めでたしめでたし。
記事を書いた人
ナンデモ系エンジニア
主にAngularでフロントエンド開発することが多いです。 開発環境はLinuxメインで進めているので、シェルコマンドも多用しております。 コツコツとプログラミングするのが好きな人間です。
カテゴリー