Windows系統下Node.js的簡單入門教程

來源:互聯網
上載者:User

   這篇文章主要介紹了Windows系統下Node.js的簡單入門教程,Node.js是用於後端編程的JavaScript架構,需要的朋友可以參考下

  隨著近日Paypal和Netflix宣告 遷移到Node.js, 伺服器端Javascript平台已經證明其自身在企業領域的價值. 這對於Node來說是一小步,對於Javascript而言卻是一大跨越啊! 來自.NET, Java, PHP, Ruby on Rails和更多技術領域的程式員, 所有遊走於伺服器端的編碼者都會聚集到這個平台上. 作為像 Yahoo, Walmart, 和 Oracle 這樣的大玩家入局,, Node 正在甩掉其一直就存在的不成熟和不穩定的壞名聲. 在這篇文章中,我會向你展示在Window環境下安裝Node.js到底有多容易.

  安裝Node.js

  讓Node.js安裝在Windows上就是小事一樁. 到 Node.js 網站下載並運行".msi"檔案. 它將會把Node.js 和 NPM (Node包管理模組)安裝上. NPM 相當於用於.NET應用的 NuGet 包管理器.

  運行Node.js

  在Windows上運行Node.js同樣很容易. 開啟 PowerShell 並輸入 "node -v" 確保Node在你的環境變數,並查看你正在啟動並執行Node.js的版本. 同樣的輸入 "npm -v" 來查看你安裝的Node包管理工具的版本. 你弄好了沒? Ok, 讓我們來開始享受樂趣吧!!

  開啟記事本程式,我們將構建我們的第一個Node.js應用. 把下面的代碼複製到記事本程式中,使用任何檔案名稱都可以,比如"example.js", 並把它儲存到你希望的檔案夾中:

  ?

  1

  2

  3

  4

  5var http = require('http');

  http.createServer(function (req, res) {

  res.writeHead(200, {'Content-Type': 'text/plain'});

  res.end('Hello Node');

  }).listen(1337, '127.0.0.1');

  現在回到 PowerShell. 將路徑變更到你的"example.js"檔案存放的地方,並運行Node!

  ?

  1

  2cd C:WebsitesNodeTest

  node example.js

  開啟你的網頁瀏覽器,導航輸入 http://127.0.0.1:1337. 起作用了麼? 恭喜你運行了你的第一個Node.js應用!

  提供網站服務

  你會擔憂我會只留下一個 "Hello World" 樣本就收工了? 如果我們知道如何去運行一個HTML檔案,那將會更加的美好. 添加一個 "index.html" 檔案,裡面可以是任何HTML內容. 將會像這樣

?
1 2 3 4 5 6 7 8 <html> <head> <title>Sample Node.js Website</title> </head> <body> <p>This is the home page for you Node.js website.</p> </body> </html>

  是時候運行應用了。建立一個可以叫任何名字的新檔案,比如 "index.js", 並把如下的js代碼加到裡面:

 ?

1 2 3 4 5 6 7 8 9 10 11 12 13 var http = require('http'); var fs = require('fs');   http.createServer(function(req, res){ fs.readFile('index.html',function (err, data){ res.writeHead(200, { 'Content-Type': 'text/html', 'Content-Length': data.length }); res.write(data); res.end(); }); }).listen(1337, '127.0.0.1');

  事情在這裡開始變得更加有趣了. 注意開頭的地方多了一行 "require" . 你正在往你的應用中帶入需要的依賴程式. 這像是C#中用來調用依賴程式的 "using" 命名空間指令.

  通過在PowerShell中輸入: node index.js 來運行"index.js"(不要忘了敲擊 Ctrl-C來退出上一個Node應用的運行,或者在這一次使用一個新的連接埠號碼). 在你的瀏覽器中,導航到http://127.0.0.1:1337 ,你就應該會看到你的HTML檔案了. 你將可能在這點成就上感到有些激動, 但如果你想我,就會對它產生一些複雜的感覺. 這還只是低層級的編程,如果我不得不去考慮讀取/流媒體檔案,還有有關每次應該發送什麼狀態這些問題的時候,世界很快就會變得煩惱重重. 向 ExpressJS道好吧!

  使用Node包管理器

  Node.js有一個再次讓我們感覺世界美好的搭檔. ExpressJS 屏蔽掉了需要在Node.js進行的老調重彈,讓你可以直接進入web開發. 它是一個可以讓你構建單頁,多頁還有混合類型web應用程式的web架構. 沒有它你在 Node.js 領域是不會有盼頭滴!

  首先使用 NPM 來安裝它. 為此,再一次開啟PowerShell並切換到你的應用程式的路徑. 現在輸入: npm install express. 它將會建立一個叫做 "node_modules" 來安裝 ExpressJS. 從這個角度上看,你的Node模組將會放到那裡,有點像在.NET應用中的"bin"目錄, 從這裡你可以調用或者"require"你的依賴程式.

  ExpressJS入門

  現在任意建立一個新檔案, 比如 "server.js", 並把下面的代碼粘貼進去:

