爲何要學習Node
由於前端不只須要學習客戶端的全部佈局和操做,還必需要服務端緊密配合才能完成一個完整的操做體驗,簡單的來講,學習Node可讓咱們學會如何搭建服務端和構建與客戶端的交互
學習Node就是讓咱們打開服務端這個黑盒子,讓咱們明白服務端這個黑盒子裏面是怎麼構建的,是怎麼運行的。
只有懂了服務端才能更好的配合服務端開發人員進行協同開發,也爲了讓咱們更深刻的瞭解頁面的交互。
Node 是什麼
Node.js 不是一門語言
Node.js 不是庫也不是框架
Node.js 是一個JavaScript 運行時環境
簡單的來說就是 Node.js 能夠解析和執行 JavaScript 代碼
之前只有瀏覽器能夠解析和執行 JavaScript 代碼
也就是說如今的 JavaScript 能夠徹底脫離瀏覽器來執行,一切都歸功於 Node.js
瀏覽器中的 JavaScript
EcmaScript
基本的語法
if
var
function
Object
Array
BOM (Browser Object Model)即瀏覽器對象模型
BOM提供了獨立於內容 而與瀏覽器窗口進行交互的對象;
因爲BOM主要用於管理窗口與窗口之間的通信,所以其核心對象是 window ;
window對象是js中的頂級對象,全部定義在全局做用域中的變量、函數都會變成window對象的屬性和方法,在調用的時候能夠省略window。
例:打開窗口 window.open(url,target,param);
url 要打開的地址
BOM由一系列相關的對象構成,而且每一個對象都提供了不少方法與屬性;
.offset,scroll,client,事件參數e,target 和currentTarget
DOM (Document Object Model) 文檔對象模型
經過 JavaScript,您能夠重構整個 HTML 文檔。您能夠添加、移除、改變或重排頁面上的項目。
document.getElementById() 和 document.getElementsByTagName() 方法
Node.js 中的JavaScript
沒有BOM, DOM
EcmaScript
在 Node 這個 JavaScript 執行環境中爲其提供了一些服務器級別的操做 API
文件讀寫 fs
網絡服務的構建 router
http 服務器 http
url 地址操做 url
npm (Node package manager)
npm 是全世界最大的開源庫生態系統
絕大多數 JavaScript 相關的包都存放在 npm 上,這樣作的目的是爲了讓開發人員更方便的去下載使用 node install jquery
Node.js 能作什麼
讓咱們使用 JavaScript 的代碼構造一個服務器和交互
hello world
var http = require('http' )
var server = http.createServer()
server.on('request' , function () {
console.log('hello world!' )
})
server.listen(3000, function () {
console.log('running...' )
})
複製代碼
在 js 文件右鍵打開cmd命令窗口 而後輸入 node hello.js 按回車 cmd命令窗口就會輸出hello world 了前端