為什麼要學習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 了