日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

NodeJs 创建一个简单的服务

發布時間:2025/3/18 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NodeJs 创建一个简单的服务 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

個人學習記錄,僅供參考

創建第一個應用

參考

步驟
  • 引入 required 模塊:我們可以使用 require 指令來載入 Node.js 模塊。
  • 創建服務器:服務器可以監聽客戶端的請求,類似于 Apache 、Nginx 等 HTTP 服務器。
  • 接收請求與響應請求 服務器很容易創建,客戶端可以使用瀏覽器或終端發送 HTTP 請求,服務器接收請求后返回響應數據。

引入 required 模塊

var http = require("http");

創建服務器

/*** request 請求 輸入-請求的信息* response 響應 輸出-輸出的東西* http 模塊提供的函數: createServer 。這個函數會返回 一個對象,這個對象有一個叫做 listen 的方法,這個方法有一個數值參數, 指定這個 HTTP 服務器監聽的端口號。*/ http.createServer(function (req, res) {switch (req.url){case '/1.html':res.write("1111111");break;case '/2.html':res.write("22222222");break;default:res.write("404");break;}res.end(); }).listen(8888);

啟動服務器

node server.js

接收前臺數據

GET

前臺代碼提交表單 <form action="http://127.0.0.1:8080/www" method="get">用戶名:<input type="text" name="user" value="">密碼:<input type="password" name="pass" value=""><input type="submit" value="提交"> </form> 后臺代碼接收數據

接收進來的數據參數可以有三種方式去解析

  • 手動拆分字符串 (比較麻煩)
  • 使用node提供的 querystring 方法
const http = require('http');const querystring = require('querystring');http.createServer(function (req,res) {var GET = {};if(req.url.indexOf("?") != -1){var arr = req.url.split('?');var url = arr[0];GET = querystring.parse(arr[1]);}else {var url = req.url;}console.log(url,GET)// /aaa { user: '孫悟空', pass: '123456' }res.write('aaa');res.end(); }).listen(8080);
  • 使用node提供的 url 方法 (相對來說 url還是比較簡單的)
const http = require('http'); const urlLib = require('url'); http.createServer(function (req,res) {var obj = urlLib.parse(req.url,true)var url = obj.pathname;var GET = obj.query;console.log(url,GET)// /aaa { user: '孫悟空', pass: '123456' }res.write('aaa');res.end(); }).listen(8080);

POST

前臺代碼提交表單 <form action="http://127.0.0.1:8080/www" method="post">用戶名:<input type="text" name="user" value="">密碼:<input type="password" name="pass" value=""><input type="submit" value="提交"> </form> 后臺代碼接收數據

在這里咱們使用node提供的 querystring 方法去解析接收過來的數據

上代碼

const http = require('http'); const querystring = require('querystring'); http.createServer(function (req,res) {var str = '';//接收數據//data ==> 有一段數據到達(很多次)每次執行一次就是分段一次var i = 0;req.on('data',function (data) {console.log(`第${i++}次收到數據`);//第0次收到數據(每次執行都會打印一個)str += data;});//end ==> 數據全部到達的時候 (只發生一次)req.on('end',function () {var POST = querystring.parse(str);console.log(POST);//{ user: '孫悟空', pass: '123123' }}); }).listen(8080);

以上知識點整合

const http = require('http'); const fs = require('fs'); const querystring = require('querystring'); const urlLib = require('url'); http.createServer(function (req,res) {//GETvar obj = urlLib.parse(req.url,true);var url = obj.pathname;const GET = obj.query;//POSTvar str = '';req.on("data",function (data) {str += data;});req.on("end",function () {const POST = querystring.parse(str);/*** url==>要什么* GET==>get數據* POST==>post數據*/console.log(url,GET,POST);//文件請求var file_name = './www'+url;fs.readFile(file_name,function (err,data) {if(err){res.write('404')}else {res.write(data)}})}) }).listen(8080); 與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的NodeJs 创建一个简单的服务的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。