Windows系統下Node.js的簡單入門教程
隨著近日Paypal和Netflix宣告 遷移到Node.js, 服務器端Javascript平臺已經證明其自身在企業(yè)領域的價值. 這對于Node來說是一小步,對于Javascript而言卻是一大跨越啊! 來自.NET, Java, PHP, Ruby on Rails和更多技術領域的程序員, 所有游走于服務器端的編碼者都會聚集到這個平臺上. 作為像 Yahoo, Walmart, 和 Oracle 這樣的大玩家入局,, Node 正在甩掉其一直就存在的不成熟和不穩(wěn)定的壞名聲. 在這篇文章中,我會向你展示在Window環(huán)境下安裝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在你的環(huán)境變量,并查看你正在運行的Node.js的版本. 同樣的輸入 "npm -v" 來查看你安裝的Node包管理工具的版本. 你弄好了沒? Ok, 讓我們來開始享受樂趣吧!!
打開記事本程序,我們將構建我們的第一個Node.js應用. 把下面的代碼復制到記事本程序中,使用任何文件名都可以,比如"example.js", 并把它保存到你希望的文件夾中:
var 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!
cd C:\Websites\NodeTest node example.js
開啟你的網頁瀏覽器,導航輸入 http://127.0.0.1:1337. 起作用了么? 恭喜你運行了你的第一個Node.js應用!
提供網站服務
你會擔憂我會只留下一個 "Hello World" 示例就收工了? 如果我們知道如何去運行一個HTML文件,那將會更加的美好. 添加一個 "index.html" 文件,里面可以是任何HTML內容. 將會像這樣:
<html> <head> <title>Sample Node.js Website</title> </head> <body> <p>This is the home page for you Node.js website.</p> </body> </html>
是時候運行應用了。創(chuàng)建一個可以叫任何名字的新文件,比如 "index.js", 并把如下的js代碼加到里面:
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文件了. 你將可能在這點成就上感到有些激動, 但如果你想我,就會對它產生一些復雜的感覺. 這還只是低級別的編程,如果我不得不去考慮讀取/流媒體文件,還有有關每次應該發(fā)送什么狀態(tài)這些問題的時候,世界很快就會變得煩惱重重. 向 ExpressJS道好吧!
使用Node包管理器
Node.js有一個再次讓我們感覺世界美好的搭檔. ExpressJS 屏蔽掉了需要在Node.js進行的老調重彈,讓你可以直接進入web開發(fā). 它是一個可以讓你構建單頁,多頁還有混合類型web應用程序的web框架. 沒有它你在 Node.js 領域是不會有盼頭滴!
首先使用 NPM 來安裝它. 為此,再一次打開PowerShell并切換到你的應用程序的路徑. 現在輸入: npm install express. 它將會創(chuàng)建一個叫做 "node_modules" 來安裝 ExpressJS. 從這個角度上看,你的Node模塊將會放到那里,有點像在.NET應用中的"bin"目錄, 從這里你可以調用或者"require"你的依賴程序.
ExpressJS入門
現在任意創(chuàng)建一個新文件, 比如 "server.js", 并把下面的代碼粘貼進去:
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的依賴, 然后從它那里創(chuàng)建一個應用. 從此你可就牛逼大發(fā)了! 在這里,我們只是簡單的提供靜態(tài)文件服務. "__dirname" 是來自ExpressJS的一個特殊的變量,意思是根文件系統位置. 最后你告訴應用去偵聽端口 1337. 現在你就擁有了一個提供靜態(tài)文件服務的 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應用端口發(fā)起的請求.
關于 MS SQL
有許多為Node.js準備的 MS SQL 驅動程序, 有些甚至是跨平臺的. 有一個只能在Windows環(huán)境中運行的,是由Windows Azure發(fā)布: Microsoft Driver for Node.js for SQL Server. 而你可以像下面這樣開始工作:
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攜手, 你將能夠創(chuàng)建帶有路由、視圖、布局、服務還有更多組件的完全成熟的MVC應用程序. 同樣,除非你需要去集成一些現有的Microsoft應用程序或者MS SQL數據庫, MongoDB 在你創(chuàng)建一個Node堆棧式是能幫助你從SQL中解放的好伙伴. 最后,你可以使用MEAN創(chuàng)建一個MEAN Javascript全棧應用, 包括有MongoDB, ExpressJS, AngularJS, 和Node.js. 現在企業(yè)已經向Node.js靠攏了, 對你而言同樣是不是時候來輔助行動了呢?
- Node.js入門教程:在windows和Linux上安裝配置Node.js圖文教程
- 通過node-mysql搭建Windows+Node.js+MySQL環(huán)境的教程
- windows8.1+iis8.5下安裝node.js開發(fā)環(huán)境
- Windows8下搭建Node.js開發(fā)環(huán)境教程
- Mac/Windows下如何安裝Node.js
- 在Windows上安裝Node.js模塊的方法
- Node.js:Windows7下搭建的Node.js服務(來玩玩服務器端的javascript吧,這可不是前端js插件)
- windows系統下node.js環(huán)境配置與安裝教程圖文詳解(詳細版)
相關文章
node.js中的http.request.end方法使用說明
這篇文章主要介紹了node.js中的http.request.end方法使用說明,本文介紹了http.request.end的方法說明、語法、接收參數、使用實例和實現源碼,需要的朋友可以參考下2014-12-12
node.js 微信開發(fā)之定時獲取access_token
本文給大家分享的是在使用node.js做微信開發(fā)的過程中如何定時獲取access_token的方法,有需要的小伙伴可以參考下2020-02-02
輕松創(chuàng)建nodejs服務器(10):處理上傳圖片
這篇文章主要介紹了輕松創(chuàng)建nodejs服務器(10):處理上傳圖片,本文是系列文章的最后一篇,包含了一個完整的處理上傳圖片的例子,需要的朋友可以參考下2014-12-12

