夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

pythonでNode.jsを使うシンプルなコードを書く

本日はPython勉強枠です。

PythonでNode.jsを使用していきます。

筆者自身はNode.js自体は触ったことはあるのですが、自身のプログラムと合わせて使用した経験がないため今回は勉強も含めて触っていきます。

〇Node.jsとは?

Node.jsはJavascriptをサーバーサイドで実行するための環境で、非同期I/O処理を特徴としており、大量のアクセスを高速に処理することができます。

〇環境構築

・Windows11 PC

・Anaconda3

①プロジェクトのディレクトリでコマンドプロンプトを開きます。

②npmの初期化を行います。

npm init

npmとはNode.jsのパッケージ管理ツールです。

PythonのPipのような用途で使用できます。

これによってPackage.jsonファイルが作成されます。

③次のコマンドでモジュールをインストールします。

npm install express

これによってNode.jsのexpressモジュールがダウンロードされます。

④axiosモジュールのインストール

npm install axios
Pythonコード
import requests

url = 'http://localhost:3000/api/data'

response = requests.get(url)
data = response.json()

print(data)

Python側ではLocalhostのポート番号3000を利用してデータを受け取ります。

Javascriptコード
const express = require('express');
const app = express();
const port = 3000;

app.get('/api/data', (req, res) => {
  res.send({ message: 'This is data from Node.js server!' });
});

app.listen(port, () => {
  console.log(`Server is listening at http://localhost:${port}`);
});

js側のコードではHTTPサーバーを立ち上げ、Pythonからのリクエストを受け付けるようにしています。

〇コードを実行

現時点でプロジェクトディレクトリは次のようになっています。

コマンドプロンプトを使用してサーバーを起動します。

node server.js

②表示されるセキュリティの警告を承認します。

これによってサーバーが機能します。

Pythonを実行します。

これによってサーバー側からメッセージが返されます。

以上でNode.jsを使用したPythonによるシンプルなコードが実行できました。

LocalHostを使用しているIPを同一のネットワークやVPNを使用しているデバイスのIPに変えることでネットワークを使用して他のデバイスに通信できそうです。

本格的に使用するにはまだ足りず初歩的な内容ですが、ここから膨らませていけそうです。

〇参考

qiita.com