搭建服務器及跨域處理

使用內置的模塊搭建服務器

自己電腦:

域名:localhost

ip:127.0.0.1

http模塊搭建服務器

const http = require('http')// 創建一個http對應的服務器,每次改完服務器的代碼后都需要重新啟動下服務器
/*方式一:
const server = http.createServer((request,response)=>{//request對象中包含本次客戶端請求的所有信息(請求的url\method\headers\請求攜帶的數據等)(可讀流)//response對象用于給客戶端返回結果(可寫流)response.end('hello world!')}
)*/
//方式二:
const server = http.createServer()
server.on('request',(req,res)=>{res.setHeader('Content-Type','text/html;charset=utf-8')//等號兩邊不能有空格res.end('hello,我是服務器')
})
//開啟對應的服務器,并且告知需要監聽的端口,默認端口是80
//監聽端口時,監聽1024以上的端口(1024以下的端口已經開通給特定服務做監聽的),65535以下的端口
//1025-65535之間的端口,端口是2個字節,所以是256*256=65536=>0~65535
server.listen(8000,()=>{console.log('服務器開啟成功');
})

在所在目錄node執行該文件即可在該主機上

C:\Users\Administrator\Desktop\learn\node\day2-node服務器> node .\01http服務器基本使用.js
在瀏覽器輸入localhost:8000

使用第三方模塊搭建服務器

express:

是一個第三方模塊,基于Node.js平臺,快速、開放、極簡的web開發框架,同類產品koa,用于快速搭建服務器(替代http模塊)

初始化

npm init

安裝express

中文網參考:expressjs.com.cn

npm i express

注意:

        1.初始化用的什么包管理工具,后面安裝也就用該包管理工具(npm\yarn……)

        2.express不能安裝在express文件夾中,否則安裝失敗。

使用express搭建web服務器

        1.加載express模塊

        2.創建express服務器

        3.開啟服務器

        4.監聽瀏覽器請求并進行處理

const express = require('express')// 1.創建express服務器
const app = express()//寫接口語法
/*app.請求方式('/接口地址',(req,res)=>{
//  req-request-請求:獲取請求相關信息,就找req
//  res-response-響應:做出響應找res
})*/
//請求數據
app.post('/login',(req,res)=>{console.log('登錄成功');res.end('登錄成功')
})
app.get('/getbook',(req,res)=>{console.log('首頁數據');res.end({status:200,message:'獲取圖書成功',data:[{id:1,name:'aaa',author:'axx',price:21},{id:2,name:'bbb',author:'bxx',price:12},{id:3,name:'ccc',author:'cxx',price:34},]})
})// 2.監聽服務器端口
app.listen(63342,()=>{console.log('63342啟動成功');
})

nodenmon

當服務器代碼修改后,就要重啟服務,非常麻煩,所以采用nodemon插件

nodemon是一個全局模塊,安裝后,可以使用nodemon代替node運行js文件。

優點:

當代碼保存后,nodemon會檢測文件代碼是否改變了,如果改變了就會自動重啟服務器。

全局安裝:

npm i nodemon -g

使用

nodemon xxx.js

建議不要濫用nodemon,建議只在啟動服務時使用nodemon,其它情況使用node,如果是用cmd啟動,則不要點擊cmd面板,會凍結不更新,取消凍結點擊右鍵即可。

接口測試工具

瀏覽器只能測試GET方式的接口,如果是post等方式的接口,則無法使用瀏覽器測試,所

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/717911.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/717911.shtml
英文地址,請注明出處:http://en.pswp.cn/news/717911.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

對簡單工廠模式、工廠方法模式的思考

目錄 1 背景1.1 題目描述1.2 輸入描述1.3 輸出描述1.4 輸入示例1.5 輸出示例 2 簡單工廠模式3 工廠方法模式4 思考4.1 改進工廠方法模式 1 背景 題目源自:【設計模式專題之工廠方法模式】2.積木工廠 1.1 題目描述 小明家有兩個工廠,一個用于生產圓形積木…

鐵路關基保護新規發布!鐵路軟件供應鏈安全洞察與治理思路

近日,國家鐵路局發布《鐵路關鍵信息基礎設施安全保護管理辦法》,《辦法》第十四條提到:“運營者應當加強鐵路關鍵信息基礎設施供應鏈安全保護,優先采購安全可信的網絡產品和服務。運營者采購網絡產品和服務,應當預判該…

Intel FPGA IP之LVDS SerDes IP學習

FPGA 視頻數據輸入輸出直通工程: 屏:13.2吋8bit色深,屏幕分辨率為1440*192060,具有兩個Port,每個Port有4個差分數據對與1個差分時鐘對,差分對均支持LVDS協議芯片:Cyclone V系列FPGA目的&#x…

標簽轉格式問題之——xml_2_txt.py

import xml.etree.ElementTree as ET#xml 是python自帶的package import osclasses[walnut]#寫自己的分類名 pre_dirF:/2023walnut/labels#xml文件所在文件夾 target_dirF:/2023walnut/yolo#想要存儲txt文件的文件夾 pathos.listdir(pre_dir)for path1 in path: # path1rC:\Use…

