linux命令
1. mkdir 建立文件夾
2. vim 簡寫 vi 建立文件的
3. rm -rf 文件名稱 刪除
4. 遞歸刪除
find ./ -name '文件名稱' -print -exec rm -rf {} \;
舉例: find ./ -name 'node_modules' -print -exec rm -rf {} \;
5. cat 文件名稱 查看某個文件的內容
前端渲染 vs 後端渲染
1. 前端拿到數據以後, 前端來渲染數據
2. 後端來進行渲染( express )
3. 瀏覽器 -》 開發者工具-》 network
1. headers
1. general
2. responseHeaders
3. requestHeaders
4. query string paramters
5. Form data(表單提交的)
4.先後端渲染優劣分析
地址:https://www.cnblogs.com/zhangrunhao/p/6845626.html
node.js http.get 後端爬蟲
步驟:
數據抓取 ---》 數據清洗 ---》 數據格式整理---》 發送前臺(web服務器)
爬蟲案例:
反爬蟲:
數據清洗的時候作,數據中用一個其餘類型格式數據
events
1. Emitter.prototype 繼承過來了 on emit
- on:事件的定義
- emit:事件的觸發
2.
fs/ zlib/ stream
1.fs(文件模塊)
fs.readFile
fs.open
fs.openSync(open的同步方式)
fs.write
fs.close
fs.unlink
fs.readdir
**注意:fs 模塊的每個方法都提供了異步與同步的兩種操做方式。其中,異步的方式性能高,是一種推 薦的操做方式。若是您須要採用同步的方式,只要在異步方法名後面加上 Sync 便可,同時去掉末尾的 callback 參數**。
2.zlib
3.stream(流模塊)
流是一個抽象接口,有四種流類型
readable:可讀
writable:可寫操做
duplex:可讀可寫操做
transform:操做被寫入數據,而後讀出結果
4.聯合項目:製做壓縮包
製做一個壓縮包的流程:
1. 先有一個文件
2. 讀取文件
3. 製做壓縮包
4. 將讀取的數據放入到壓縮包中
code:
const zlib = require('zlib');
const fs = require('fs');
//建立可讀的流
const inp = fs.createReadStream('yyb.txt');
//建立空壓縮包
const gzip = zlib.createGzip();
//建立可寫的流
const out = fs.createWriteStream('yyb.txt.gz');
inp.pipe(gzip).pipe(out);
Node.js原生路由
1. 爲何要引進前端路由這樣一個東西
前端異步流程控制工具( 全部的 )
1. Promise
https://blog.csdn.net/MrJavaweb/article/details/79475949
2. Generator
https://www.cnblogs.com/imwtr/p/5913294.html
3. Async-await
4. Node.js 中的nextTick()和setimmediate()
https://www.cnblogs.com/5ishare/p/5268273.html
5. async庫
https://caolan.github.io/async/
參考文檔
Event-loop
http://www.ruanyifeng.com/blog/2014/10/event-loop.html?bsh_bid=983729729
史上最易讀懂的 Promise/A+ 徹底實現
https://zhuanlan.zhihu.com/p/21834559
npm script( npm腳本 )
1. 概念:
npm 容許在package.json文件裏面,使用scripts字段定義腳本命令。
2. 經常使用使用:
1. npm腳本就至關於一個 電器的使用說明書
2. npm腳本運行使用 npm run
3. npm腳本能夠簡寫,可是隻有特定幾個
npm start -> npm run start
npm stop -> npm run stop
npm text -> npm run test
npm restart -> npm run stop & npm run start
express
構建後端項目的一個框架
1. 安裝生成器
npm install express-generator -g
2. 使用
express options 項目名稱
3. 建立項目
舉例: express 04-express-project
4. 目錄內容
bin 項目的配置文件( 好比: port )
www 使用http模塊建立一個web服務器
public 靜態資源文件夾( html css images js )
routes 路由
views 後端模板文件夾
app.js 整個項目的入口文件
package.json 整個項目的依賴包配置文件( 說明書 )
5. 項目的啓動
1. 先進入項目
cd 項目名稱
2. 安裝項目須要的依賴
npm install
3. 項目啓動(說明書 package.json 中 scripts腳本)
npm start
建議:
養成一個習慣: 看到一個項目, 首先看項目的說明書(package.json)
6. 看一個項目流程?
1. package.json
依賴包
npm腳本--》 項目啓動命令--》配置文件
7. express 中間件 Middleware
中間件: 具備特定功能的函數
中間件(Middleware) 是一個函數,它能夠訪問請求對象(request object (req)), 響應對象(response object (res)), 和 web 應用中處於請求-響應循環流程中的中間件,通常被命名爲 next 的變量。
中間件的功能包括:
*
執行任何代碼。
*
修改請求和響應對象。
*
終結請求-響應循環。
*
調用堆棧中的下一個中間件。
中間件包含三個部分(形式參數)
request : 請求
response: 響應
next: 請求和響應流程中的中間件, 用next變量表示
express中提供了
1. 應用級中間件
應用級中間件就是一個具備特定功能性的函數, 這個函數須要綁定在app對象身上,經過app.use() || app.method() 來調用
2. 路由中間件
3. 錯誤中間件
app對象
const app = express()
使用:
1. app.use() 調用中間件(函數)
2. app.method() 處理http請求的
前端的請求方式不少的: 好比: get post delete put all
杭州: Node.js中間件封裝
Node.js渲染模板
1. ejs
2. pug(曾用名: jade) 語法功能很強大
3. art-template(純後端模板)