Javascript 调用 Python,跨语言开发的技巧301


在現代化的軟體開發中,結合不同程式語言的優勢已成為常態。本文將探討如何透過 JavaScript 這門廣泛使用的網頁前端語言,呼叫 Python 這種強大的後端語言,從而擴展網頁應用的可能性。

跨語言通信的管道

JavaScript 和 Python 之間的跨語言通信一般透過以下管道實現:* HTTP 請求:JavaScript 可使用 Fetch API 或 Axios 等函式庫發送 HTTP 請求至 Python 後端,進行資料交換。
* WebSocket:這種雙向通信協議允許 JavaScript 和 Python 透過持續的 WebSocket 連線即時傳送資料。
* :這是一個 JavaScript 執行時環境,可執行 Python 程式碼並提供 JavaScript 和 Python 之間的橋樑。

方法 1:使用 HTTP 請求

這是最簡單的方式,使用 JavaScript 發送 HTTP 請求至執行 Python 後端的伺服器。Python 伺服器可透過 Flask、Django 或 FastAPI 等框架建立,以處理 HTTP 請求並傳回資料。

JavaScript 範例:


```javascript
fetch('/api/endpoint')
.then(response => ())
.then(data => (data));
```

Python 伺服器端範例:


```python
from flask import Flask, jsonify
app = Flask(__name__)
@('/api/endpoint', methods=['GET'])
def endpoint():
return jsonify({'message': 'Hello from Python!'})
if __name__ == '__main__':
()
```

方法 2:使用 WebSocket

WebSocket 提供即時雙向通信,允許 JavaScript 和 Python 透過持續連線傳送事件和資料。

JavaScript 範例:


```javascript
const socket = new WebSocket('ws://:8080/ws');
= (event) => {
();
};
```

Python 伺服器端範例:


```python
from flask_socketio import SocketIO
socketio = SocketIO()
@('connect')
def connect():
print('Client connected')
@('message')
def message(data):
print('Message:', data)
('response', 'Hello from Python!')
if __name__ == '__main__':
(app)
```

方法 3:使用

是 JavaScript 的執行時環境,可執行 Python 程式碼並透過其 Child Process 模組創建 Python 子程序。

JavaScript 範例:


```javascript
const { exec } = require('child_process');
exec('python ', (error, stdout, stderr) => {
if (error) {
(`error: ${}`);
} else {
(`stdout: ${stdout}`);
}
});
```

Python 程式碼 :


```python
print('Hello from Python!')
```

結論

透過 JavaScript 呼叫 Python,開發人員可以將兩種語言的優勢結合起來,打造出更複雜且功能強大的網頁應用程式。本文介紹了三種實現跨語言通信的方法:HTTP 請求、WebSocket 和 。了解這些方法後,開發人員可以根據具體需求和應用場景選擇最適合的方案,拓展 JavaScript 的能力。

2025-01-19


上一篇:如何禁用 Internet Explorer 中的 JavaScript?

下一篇:JavaScript 内存泄露:理解、检测和解决