導航:首頁 > 文件教程 > nodejs教程

nodejs教程

發布時間:2023-04-03 20:01:28

㈠ Node安裝最佳方案(源碼安裝6.0.0)

說到最佳方案, 想起很早時候(剛參加工作)讀到的一本書《Ubuntu最佳解決方案》,很是喜歡。
方案的優劣,仁者見仁智者見智。對於實操性很強的內容,直接提供一種比較好的實現方案遠比各種比較,各種評價,各種引用更有意義。
這里以比較新的操作系統和比較新的Node版本進行說明。

操作系統:Centos 7.0
node 版本: Node.js 6.0.0

安裝koa

Node.js 官網地址:
https://nodejs.org/download/release/v6.0.0/

有current 版本和 ltc 版本:
https://nodejs.org/en/download/current/

Ubuntu 15.04下安裝Node.JS的不同方式
http://www.linuxidc.com/Linux/2015-07/119588.htm
簡介:

也提供了多種方法...

如果你要在Ubuntu 15.04上安裝Node.js的話,這篇教程對你來說肯定很重要。Node.js從本質上來說就是一個運行在服務端上的封裝好了輸入輸出流的javascript程序。Node.js巧妙的使用單線程的事件循環來處理高吞吐量和非阻塞IO。同時它也是一個提供了通過操作系統讀寫文件網路操作功能的平台層。所以這篇文章將展示在Ubuntu 15.04 server上不同的安裝Node.Js的方式。

如何在Ubuntu上安裝最新版本的Node.js
http://blog.csdn.net/chszs/article/details/37521463
簡介:

提供了apt 源的方法。其實沒什麼用。apt-repository 還是比較舊的。

http://www.111cn.net/sys/Ubuntu/58898.htm
ubuntu下安裝nodejs的方法
簡介:

下面我總結了兩種方法來安裝nodejs了,我大概看了一下大概方法相同但是後面一種方法包拯 npm,express一起都講到了,第一種方法只nodejs安裝

㈡ NodeJS(Express框架)實現 Token 驗證免密登錄 (一)

看文章之前,強烈建議先把項目拉取下來!案例來自小弟的開源項目 「項目Github」

文章內容只是個人學習的一些總結經驗,不具有權威性,這是 Node 服務端的實現,後面會寫前端的實現

常見的 Token 驗證方式種:

推薦閱讀:

JWT 超詳細分析

說一說幾種常用的登錄認證方式,你用的哪種

推薦閱讀:

JSON Web Token 入門教程

JSON Web Token - 在Web應用間安全地傳遞信息

首先我們先安裝 jsonwebtoken 和 express-jwt 這兩個中間件

jsonwebtoken : 用於生成 Token 。它也有解析 Token 的功能

express-jwt : 用於解析 Token(比 jsonwebtoken 解決方便) , 它把解析之後的數據,存放到 requset.user 中

如果你看了上面 JWT 介紹的文章,就知道 JWT 是由三部分組成的,分別是 載荷(Payload) 、 頭部(Header) 、 簽名(Signature) 。

jsonwebtoken 給我們提供了 sign(payload, secretOrPrivateKey, [options, callback]) 方法。sign 方法對應的其實就是 JWT 簽名(Signature) 的動作

payload:荷載 ,參數類型:對象secretOrPrivateKey:自定義的密鑰,密鑰屬於敏感信息。參數類型:字元串options:可以配置 header 、荷載、指定演算法類型。參數類型:對象callback:回調

眼尖的朋友應該發現, payload 和 options 兩個 參數 都可以配置荷,下面有例子。根據自己的習慣選擇就好

Payload 部分 JWT 規定了7個官方欄位,這些欄位都是可選欄位。可直接以對象的形式傳給 payload 參數。

options 中也可以接受以上七個欄位,不過欄位名稱有所區別。

除此之後 options 提供了 algorithm 和 header ,分別對應使用的加密演算法和 JWT 的 Header 部分,其實 algorithm 應該也是屬於 Header 部分的。