?
1 2 3 4 5 6 7 8 9 10 var express = require('express');   //CREATE APP var app = express();   //LOCATION OF STATIC CONTENT IN YOUR FILESYSTEM app.use(express.static(__dirname));   //PORT TO LISTEN TO app.listen(1337);

  這是在調用ExpressJS的依賴, 然後從它那裡建立一個應用. 從此你可就牛逼大發了! 在這裡,我們只是簡單的提供靜態檔案服務. "__dirname" 是來自ExpressJS的一個特殊的變數,意思是根檔案系統位置. 最後你告訴應用去偵聽連接埠 1337. 現在你就擁有了一個提供靜態檔案服務的 Node.js 網站了! 另外在新增一些HTML檔案,一些放在子目錄中,然後到http://127.0.0.1:1337 測試看看吧.

  關於 IIS

  在這些樣本中, 我一直都是在連接埠1337運行應用,而不是連接埠80.原因是IIS已經偵聽了80連接埠. 有許多的方法可以使IIS 和 Node.js 和諧共存:

  IISNode: 這是一個在你的IIS網站讓Node.js像一個應用池那樣啟動並執行很聰明的點子, 同在IIS中與運行PHP很像. 事實上,Azure就是用這個在其平台上運行Node.js的.

  WinServ: 它讓 Node.js 像一個Windows服務那樣運行. 它實際上是對流行了 NSSM (Non-Sucking Service Manager)的一個對Node.js友好的封裝. 一旦作為一個服務運行,你就可以使用IIS的應用請求路由(ARR) 來代理向你的Node.js應用連接埠發起的請求.

  關於 MS SQL

  有許多為Node.js準備的 MS SQL 驅動程式, 有些甚至是跨平台的. 有一個只能在Windows環境中啟動並執行,是由Windows Azure發布: Microsoft Driver for Node.js for SQL Server. 而你可以像下面這樣開始工作:

 

?
1 2 3 4 5 6 7 8 9 10 11 12 13 var sql = require('node-sqlserver'); var connStr = "Driver={SQL Server Native Client 11.0};Server=(local);Database=AdventureWorks2012;Trusted_Connection={Yes}"; var cmd = "SELECT TOP 10 FirstName, LastName FROM Person.Person";   sql.open(connStr, function (err, conn) { conn.queryRaw(cmd , function (err, results) { for (var i = 0; i < results.rows.length; i++) { console.log( "FirstName: " + results.rows[i][0] + " LastName: " + results.rows[i][1]); } }); });

  總結

  這些都只是皮毛! 與 ExpressJS攜手, 你將能夠建立帶有路由、視圖、布局、服務還有更多組件的完全成熟的MVC應用程式. 同樣,除非你需要去整合一些現有的Microsoft應用程式或者MS SQL資料庫, MongoDB 在你建立一個Node堆棧式是能協助你從SQL中解放的好夥伴. 最後,你可以使用MEAN建立一個MEAN Javascript全棧應用, 包括有MongoDB, ExpressJS, AngularJS, 和Node.js. 現在企業已經向Node.js靠攏了, 對你而言同樣是不是時候來輔助行動了呢?

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.