[變壓器故障診斷分類及預測】基于Elman神經網絡

課題名稱:基于Elman神經網絡的變壓器故障診斷分類及預測 版本日期:2024-02-10 運行方式:直接運行Elman0507.m文件 代碼獲取方式:私信博主或QQ:491052175 模型描述: 對變壓器油中溶解氣體進行分析是變壓…

Noise Conditional Score Networks(NCSN)學習

參考: [1] https://zhuanlan.zhihu.com/p/597490389 [2] https://www.zhangzhenhu.com/aigc/Score-Based_Generative_Models.html TOC 1 基于分數的生成模型1.1 簡介和動機1.2 Score Matching及其改進1.2.1 Score Matching1.2.2 Sliced score matching(不…

XSS_lab(level1-level5)

level1 直接輸入頁面沒有發現輸入框&#xff0c;觀察url發現有傳參 嘗試修改傳參為&#xff1a;<script>alert(1)</script> 過啦&#xff01; level2 頁面中有輸入框&#xff0c;嘗試構建語句&#xff1a;<script>alert(1)</script>,傳輸后查看源代…

國際心理學導師-葉子文JeffreyYip的《意識地圖》

“物質就是能量。” ---愛因斯坦 “時常保持覺知&#xff0c;有意識地發現情緒起伏 你隨時都能翻轉人生 做自己人生的導演 當你頻率高時&#xff0c;萬事萬物為你而來” ---大衛霍金斯 葉子文-《意識地圖》&#xff1a;高階心理學課程 宇宙間萬物的本質是能量。一切都靠能量…

Java基礎---lambda表達式

一、為什么要引入lambda表達式 lambda 表達式是一個可傳遞的代碼塊 &#xff0c; 可以在以后執行一次或多次 。 在介紹lambda表達式之前&#xff0c;我們看一下&#xff0c;以前&#xff0c;我們對于一個問題的通常寫法。 假設你已經了解了如何按指定時間間隔完成工作&#xf…

js字符串轉json的3種方法

1.eval方式解析 function strToJson(str){var json eval("(" str ")");return json;}console.log(strToJson("{int:1, string:demo}")); 運行截圖&#xff1a; 注&#xff1a; 記得別忘了str兩旁的小括號。 永遠不要使用 eval !!! eval() 是一…

611. 有效三角形的個數 - 力扣

1. 題目 給定一個包含非負整數的數組 nums &#xff0c;返回其中可以組成三角形三條邊的三元組個數。 2. 示例 3. 分析 利用已升序了的數組通過 a b > c 這條公式找出符合要求的三元組&#xff0c;利用這個公式的前提是三條邊為從小到大&#xff0c;再利用單調性快速統計…

STM32 (1)

1.基本信息 stm32是由ST公司生產的一種32位微控制器&#xff08;單片機&#xff09;。 1.1 各種型號 stm32是32位單片機的總稱&#xff0c;有多種不同的系列。 32即用32個比特位表示一個地址&#xff0c;尋址范圍&#xff1a;0x00000000 --0xffffffff (4GB) 1.2 存儲密度 …

Mysql事務的兩段式提交

binlog和redo log區別 為了滿足Mysql的事物ACID特性&#xff0c;InnoDB引入了redo log和 undo log日志文件。為了滿足主從同步Mysql引入了binlog日志文件。redo log和binlog文件都保存的數據庫對數據庫的修改&#xff0c;但是binlog和redo log本質上是不一樣的&#xff1a; r…

UE5中實現后處理深度描邊

后處理深度描邊可以通過取得邊緣深度變化大的區域進行描邊&#xff0c;一方面可以用來做角色的等距內描邊&#xff0c;避免了菲尼爾邊緣光不整齊的問題&#xff0c;另一方面可以結合場景掃描等特效使用&#xff0c;達到更豐富的效果&#xff1a; 后來解決了開啟TAA十字線和鋸齒…

XXL-Job的基本使用

一、市面上常見的任務調度產品 針對分布式任務調度的需求&#xff0c;市場上出現了很多的產品: 其中XXL-job 是我們經常使用的任務調度平臺,XXL這三個英文字母.是以作者名許雪里命名的。 可以前往 Gitee 地址進行下載使用 https://gitee.com/xuxueli0323/xxl-job.git二、XXL-J…

使用`paddle.nn.Layer`自定義網絡教程

文章目錄 使用paddle.nn.Layer自定義網絡教程1. 概念介紹2. 數據處理3. 搭建一個完整的深度學習網絡4. 使用paddle.nn.Layer構建深度學習網絡5. 利用paddle.nn.Layer進行子層的訪問6. 修改paddle.nn.Layer層的成員變量7. 存儲模型的參數8. 總結 使用paddle.nn.Layer自定義網絡教…

LockBit病毒入侵揭秘:如何防范與應對

在數字時代&#xff0c;隨著科技的飛速發展&#xff0c;網絡安全問題愈發凸顯。惡意軟件和勒索軟件等網絡威脅正不斷演變&#xff0c;其中一款備受關注的勒索軟件就是LockBit。本文將深入介紹LockBit的特征、攻擊手段、演進歷程以及對網絡安全的威脅。 01 主要特征 LockBit是…

算法知識(java)隨筆

1: 保留指定的小數為 printf("%.2f\n", ret) 和c語言類似 // 怎么保留小數 System.out.printf("%.2f\n", 1.0/3); 2: 在寫小數二分的時候 加入讓結果保留6位數 那么 while(r - l > 1e-8) 3: java Map里面之前寫的代碼: /*** 也就是 統計x在map里面的…

第二十一周周報

文獻閱讀&#xff1a;Recent Advances of Monocular 2D and 3D Human Pose Estimation: A Deep Learning Perspective 摘要&#xff1a;在本文中&#xff0c;作者提供了一個全面的 2d到3d視角來解決單目人體姿態估計的問題。首先&#xff0c;全面總結了人體的二維和三維表征。…

騰訊云Windows輕量應用服務器的默認密碼是什么,以及如何重置?

首先&#xff0c;騰訊云輕量應用服務器的默認用戶名是沒有設置密碼的&#xff0c;首次登錄時需要重置密碼。這意味著如果你的輕量應用服務器是騰訊云的&#xff0c;那么默認密碼是不存在的&#xff0c;需要通過重置密碼來獲得一個新的密碼。 關于如何重置密碼&#xff0c;有幾…