說了這么多,其實我們一般常用的只有 exp(expiresIn) 和 algorithm 這兩個欄位,

例子一:

token 的有效時間是配置在 option 里

例子二:

我們也可以在 payload 里配置有效時間

jsonwebtoken 除了生成 token 外,還提供了解析驗證 token 的方法, jwt.verify(token, secretOrPublicKey, [options, callback]) 。

這里就不演示了, 感興趣的朋友可以參考文檔: 「JsonWebToken」

express-jwt 是針對 express 框架開發的 JWT Token 驗證中間件。我先來簡單說以下它的用法。

主要有兩種方式,一種是哪些請求需要驗證就往哪裡加驗證;另外一種是先給全部請求加上驗證,再給不需要驗證的請求配置 白名單 。

方式一:

看完上面的例子,很顯然不符合我們的逾期,一個正常的項目有個幾十個 api 是分分鍾的事。我們不可能一個個給他加上檢驗

方式二:

這種方式是不是方便很多,而且更美觀,維護起來也更方便

Token 解析出來的用戶信息,默認存放在 req.user , 可以直接 req.user.userId 來使用生成 Token 時填進去的用戶id

你也通過 requestProperty 和 resultProperty 來設置用戶信息存放的對象。

這里就不展開,詳細文檔參考: express-jwt

可以使用 app.use() 來注冊處理驗證不通過的情況

到這里 Token 的生成、驗證、檢驗不通過錯誤處理就完成了。 Token 生成一般是在登錄之後生成,並返回給前端,前端拿到 Token ,並在每次請求 api 的時候攜帶上 Token , Token 就相當於這個用戶的身份,不要輕易泄露。

Token一旦簽發,不能主動讓它失效,只能等待它有效期過才能失效。也就是說就算你修改了密碼,之前的 Token 也還是有效的。你可以修改後端生成 Token 時使用的密鑰,不讓之前的 Token 檢驗通過,但是這就表示之前所有生成 Token 都失效了,做不到針對某個用戶進行注銷。這顯然也不合適的。 所以用戶修改密碼時,前端一般都要清除之前保存的 Token,再重獲取新的 Token

有朋友應該會想到在後端把 Token 儲存起來,每一個用戶對應一個 token。修改賬號時,再生成一個新的 Token 覆蓋之前的 Token,但這就違背了使用 Token 的目的,Token 的使用很大程度就為了減少伺服器的壓力。把盡可能多的信息存儲在客戶端而不是服務端。

使用 Token 可以防禦 CSRF 攻擊,之前寫過一篇關於網路安全的文章,感興趣的朋友可以看一下 「XSS 攻擊、CSRF 攻擊、SQL 注入、流量劫持(DNS 劫持、HTTP 劫持)—— 瀏覽器安全」

㈢ 前端另一個運行環境NodeJS

說前端,就不得不說JavaScript,JavaScript可以直接在瀏覽器中運行,它的另一個運行環境就是NodeJs。

瀏覽器中寫JavaScript是超級簡單的,打開瀏覽器,然後按F12或者滑鼠右鍵氏兄做,選擇檢查(檢查元素),再選擇控制台,輸入Console.log(『Hello world!』),列印出經典的Hello World!。

讓javaScript這門語言能成為前端的老大,是應為NodeJs,有了NodeJs,javaScript也可以做為服務端部署,是不是感覺前端也能往全棧發展,開發出屬於自己的應用,不要太開心了哦。

現在開始安裝NodeJs啦,推薦菜鳥教程: https://www.runoob.com/nodejs/nodejs-install-setup.html以及NodeJs 官網: https://nodejs.org/en/download/

在這里注意說一下注意事項:

1.  確定安裝好node(npm隨node安裝程序自動安裝,npm是對Node.js依賴的包進行管理)之後

2.  配置npm安裝全局模塊時的路徑和緩存cache的路徑

