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

歡迎訪問 生活随笔!

生活随笔

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

HTML

二十三、前端必学Node.js入门

發布時間:2024/10/8 HTML 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 二十三、前端必学Node.js入门 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

@Auhor:Runsen

@Date:2019年12月04日

@update Date:2020年5月31日

作者介紹:Runsen目前大三下學期,專業化學工程與工藝,大學沉迷日語,Python, Java和一系列數據分析軟件。導致翹課嚴重,專業排名中下。.在大學60%的時間,都在CSDN。決定今天比昨天要更加努力。

在復習前端第二十二篇,我要介紹了Node,從中回憶復習Node的知識點

文章目錄

  • Node.js
  • Node.js環境搭建
    • linux安裝node
  • 創建第一個應用
  • NPM
  • 重點
  • Promise
  • 思考題

Node.js

Node.js是一個基于Chrome JavaScript運行時建立的平臺, 用于方便地搭建響應速度快、易于擴展的網絡應用。Node.js 使用事件驅動, 非阻塞I/O 模型而得以輕量和高效,非常適合在分布式設備上運行的數據密集型的實時應用。(百度百科)

Node.js 是一個 JavaScript 的運行環境(平臺),不是一門語言,也不是 JavaScript 的框架。簡單的說 Node.js 就是運行在服務端的 JavaScript。

我先給大家介紹下知名度較高的Node.js開源項目

  • express:Node.js中最有名的web服務器框架。

  • PM2:node 本來是單進程的,PM2可以實現和管理多進程。

  • jade:非常優秀的模板引擎,不僅限于 js 語言。

  • CoffeeScript:用簡潔的方式展示 JavaScript 優秀的部分。

  • Atom:文本編輯器。

  • socket.io:實時通信框架。

  • mocha:功能強大的 node.js 測試框架。

Node.js環境搭建

nodejs下載

菜鳥教程

上面的文章安裝nodejs絕對看搞定,不會就趕緊棄學。

linux安裝node

在這里,我主要介紹 linux安裝node

sudo apt-get update sudo apt-get install nodejs sudo apt-get intall npm # 更新node到最新穩定版 sudo npm install -g n sudo n stable node -v

下面都是來源騰訊云

wget https://nodejs.org/dist/v10.16.3/node-v10.16.3-linux-x64.tar.xz #您可前往 Node.js 官網 獲取更多安裝信息。 #執行以下命令,解壓安裝包。 tar xvf node-v10.16.3-linux-x64.tar.xz #依次執行以下命令,創建軟鏈接。 ln -s /root/node-v10.16.3-linux-x64/bin/node /usr/local/bin/node ln -s /root/node-v10.16.3-linux-x64/bin/npm /usr/local/bin/npm #成功創建軟鏈接后,即可在云服務器任意目錄下使用 node 及 npm 命令。 #依次執行以下命令,查看 Node.js 及 npm 版本信息。 node -v npm -v

下面就是成功圖,是我的騰訊云服務器。

創建第一個應用

下面我就教大家使用node創建第一個應用,新建一個叫server.js,代碼如下。不知道怎么回事,不要緊,你知道就是打印Hello World的程序。

var http = require("http") http.createServer(function(request, response){response.writeHead(200,{'Content-Type':'text/plain'})response.end('Hello World\n');}).listen(8888)console.log('Server running')

下面就是用node執行server.js

node server.js // 瀏覽器訪問 http://127.0.0.1:8888/

下面就是 這是官網的入門代碼。

const http = require('http');const hostname = '127.0.0.1'; const port = 3000;const server = http.createServer((req, res) => {res.statusCode = 200;res.setHeader('Content-Type', 'text/plain');res.end('Hello World\n'); });server.listen(port, hostname, () => {console.log(`Server running at http://${hostname}:${port}/`); });

NPM

NPM是隨同NodeJS一起安裝的包管理工具,能解決NodeJS代碼部署上的很多問題,常見的使用場景有以下幾種:

  • 允許用戶從NPM服務器下載別人編寫的第三方包到本地使用。
  • 允許用戶從NPM服務器下載并安裝別人編寫的命令行程序到本地使用。
  • 允許用戶將自己編寫的包或命令行程序上傳到NPM服務器供別人使用。

其實就是Python中的pip,管理第三方包的

下面的命令記住啊

// 版本號 npm -v// 升級npm sudo npm install npm -g// 安裝模塊 -g 為全局 npm install ModuleName npm install ModuleName -g// 查看信息 npm list -g npm list ModuleName npm list ModuleName -g// 卸載模塊 npm uninstall express npm unistall express -g// 更新模塊 npm update modulName npm update ModulName -g// 搜索模塊 npm search modulName

重點

在瀏覽器中,全局作用域是window,而在node中是global。

但是我們可以直接

var a=1; console.log(window.a),

但是我們不能console.log(global.a),

因為node在執行的時候會形成一個閉包來實現模塊化。

function one(){let a = 1;function two(){let b = 2;console.log(a)function three(){// console.trace()console.log(b) }three();}two();} one();


這個圖就是代碼執行的時候出來的執行棧(執行過程從下往上)。

Promise

Promise 中文翻譯為“承諾"是 JavaScript 的一種對象,表示承諾終將返回一個結果,無論成功還是失敗。

Promise是一個構造函數 new Promise() 得到一個Promise一個實例

Promise 有三個狀態:等待中(pending),完成(fullfilled),失敗(rejected), Promise 的設計具有原子性,狀態一旦從 pending 狀態轉換為 fullfilled 狀態或者 rejected 狀態后,將不能被改變。

new Promise( function(resolve, reject) {...} ); //reject參數 可不選

promise的三種狀態 pending: 進行中,既不是成功,也不是失敗狀態。 resolve: 意味著操作成功完成。 rejected: 意味著操作失敗

第一個是成功 resolve 調用的方法,第二個是失敗 reject 調用的方法

思考題

思考打印順序

console.log(1) setTimeout(function(){console.log(4) },0) let promise = new Promise(function(resolve,reject){console.log(3)resolve(100) }).then(function(data){console.log(100)setTimeout(function(){// 調用了setTimeout 先打印4console.log(5)},0) }) console.log(2)

控制臺會先輸出13(new Promise的時候就立即執行)2, setTimeout的執行內容放到宏任務隊列中,then執行內容放微任務中,最后在把輸出5的也方到宏任務中,因為微任務先于宏任務執行

線程,有時被稱為輕量級進程(Lightweight Process,LWP),是程序執行流的最小單元。線程也有就緒、阻塞和運行三種基本狀態。就緒狀態是指線程具備運行的所有條件,邏輯上可以運行,在等待處理機;運行狀態是指線程占有處理機正在運行;阻塞狀態是指線程在等待一個事件(如某個信號量),邏輯上不可執行。
每一個程序都至少有一個線程,若程序只有一個線程,那就是程序本身。

咱們講NodeJs的目的是什么呢?是為了去學習VueJs,ReactJs,再接下來還有ES6,跟著我混就對了。

總結

以上是生活随笔為你收集整理的二十三、前端必学Node.js入门的全部內容,希望文章能夠幫你解決所遇到的問題。

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