2019-12-19

# Node.js 第1天

## 上午總結(jié)

- Node.js 是什么

? + JavaScript 運(yùn)行時(shí)

? + 既不是語言,也不是框架,它是一個(gè)平臺(tái)

- Node.js 中的 JavaScript

? + 沒有 BOM、DOM

? + EcmaScript 基本的 JavaScript 語言部分

? + 在 Node 中為 JavaScript 提供了一些服務(wù)器級(jí)別的 API

? ? * 文件操作的能力

? ? * http 服務(wù)的能力

## 總結(jié)

- Node 中的 JavaScript

? + EcmaScript

? ? * 變量

? ? * 方法

? ? * 數(shù)據(jù)類型

? ? * 內(nèi)置對象

? ? * Array

? ? * Object

? ? * Date

? ? * Math

? + 模塊系統(tǒng)

? ? * 在 Node 中沒有全局作用域的概念

? ? * 在 Node 中,只能通過 require 方法來加載執(zhí)行多個(gè) JavaScript 腳本文件

? ? * require 加載只能是執(zhí)行其中的代碼,文件與文件之間由于是模塊作用域,所以不會(huì)有污染的問題

? ? ? - 模塊完全是封閉的

? ? ? - 外部無法訪問內(nèi)部

? ? ? - 內(nèi)部也無法訪問外部

? ? * 模塊作用域固然帶來了一些好處,可以加載執(zhí)行多個(gè)文件,可以完全避免變量命名沖突污染的問題

? ? * 但是某些情況下,模塊與模塊是需要進(jìn)行通信的

? ? * 在每個(gè)模塊中,都提供了一個(gè)對象:`exports`

? ? * 該對象默認(rèn)是一個(gè)空對象

? ? * 你要做的就是把需要被外部訪問使用的成員手動(dòng)的掛載到 `exports` 接口對象中

? ? * 然后誰來 `require` 這個(gè)模塊,誰就可以得到模塊內(nèi)部的 `exports` 接口對象

? ? * 還有其它的一些規(guī)則,具體后面講,以及如何在項(xiàng)目中去使用這種編程方式,會(huì)通過后面的案例來處理

? + 核心模塊

? ? * 核心模塊是由 Node 提供的一個(gè)個(gè)的具名的模塊,它們都有自己特殊的名稱標(biāo)識(shí),例如

? ? ? - fs 文件操作模塊

? ? ? - http 網(wǎng)絡(luò)服務(wù)構(gòu)建模塊

? ? ? - os 操作系統(tǒng)信息模塊

? ? ? - path 路徑處理模塊

? ? ? - 。。。。

? ? * 所有核心模塊在使用的時(shí)候都必須手動(dòng)的先使用 `require` 方法來加載,然后才可以使用,例如:

? ? ? - `var fs = require('fs')`

- http

? + require

? + 端口號(hào)

? ? * ip 地址定位計(jì)算機(jī)

? ? * 端口號(hào)定位具體的應(yīng)用程序

? + Content-Type

? ? * 服務(wù)器最好把每次響應(yīng)的數(shù)據(jù)是什么內(nèi)容類型都告訴客戶端,而且要正確的告訴

? ? * 不同的資源對應(yīng)的 Content-Type 是不一樣,具體參照:http://tool.oschina.net/commons

? ? * 對于文本類型的數(shù)據(jù),最好都加上編碼,目的是為了防止中文解析亂碼問題

? + 通過網(wǎng)絡(luò)發(fā)送文件

? ? * 發(fā)送的并不是文件,本質(zhì)上來講發(fā)送是文件的內(nèi)容

? ? * 當(dāng)瀏覽器收到服務(wù)器響應(yīng)內(nèi)容之后,就會(huì)根據(jù)你的 Content-Type 進(jìn)行對應(yīng)的解析處理

- 模塊系統(tǒng)

- Node 中的其它的核心模塊

- 做一個(gè)小管理系統(tǒng):

? + CRUD

- Express Web 開發(fā)框架

? + `npm install express`

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 概要 64學(xué)時(shí) 3.5學(xué)分 章節(jié)安排 電子商務(wù)網(wǎng)站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,799評論 0 3
  • https://nodejs.org/api/documentation.html 工具模塊 Assert 測試 ...
    KeKeMars閱讀 6,603評論 0 6
  • 個(gè)人入門學(xué)習(xí)用筆記、不過多作為參考依據(jù)。如有錯(cuò)誤歡迎斧正 目錄 簡書好像不支持錨點(diǎn)、復(fù)制搜索(反正也是寫給我自己看...
    kirito_song閱讀 2,648評論 1 37
  • 33、JS中的本地存儲(chǔ) 把一些信息存儲(chǔ)在當(dāng)前瀏覽器指定域下的某一個(gè)地方(存儲(chǔ)到物理硬盤中)1、不能跨瀏覽器傳輸:在...
    萌妹撒閱讀 2,240評論 0 2
  • Node.js Stream(流) Stream 是一個(gè)抽象接口,Node 中有很多對象實(shí)現(xiàn)了這個(gè)接口。例如,對h...
    FTOLsXD閱讀 697評論 0 2

友情鏈接更多精彩內(nèi)容