Npm執行全局安裝的命令:npm install webpack -g等,默認會將模塊安裝在C:\Users\用戶名\AppData\Roaming路徑下的npm和npm_cache,這樣就會導致不方便管理此處的模塊並且佔用C盤空間,這里建議進行自定殲衡義的全局模塊安裝目錄的配置,在node.js安裝目錄下新建兩個文件夾node_global和node_cache:

在cmd中執行下面兩個命令即可:

npm config setprefix "D:\Program Files\nodejs\node_global"

npm config setcache "D:\Program Files\nodejs\node_cache"

執行之後,配置環境變數,如下:

「環境變塵慧量」-> 「系統變數」:新建一個變數名為「NODE_PATH」,值為:node安裝目錄\node_global\node_moles

「環境變數」 -> 「用戶變數」:編輯用戶變數里的Path,講相應npm的路徑(「C:\Users\用戶名\AppData\Roaming\npm」)改為:node安裝目錄\node_global

測試:

安裝成功,自定義文件夾如下所示:

在cmd命令下執行webpack -v 查看webpack版本,出現這個問題:『webpack』不是內部或外部命令,也不是可運行的程序或批處理文件:

確認安裝好了NodeJS,也安裝了webpack

檢查配置的路徑:環境變數下的用戶變數的path:

環境變數下的系統變數的NODE_PATH:

環境變數下的系統變數的Path,發現時少增加了D:\software\node\node_global,增加上之後:

因為安裝的webpack是高版本,還需要全局安裝webpack-cli,命令:npm install webpack-cli -g,安裝好後就可以了:

堅信問題是促使我們前進,問題也是讓我們產生了價值的意義所在,歡迎評論留言點贊。

㈣ Kafka 安裝教程 + nodejs 連接

1、kafka安裝包
http://kafka.apache.org/downloads

2、zookeeper安裝包
https://zookeeper.apache.org/releases.html#download

1、先安裝運吵拿行zookeeper

2、安裝運行kafka

修改下圖ip
advertised.listeners=PLAINTEXT://71.24.89.191:9092

這升散搭里掘毀主要是檢測對應的埠是否是打開狀態
分別是 zookeeper的默認埠 2181 和 kafka的 9092
檢測網址

1、 添加

2、查看所有主題

3、查看主題下所有分區

4、動態 修改主題 分區為12

小夥伴們可以看我另一片文章
Nodejs kafka連接

1、內存不足
這里因為我的機器的內存比較小
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000e0000000, 536870912, 0) failed; error='Cannot allocate memory' (errno=12)

There is insufficient memory for the Java Runtime Environment to continue.
Native memory allocation (mmap) failed to map 536870912 bytes for committing reserved memory.

我們只需要把kafka啟動腳本修改一下就可以了

修改內存為256:

㈤ Web 前端怎樣入門

方法:

第一:理清前端的知識結構。要想高效學習Web前端知識,首先應該搞清楚Web前端都包括哪些技術結構。Web前端開發雖然技術難度並不高,但是技術細節卻比較多,內容也比較雜。Web前端的基礎包括三大部分,包括Html、CSS和JavaScript,其中JavaScript是學習的重點,也是難點。另外,vue等框架也是需要熟練掌握的。

第二:緊跟技術發展趨勢。目前Web前端的技術發展趨勢有三個,其一是前端開發數據化;其二是前端開發高效化;其三是前端開發全棧化。前端開發數據化主要是大數據發展的影響,在大數據的推動下,Web前端逐漸涉及到了大量的數據展示任務。前端開發高效化主要體現在Web前端正在進行獨立部署,前端與後端的溝通主要通過資源介面的方式來進行。前端開發全棧化也是一個比較明顯的趨勢,比如Nodejs的應用。

第三:注重動手實踐能力的培養。學習前端開發一定要注重動手實踐能力的培養,因為前端開發的細節比較多,所以只有多操作才能逐漸熟悉。

