1. 程式人生 > >Node.js基本內容和知識點

Node.js基本內容和知識點

###                                                      Node.Js入門教程    

---

> 簡單的說 Node.js 就是執行在服務端的 JavaScript,起初段定位是後端開發語言,由於技術的不夠成熟,一般小型專案會完全使用node.js作為後臺支撐,大專案中,執行不夠穩定,不會輕易使用。具有高併發優良特性,Node.js是一個事件驅動I/O服務端JavaScript環境,基於Google的V8引擎,V8引擎執行Javascript的速度非常快,效能非常好。

> node.js 現在今可以替換很多小型的php專案 ,但是雖然定位為後端語言,但常用於前後端但中介軟體,例如用於搭建前端伺服器,用於替換代理請求等,前端工程化的工具環境等使用。

我們作為前端,需要掌握什麼東西?

掌握node.js基本使用,前期不是為了開發後端,主要能夠掌握其常規語法,和基礎的內建的功能,能夠滿足一個前端對於前端工具的使用。(不懂語法規範,那麼就沒有辦法去使用前端自動化各種工具)

---

瀏覽器中的javascript:主要是window視窗中都一些基於事件、DOM操作等功能

後端中NodeJS:不存在window物件與DOM操作,視窗事件

共同特性:都遵循著ECMAScript都標準語法規範

node中沒有window物件,它有一個自己的全域性物件:global

## #

主要模組:

​    1.fs  檔案操作

​        目錄的建立與刪除

​        檔案的讀取寫入

​        重新命名...        

​    2.http ,http服務 ,建立伺服器

​        response 響應

​        request 請求

​    3.global 全域性物件(類似於window物件)

​    4.module(commonJS模組開發工具)

阮一峰node簡化教程 :http://javascript.ruanyifeng.com/nodejs/fs.html    

可以使用Express 框架快速搭建一個後臺伺服器

---

npm (node package manage) 簡單的說就說nodejs 包管理工具。集成於nodejs的安裝包上


install : 安裝用於npm包管理工具安裝包使用命令


如果一個基於node 環境的專案,都會具有一個package.json的專案配置檔案 (包含了專案的基本資訊:專案的名稱、描述 、版本號、作者、依賴第三方的包,與配置)

package.json 好處可以實現專案的快速移植 ,使用 【npm install】  可以快速進行專案依賴的安裝

建立專案的package.json (初始化專案):

~~~
npm init   然後後面直接按照提示按  y / n   , 注意: -y 表示一切預設
~~~

安裝專案依賴包:

~~~
npm install express     注意: --save  將安裝記錄寫入到package.json的專案依賴中
~~~

解除安裝依賴包:

~~~
npm uninstall express 
~~~

更新依賴包:

~~~
npm update express
~~~

搜尋依賴包:

~~~
npm search express
~~~

---

#### 前端工程化

​    通俗:“什麼叫工程化,大概就是能有個方法,讓一大堆人,有組織有紀律地一起幹活,目的是提高效率,保證質量。 ”

提高效率:使用【前端自動化工具】,完成專案端各項處理工作(less編譯,css壓縮,補充字首,js壓縮,合併,雪碧圖生成...等等靜態資源端處理)

###### 1.專案包管理工具

​    1) npm( node package mananger)  nodejs 自帶node包管理工具

​    2)bower  前端各類外掛庫管理工具 (第三方的,使用時,需要先安裝bower)

##### 2.專案構建工具

​    1)gulp:(推薦)基於任務的專案構建工具,可以實現:搭建前端伺服器,專案靜態資原始檔的處理(js,css,圖片等) ,使用簡單,上手簡單(中小型專案)

​    2)grunt:出於gulp之前,使用簡易,與gulp相似

​    3).Browserify 專案的模組打包工具,功能也可以實現對靜態資源的處理,及打包。(逐漸淘汰的玩意)

​    4).webpack:(熱門+主流)  具有所有gulp的功能+ 模組管理 ,打包  ,學習有難度,一般的中大型專案,比較依賴

​    5)rollup.js (打包工具)

​    現在主流的前端框架: vue 、 React 、Angular 理想的開發環境,都是基於webpack的。

​    

---

#####                                                 Gulp使用

中文官網手冊:https://www.gulpjs.com.cn/

1.安裝(全域性安裝 + 專案目錄安裝)

~~~
npm install gulp -g    (全域性安裝)
~~~

2.專案依賴安裝

~~~
npm install gulp --save-dev    (安裝到專案檔案目錄)
~~~

3.在專案根目錄下建立一個gulpfile.js 檔案(所有gulp任務的清單檔案)

4.需要配置任務(gulpfile.js檔案中新增)

~~~
const gulp = require("gulp");//引入gulp

//建立任務 , 配置一個編譯less檔案的任務
    gulp.task("Test",function(){
    console.log("Test任務執行中....");
  })
~~~

5.安裝各種需要使用的外掛 ( 此處以 gulp-less為例)

~~~
npm install gulp-less --save-dev
~~~

6.使用工具實現任務

~~~
//gulp 工具預設執行任務的清單檔案
const gulp = require("gulp");//引入gulp
const less = require("gulp-less");//引入gulp-less外掛

//建立任務 , 配置一個編譯less檔案的任務

gulp.task("less",function(){
    //先通過src()方法 匹配到需要執行處理的檔案
    gulp.src("./src/style/**/*.less")
    .pipe(less())
    .pipe(gulp.dest("./dist/css/"));
})
~~~

7.執行任務

~~~
gulp 任務名稱    (如果不加名稱,則執行task 中名字為default 的任務)
~~~