簡單的說 Node.js 就是運行在服務端的 JavaScript。
Node.js 是一個基於Chrome JavaScript 運行時創建的一個平臺。
Node.js是一個事件驅動I/O服務端JavaScript環境,基於Google的V8引擎,V8引擎執行Javascript的速度很是快,性能很是好。php
$ node -v v4.4.3
console.log("Hello World");
node helloworld.jshtml
Node.js 與寫 php web/java web 來講,概念徹底不同。java
使用 Node.js 時,咱們不單單 在實現一個應用,同時還實現了整個 HTTP 服務器。node
在咱們建立 Node.js 第一個 web "Hello, World!" 應用前,讓咱們先了解下 Node.js 應用是由哪幾部分組成的:git
引入 required 模塊:咱們可使用 require 指令來載入 Node.js 模塊。github
建立服務器:服務器能夠監聽客戶端的請求,相似於 Apache 、Nginx 等 HTTP 服務器。web
接收請求與響應請求 服務器很容易建立,客戶端可使用瀏覽器或終端發送 HTTP 請求,服務器接收請求後返回響應數據。express
var http = require('http'); http.createServer(function (request, response) { // 發送 HTTP 頭部 // HTTP 狀態值: 200 : OK // 內容類型: text/plain response.writeHead(200, {'Content-Type': 'text/plain'}); // 發送響應數據 "Hello World" response.end('Hello World\n'); }).listen(8888); // 終端打印以下信息 console.log('Server running at http://127.0.0.1:8888/');
分析 Node.js 的 HTTP 服務器 :npm
第一行請求(require)Node.js 自帶的 http 模塊,而且把它賦值給 http 變量。
接下來咱們調用 http 模塊提供的函數: createServer 。這個函數會返回 一個對象,這個對象有一個叫作 listen 的方法,這個方法有一個數值參數, 指定這個 HTTP 服務器監聽的端口號。json
NPM 是隨同 NodeJS 一塊兒安裝的包管理工具,能解決 NodeJS代碼 部署上的不少問題
常見的使用場景有如下幾種:
容許用戶從 NPM服務器 下載別人編寫的第三方包到本地使用。
容許用戶從 NPM服務器 下載並安裝別人編寫的命令行程序到本地使用。
容許用戶將本身編寫的包或命令行程序上傳到 NPM服務器 供別人使用。
顯示版本 npm -v
firstWebApp git:(master) ✗ npm -v 2.14.20
查看全部全局安裝的模塊
➜ ~ npm ls -g /Users/hp/.nvm/versions/node/v4.4.0/lib ├─┬ express@4.13.4 │ ├─┬ accepts@1.2.13 │ │ ├─┬ mime-types@2.1.11 │ │ │ └── mime-db@1.23.0 │ │ └── negotiator@0.5.3 │ ├── array-flatten@1.1.1 │ ├── content-disposition@0.5.1 ...
package.json 位於模塊的目錄下,用於定義包的屬性。接下來讓咱們來看下 express 包的 package.json 文件,位於 node_modules/express/package.json 內容:
{ "name": "express", "description": "Fast, unopinionated, minimalist web framework", "version": "4.13.3", "author": { "name": "TJ Holowaychuk", "email": "tj@vision-media.ca" }, "contributors": [ ... ...
name - 包名。
version - 包的版本號。
description - 包的描述。
homepage - 包的官網 url 。
author - 包的做者姓名。
contributors - 包的其餘貢獻者姓名。
dependencies - 依賴包列表。若是依賴包沒有安裝,npm 會自動將依賴包安裝在 node_module 目錄下。
repository - 包代碼存放的地方的類型,能夠是 git 或 svn,git 可在 Github 上。
main - main 字段是一個模塊ID,它是一個指向你程序的主要項目。就是說,若是你包的名字叫 express,而後用戶安裝它,而後require("express")。
keywords - 關鍵字
➜ npm uninstall express ➜ npm ls ➜ npm update express ➜ npm search express
建立模塊,package.json 文件是必不可少的。咱們可使用 NPM 生成 package.json 文件,生成的文件包含了基本的結果。