前端開發目前被稱為「大前端」,整個前端開發也被賦予了更多的含義,包括Web前端開發、移動端開發、大數據呈現端開發以及部分後端開發任務等等。所以,想要在前端行業中走的更遠,一定要注重知識結構的豐富性。

與其他編程語言相比,前端是公認的入行門檻較低的一門語言,但依然有很多人在學習之前會問零基礎學習web前端難不難,要多久才能學會。學習的難易和時間當然是取決於學習的方式。

前端入門簡單,但是深入學習之後,還是有一定學習難度的。如果你是零基礎自學web前端的話,那麼所花費的時間與精力是不可估計的。 如果系統學習5個月的時間可以幫助你快速成長為合格的web前端工程師。

至於視頻教程,我這里有很多前端的全套教程,如果你需要的話,可以加一下我的學習交流裙裙,找我要就行了!

㈥ 如何系統的學習nodejs

想要系統的學習node, 去Node的官網看doc把, 有能力的話一定要看英文原版, 把node幾個核心模塊的用法學會了, 再嘗試用node去實現一個WebApp, 比如聊天室啊, blog之類的. 那麼差不多你就入門了, 另外書的話, 推薦 @朴靈的[深入淺出Node.js] .
這里推薦一個taobao前端寫的Node的入門教程 七天學會NodeJS.差不多看完LZ就該明白怎麼學了.

㈦ 如何用nodejs搭建web伺服器

使用Node.js搭建Web伺服器是學習Node.js比較全面的入門教程,因為實現Web伺服器需要用到幾個比較重要的模塊:http模塊、文件系統、url解析模塊、路徑解析模塊、以及301重定向技術等,下面我們就一起來學習如何搭建一個簡單的Web伺服器。

作為一個Web伺服器應具備以下幾個功能:

1、能顯示以.html/.htm結尾的Web頁面

2、能直接打開以.js/.css/.json/.text結尾的文件內容

3、顯示圖片資源

4、自動下載以.apk/.docx/.zip結尾的文件

5、形如http://xxx.com/a/b/ , 則查找b目錄下是否有index.html,如果有就顯示,如果沒有就列出該目錄下的所有文件及文件夾,並可以進一步訪問。

6、形如http://xxx.com/a/b, 則作301重定向到http://xxx.com/a/b/ , 這樣可以解決內部資源引用錯位的問題。

引入需要用到的幾個模塊:


//http協議模塊varhttp = require('http');//url解析模塊varurl = require('url');//文件系統模塊varfs = require("fs");//路徑解析模塊varpath = require("path");

創建服務並在指定的埠監聽:


//創建一個服務varhttpServer = http.createServer(this.processRequest.bind(this));//在指定的埠監聽服務httpServer.listen(port,function(){console.log("[HttpServer][Start]","runing at http://"+ip+":"+port+"/");console.timeEnd("[HttpServer][Start]");});

在創建服務的時候需要傳遞一個匿名函數processRequest 對請求進行處理,processRequest接收2個參數,分別是request和response, request對象中包含了請求的所有內容,response是用來設置響應頭以及對客戶端做出響應操作。


processRequest:function(request,response){varhasExt =true;varrequestUrl = request.url;varpathName = url.parse(requestUrl).pathname;//對請求的路徑進行解碼,防止中文亂碼pathName = decodeURI(pathName);//如果路徑中沒有擴展名if(path.extname(pathName) ===''){//如果不是以/結尾的,加/並作301重定向if(pathName.charAt(pathName.length-1) !="/"){pathName +="/";varredirect ="http://"+request.headers.host + pathName;response.writeHead(301, {location:redirect});response.end();return;}//添加默認的訪問頁面,但這個頁面不一定存在,後面會處理pathName +="index.html";hasExt =false;//標記默認頁面是程序自動添加的}//獲取資源文件的相對路徑varfilePath = path.join("http/webroot",pathName);//獲取對應文件的文檔類型varcontentType =this.getContentType(filePath);//如果文件名存在fs.exists(filePath,function(exists){if(exists){response.writeHead(200, {"content-type":contentType});varstream = fs.createReadStream(filePath,{flags:"r",encoding:null});stream.on("error", function() {response.writeHead(500,{"content-type":"text/html"});response.end("<h1>500 Server Error</h1>");});//返迴文件內容stream.pipe(response);}else{//文件名不存在的情況if(hasExt){//如果這個文件不是程序自動添加的,直接返回404response.writeHead(404, {"content-type":"text/html"});response.end("<h1>404 Not Found</h1>");}else{//如果文件是程序自動添加的且不存在,則表示用戶希望訪問的是該目錄下的文件列表varhtml ="<head><meta charset='utf-8'></head>";try{//用戶訪問目錄varfiledir = filePath.substring(0,filePath.lastIndexOf('\'));//獲取用戶訪問路徑下的文件列表varfiles = fs.readdirSync(filedir);//將訪問路徑下的所以文件一一列舉出來,並添加超鏈接,以便用戶進一步訪問for(variinfiles){varfilename = files[i];html +="<div><a href='"+filename+"'>"+filename+"</a></div>";}}catch(e){html +="<h1>您訪問的目錄不存在</h1>"}response.writeHead(200, {"content-type":"text/html"});response.end(html);}}});}

請求處理函數中有幾個重點需要說一下:

對於路徑中有中文的,瀏覽器會自動進行編碼(英文不變,中文會變),因此在接收到地址後,需要對地址進行解碼,否則最後得到的路徑和真實路徑不相符,

當訪問路徑不是以具體的文件結尾,並且不是以/結尾,則需要通過重定向加上/,表示當前目錄,否則當前路徑下的靜態資源會找不到

如果訪問路徑是目錄,則列出該目錄下所有文件及文件夾,並可以點擊訪問,為了讓中文目錄能正常顯示,則還要在header中設置charset=utf-8

核心代碼就這么多,大概140行左右,完整的代碼已上傳到github:https://github.com/git-onepixel/Node,

如果要運行demo,打開cmd切換到根目錄,運行node start 即可。

㈧ nodejs使用Jieba分詞

應該是由於更新後的原因,網上別人的教程出現了問題,自己摸索了一下,現在把所得拿出來分享

npm install node-jieba

文檔

說說我安裝時遇到的問題,剛開始一直報錯,後來還是不行,又把centos6.3的python2.6.6升到了文檔中的2.7.3,把pip也升陪大級到對應版本(1.3.1),後來就安裝好了

安裝好之後進到項目目錄的node_moles下的node-jieba目錄運行install.sh,語句如下:

cd ./node_moles/node-jieba

sudo bash ./install.sh

具體使用方法文檔說的很清楚了,還有要注意的點是當運行到

var analyzer = Jieba({

  debug: true

});

時,就會啟動這個插件的python程序,使用完後可以用

analyzer.close()

關閉python程序,但是啟動需要時間,尤其是在性能低的機子上(我的是阿里雲最低配置的伺服器,9.9一個月的那種),如果埋簡每次要用打開用完關閉的蘆液豎話,大概會有1秒左右的延遲,使用體驗就有影響;但是一直開著又怕影響伺服器性能。所以就自己試試看,選擇合適自己的方式

㈨ 直播平台搭建,網頁版已經搭建好了,就差nodejs配置了。有沒有會的。只要你會。源碼免費送

本章節我們將向大家介紹在window和Linux上安裝Node.js的方法。

本安裝教程以Node.js v4.4.3 LTS(長期支持版本)版本為例。

Node.js安裝包及源碼下載地址為:

如果你獲得以上輸出結果,說明你已經成功安裝了Node.js。

Ubuntu 上安裝 Node.js

Node.js 源碼源蘆輪安裝

以下部分我們將介紹在Ubuntu Linux下安裝 Node.js 。 其他的Linux系統,如Centos等類似如下安裝步驟。

在 Github 上獲取 Node.js 源碼:

$ sudo git clone

修改目錄許可權:

$ sudo chmod -R 755 node

使用./configure創建編譯文件,並按照:

$ cd node
$ sudo ./configure
$ sudo make
$ sudo make install

查看 node 版本:

$ node --version
v0.10.25

Ubuntu apt-get命令安裝

命令格式如下:

sudo apt-get install nodejs
sudo apt-get install npm

CentOS 下安裝 Node.js

1、下載源碼,你需要在下載最新的Nodejs版本,本文以v0.10.24為例:

cd /usr/local/src/wget

2、解壓源碼

tar zxvf node-v0.10.24.tar.gz

3、 編譯安裝

cd node-v0.10.24./configure --prefix=/usr/local/node/0.10.24make
make install

4、 配置NODE_HOME,進入profile編輯環境變數

vim /etc/profile

設置nodejs環境變數,在export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL一行的上面添加如下內容:

#set for nodejsexport NODE_HOME=/usr/local/node/0.10.24export PATH=$NODE_HOME/bin:$PATH

:wq保存並退出,編譯/etc/profile 使配置生效

source /etc/profile

驗證是否安裝配置成功

node -v

輸出 v0.10.24 表示配置成功

npm模塊安裝路徑

/usr/local/node/0.10.24/lib/node_moles/

註:Nodejs 官網提供了編譯好的Linux二進制包,你也可以下載下來直接應用。

㈩ nodejs怎麼安裝express

安裝 express
為了重寫我們的HelloWorld,我們需要安裝Express模塊。Express基於Node.js的一個Web框架,官方網站在這里:http://expressjs.com/。官網對Express的介紹是:
Fast, unopinionated, minimalist web framework for Node.js
Express很輕巧,通常用來做Web後端的開發。有一些推薦的書,可以看這里:http://www.expressjs.com.cn/resources/books.html。
要安裝express模塊,直接使用npm命令即可。在命令行環境下不帶參數執行npm命令,即可看到npm的幫助信息。安裝某個Node.js模塊,使用install子命令。「npm install xxx」會將xxx模塊安裝到當前路徑下,「npm install -g xxx」則將xxx模塊安裝到當前用戶的全局位置。使用「npm helo install」可以查看install子命令的細節。要卸載一個模塊,使用「npm uninstall xxx」,假如你是全局安裝,則使用「npm uninstall -g xxx」。
在使用npm安裝某個模塊時,它會自動解決依賴。
在命令行環境執行下面的命令來安裝express:
npm install -g express –registry=https://registry.npm.taobao.org
注意,我指定了使用淘寶的鏡像,快一些。
特別說明一下:
我參考了這里的教程哦:https://github.com/alsotang/node-lessons
很快啦,你就可以看到下面的界面(注意我們安裝的Express版本是4.13.3):

閱讀全文

與nodejs教程相關的資料

熱點內容
產品在網站優化多少錢 瀏覽:992
亂碼文件夾 瀏覽:480
mc編程後怎麼模擬加工 瀏覽:153
如何恢復刷機後的數據 瀏覽:243
重裝系統win81教程 瀏覽:317
nero10安裝教程 瀏覽:182
handJoy游戲大廳安卓版 瀏覽:663
wow的配置文件怎麼重置 瀏覽:921
css代碼在線編輯 瀏覽:383
哪個狼人殺app可以觀戰 瀏覽:797
你懂的免費qq空間 瀏覽:858
電影曲面是在哪裡拍的app 瀏覽:137
ipadwps怎麼改文件名 瀏覽:162
怎麼將結果顯示在jsp 瀏覽:819
word文檔解析度 瀏覽:108
如何在網站主頁中插入圖像 瀏覽:258
特斯拉數據需要多少伺服器 瀏覽:828
手機百度雲無法看種子文件 瀏覽:690
都有哪些街拍網站 瀏覽:482
賣家鄉特產要什麼網站賣呢 瀏覽:102

友情鏈接