NodeJS之Mac初體驗


NodeJS之前在Window試用過一下,不過在mac上這種類Unix上屬於第一次使用,JavaScript是腳本語言,腳本語言都需要一個解析器才能運行,通常我們在Html頁面寫的JS,瀏覽器充當了解析器的角色。而對於需要獨立運行的JavaScript,NodeJS就是一個解析器。NodeJS是通過C++語言編寫而成,創始人Ryan Dahl最初希望采用Ruby來寫Node.js,但是后來發現Ruby虛擬機的性能不能滿足他的要求,后來他嘗試采用V8引擎,所以選擇了C++語言。NodeJS是一種新型的Web服務器和.NET中的IIS以及Java中Appache一樣,NodeJS與其他服務器之間最大差別就是NodeJS是單線程的,如果需要多線程的功能我們可以啟用更多的Node實例。

NodeJS開發環境

NodeJS的官網https://nodejs.org/可以直接NodeJS,下載pkg文件直接安裝,不過這種一般方式一般不推薦,因為NodeJS現在版本很多還不穩定,因此我們需要將先下載一個nvm(node version manager),這樣更方便我們切換NodeJS的版本。

1.nvm安裝,以下操作都是在終端中操作:

 curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.25.2/install.sh | bash

2.安裝完成之后,我們可以測試一下nvm,如下圖所示:

3.安裝NodeJS,現在最新版的NodeJS是0.12.7:

nvm install 0.12

4.看一下當前nvm的版本,之后查看一下nvm的管理列表:

nvm use 0.12

5.通過node輸出文字:

通過上面的過程我們已經成功的搭建了NodeJS環境,先不要高興太早,如果你關閉終端重新打開,你會發現node命令無效,這個時候有兩個補救辦法:

查看~/.bash_profile的命令是否存在以下命令,如果不存在說明shell不知道nvm的存在,加上命令(keso本人的用戶名):

export NVM_DIR="/Users/keso/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"  # This loads nvm

設置默認的NodeJS版本:

nvm alias default 0.12

Express開發框架

Express 是一個基於 NodeJS 平台的極簡、靈活的 web 應用開發框架,它提供一系列強大的特性,幫助你創建各種 Web 和移動設備應用。Express 不對 NodeJS已有的特性進行二次抽象,只是在NodeJS之上擴展了 Web 應用所需的基本功能,就像ASP.NET  MVC對ASP.NET進行過封裝一樣,使開發變得更有效率。安裝Express之前我們需要簡單的了解下npm,英文全稱是node package manager,包管理器負責管理安裝開發包和管理依賴項,類似於Ruby 中的 gem,ASP.NET中的Nuget以及iOS中的CocoaPods。

1.安裝命令,Express鏡像使用了淘寶的;

mkdir NodeJS && cd NodeJS
npm install express --registry=https://registry.npm.taobao.org

2.查看Express是否安裝成功:

ls node_modules
npm list

  

3.新建一個JS文件:

touch keso.js

添加以下代碼:

// 引入 `express` 模塊
var express = require('express');
// 調用 express 實例
var app = express();

// app 本身有很多方法,其中包括最常用的 get、post、put/patch、delete,在這里我們調用其中的 get 方法,為我們的 `/` 路徑指定一個 handler 函數。
// req和res是reques和response的縮寫
app.get('/', function (req, res) {
  res.send('博客園-FlyElephant,原文地址:http://www.cnblogs.com/xiaofeixiang');
});

// 監聽本地的 3000 端口
app.listen(3000, function () {
  console.log('監聽3000端口');
});

4.執行JS文件,在瀏覽器中可以看到響應的文字,然后在瀏覽器中輸入localhost:3000,就可以看到想要的效果:

node keso.js

NodeJS初步的環境通過本文應該是搭建好;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM