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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

Node.js(爱前端) 一

發布時間:2023/12/10 HTML 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Node.js(爱前端) 一 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一 Node.js 簡介

?1.1?官網?https://nodejs.org/en/

官網介紹:

Node.js是一個構建在 Chrome 瀏覽器V8引擎上的 JavaScript?運行環境。

Node.js 使用了事件驅動、非阻塞I/O模型,這些都使它輕量、好用。

Node.js 的包生態(npm),是世界上最大的開源庫生態系統。

?ps:?解決性能問題而發明的 Node.js

異步 I/O:絕大多數的網站 I/O 是非常多的,I就是 input 數據的讀取,O 就是 Output 數據的寫入,

但是 I/O 的時候 CPU 是命令磁盤去做事情,此時 CPU自己就閑置了

這種模式叫做同步 I/O?

同步(synchronous):當系統遇見了一個需要耗費大量時間的事情的時候,選擇死等。

異步(Asynchronous):當系統遇見了一個需要耗費大量時間的事情的時候,不死等,先做后面的事情,耗時事情做完之后,執行回調函數

Node.js 的哲學:是一個專注于實現高性能 Web 服務器優化的專家,幾經探索,幾經挫折后,

遇到 V8 而誕生的項目。

?

Node.js 向下兼容做的非常好,所有的高版本,會 deprecate(建議放棄)一些老版本的API,

但不會完全不支持

在 Node.js 和 io.js 首次融合的4.0.0版本中,開發者們可以看到其對 ES6 特性的擴展支持,

并且大多數都是默認啟用的,比如:classes、typed arrays、generators、Promises、Symbols、collections、arrow functions、block scoping)、template strings等等。

1.2 安裝

到官網下載(有穩定版,最新版)

路徑中不要有中文

安裝完成后: 命令行? $? node -v? 查看版本

注意 $ 符號是 Linux 系統中(后面會學習)命令行中普通用戶的表示符號,

注意,我們輸入的時候不要輸入 $,這里只是一個表示符號

$ cls? 清屏

$ node xxx.js? 運行 js 文件,可直接交文件拖進來

$ d: 到 d 盤

$ cd? xxx 進入 xxx 文件夾

?

此時有兩種運行環境

1 瀏覽器

2 node?

?

二 開發服務器

2.1 案例: (文件要放在 c 盤)

注意 node? 文件的路徑? ?絕對路徑?

?結束掛起??ctrl + c

此時 光標掛起,沒有返回,?表示此時 node 正在執行一個監聽

再瀏覽器:127.0.0.1:2000 回車 訪問?

如果你要修改程序,此時刷新瀏覽器沒用,必須 ctrl+c 打斷之后重新運行

頁面運行結果:

命令行 node 運行后,就是跑了一個服務器,若是 斷開(ctrl + c ),再訪問頁面就訪問不到了

在 node.js 文件的最后添加語句: console.log("node.js運行");? 會在 cmd 中 node運行后顯示

?

2.2 Node.js 是后臺的東西

NodeJS 是 JavaScript 工作在了服務器端,太牛逼啦!我們的JS現在上天入地!

?查看源代碼,如果代碼中有運算,比如: (3+4),我們發現數字 7 是直接寫上去的,

沒有 (3+4)的運算痕跡

原因就是 NodeJS 運行在服務器端,而不是瀏覽器端。

服務器計算了數字 7 之后,發給了瀏覽器就是扁平的、純粹的 HTML 了,沒有任何程序。

?

至此我們已經證明了 NodeJS 運行在服務器端。我們使用 JS 開始開發服務器:GET請求的處理、POST請求參數的處理、數據庫的增刪改查、Cookie、 session等等、路由。

?

?2.3 NodeJS 沒有服務器架構

Node.js 是一個讓 JavaScript 運行在服務器端的開發平臺,它讓 JavaScript 的觸角伸到了服務器端。

但 Node 似乎和其他服務器端語言比如 PHP、ASP、JSP 有點不同:

● Node.js?不是一種獨立的語言,與 PHP、JSP、Python、Perl、Ruby 的“既是語言,也是平臺”不同,Node.js的使用JavaScript進行編程,NodeJS是一個工具,語言仍然是 JavaScript。

● 與 PHP、JSP 等相比,Node.js 跳過了 Apache、Tomcat、Nginx、IIS 等 HTTP 服務器,它自己不用建設在任何服務器軟件之上。Node.js 的許多設計理念與經典架構(LAMP)有著很大的不同,可以提供強大的伸縮能力。

Node.js 自身哲學,是花最小的硬件成本,追求更高的并發,更高的處理性能

  

Node.js 沒有根目錄的概念。

?

三 Node.js 特點

3.1 單線程

在 Java、PHP 或者 .net 等服務器端語言中,會為每一個客戶端連接創建一個新的進程。而每個進程需要耗費大約 2MB 內存。也就是說,理論上一個 8GB 內存的服務器可以同時連接的最大用戶數為 4000 個左右。要讓 Web 應用程序同時支持更多的用戶,就需要增加服務器的數量或者增加服務器的內存數,而 Web 應用程序的硬件成本當然就上升了。

Node.js 不為每個客戶連接創建一個新的線程,而僅僅使用一個線程(thread)。當有用戶連接了,就觸發一個內部事件,通過非阻塞I/O、事件驅動機制,讓 Node.js 程序宏觀上也是并行的。使用 Node.js,一個8GB內存的服務器,可以同時處理超過4萬用戶的連接。

另外,單線程的帶來的好處,還有操作系統完全不再有線程創建、銷毀的時間開銷。

?

輸出中文亂碼: 查 node API:? http 模塊? ?ctrl + f :? ?setHeader 選擇??response.setHeader('Content-Type', 'text/html;charset=utf-8');

?文件的保存類型也要設置為 utf-8

?

寫 路徑 時? ./ 在linux 必須加

?

?

?

?

?

?

轉載于:https://www.cnblogs.com/Bijou/p/10211459.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的Node.js(爱前端) 一的全部內容,希望文章能夠幫你解決所遇到的問題。

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