前端培訓-中級階段(44)- node 10.x 介紹及使用

前端最基礎的就是 HTML+CSS+Javascript。掌握了這三門技術就算入門,但也僅僅是入門,如今前端開發的定義已經遠遠不止這些。前端小課堂(HTML/CSS/JS),本着提高技術水平,打牢基礎知識的中心思想,咱們開課啦(每週四)。javascript

Node.js 是一個基於 Chrome V8 引擎的 JavaScript 運行時環境。 是一個事件驅動 I/O 服務端 JavaScript 環境,基於 Google 的 V8 引擎,V8 引擎執行 Javascript 的速度很是快,性能很是好。css

支持 windows、linux、macOS、Docker 鏡像。前端

Node.js 與瀏覽器的區別

  1. 在瀏覽器中,大多數時候作的是與 DOM 或其​​他 Web 平臺 API(例如 Cookies)進行交互。 固然,那些在 Node.js 中是不存在的。 沒有瀏覽器提供的 documentwindow、以及全部其餘的對象。
  2. 在瀏覽器中,不存在 Node.js 經過其模塊提供的 API,例如文件系統訪問功能。
  3. 在 Node.js 中,能夠控制運行環境。 除非構建的是任何人均可以在任何地方部署的開源應用程序,不然你能知道會在哪一個版本的 Node.js 上運行該應用程序。 與瀏覽器環境(你沒法選擇訪客會使用的瀏覽器)相比起來,這很是方便。
  4. Node.js 使用 CommonJS 模塊系統,而在瀏覽器中,則還正在實現 ES 模塊標準。
    在實踐中,這意味着在 Node.js 中使用 require(),而在瀏覽器中則使用 import

固然,若是你不想看上面那些內容,咱們能夠看下面的表格java

特性 Node 瀏覽器 備註
頂級對象 global window
AJAX require('http') XMLHttpRequest 能夠考慮使用 axios 跨平臺
文件系統 require('fs') × 據說 chrome 要加,沒仔細研究如何保證安全
模塊系統 CommonJS,require() ES,import babel 在手,都是小問題
運行環境 服務器 客戶端 其實環境的問題仍是存在的
HTML、HTML五、css、css3 ×
事件循環 √,和瀏覽器的不一致,node 本身也修改過 √,基本上各個廠商的能保持一致
流概念、二進制數據 √,Buffer,Stream √,Blob,ArrayBuffer

Node 能夠作什麼?

web 服務器

啓動一個 web 服務器node

// 依賴 http 模塊建立 web 服務器
const http = require('http')

// 設置監聽的端口
const hostname = '127.0.0.1'
const port = 3000

// 建立一個 web 服務
const server = http.createServer((req, res) => {
 res.statusCode = 200
 // 注意一下編碼問題喲
 res.setHeader('Content-Type', 'text/plain; charset=UTF-8')
 res.end('你好,歡迎訪問 https://www.lilnong.top')
})

// 使用上面設置好的端口監聽
server.listen(port, hostname, () => {
 console.log(`服務器運行在 http://${hostname}:${port}/`)
})

腳本程序

獲取當前目錄下面的全部 json 文件,進行處理 node app.jslinux

// app.js 文件
const fs = require("fs");
const path = require('path');
const readDir = (entry, paths = []) => {
    const dirInfo = fs.readdirSync(entry);
    dirInfo.forEach(item=>{
        const location = path.join(entry,item);
        const info = fs.statSync(location);
        if(info.isDirectory()){
            console.log(`dir:${location}`);
            readDir(location, [item]);
        }else{
            if(/.json$/.test(location)){
                // readFile(location, paths)
            }
        }
    })
}
// console.log('__dirname', __dirname)
readDir(__dirname);

交互式使用

上面的代碼咱們能夠直接在 cmd 中使用
image.pngios

微信公衆號:前端linong

clipboard.png

參考文獻

  1. 前端培訓目錄、前端培訓規劃、前端培訓計劃
相關文章
相關標籤/搜索