Node學習day01——認識node和簡單讀寫文件

目錄

  • 認識node
    • node是什麼
    • 應用場景
    • node語法使用
      • ES五、ES6
      • node核心模塊
      • 引入第三方模塊
      • 用戶自定義模塊
    • 環境安裝
    • 使用node執行的第一個腳本
    • 使用node讀寫文件
      • 使用node寫入文件
      • 使用node讀取文件

認識node

Node 是一個針對網絡應用開發的平臺,是利用 Google 的 JavaScript 運行時引擎 V8(能夠解析和執行 JavaScript)打造的一個 JavaScript 在服務端的運行環境。node

node是什麼

  • Node 不是一門語言。Node 是一個構建於 Chrome JavaScript V8 解析引擎之上的一個 JavaScript 運行時(環境)。
  • Node 能夠解析和執行 JavaScript 代碼
    • Ecmascript,基本的 JavaScript 語法及 API
    • 沒有 window、document 之類的DOM、BOM元素
    • Node 相似於瀏覽器,是一個解析執行 js 環境,雖然不處理 UI,可是在該平臺中爲 js 提供了一系列的編程接口
  • Node 使用事件驅動和非阻塞IO模型使得它很是的輕量和高效
  • npm 不單單能夠用來下載 node,還能夠用來方便管理和維護第三方包的相關的一些資源包,也能夠用來下載瀏覽器環境相關的一些資源包(Ployfill,Hack)

應用場景

  • 網站服務器
  • 網絡爬蟲
  • JSON API
  • 網絡遊戲服務器
  • 命令行工具

node語法使用

ES五、ES6

node核心模塊

Node 把絕大多數的 API 都封裝到了一個具名的核心模塊中,每個模塊就是處理一系列功能的API集合,每一個模塊都有一個惟一表示名稱進行暴露,咱們使用的時候須要進行單獨的加載。npm

例如文件操做的:fs,網絡操做的 http 等,若是要使用,須要先加載模塊。編程

//用戶自定義變量名 = require('惟一的核心模塊標識名稱')
var fs = require("fs")
複製代碼

引入第三方模塊

第三方模塊由npm社區提供,咱們在使用的時候:瀏覽器

一、使用npm下載指定的模塊bash

npm install moment
複製代碼

二、經過require進行引用服務器

var moment = require("moment")
複製代碼

三、查看第三方的API進行使用。網絡

momentjs的官方文檔工具

console.log(moment().format())
console.log(moment().format("YYYY-MM-DD HH:mm:ss"))
複製代碼

momentjs.png

用戶自定義模塊

Node 基於 CommonJS 模塊規範實現了本身的一套 JavaScript 模塊解決方案,其核心 API 爲下面三個網站

  • require
  • module
  • exports

環境安裝

Node官網下載ui

下載 --> 下一步安裝 --> 完成

驗證

node -v
node --version
npm -v
npm --version
複製代碼

node-version.png

使用node執行的第一個腳本

一、建立一個helloworld的js文件

二、在js裏面寫一行代碼

console.log("hello nodejs");
複製代碼

三、在本文件目錄下執行

node helloworld.js
複製代碼

hellonodejs.png

使用node讀寫文件

使用node寫入文件

//引入node的文件操做fs核心模塊
var fs = require("fs")
//定義須要寫入的字符串
var data = "hello nodejs"
//使用writeFile API,傳入寫入路徑,須要寫入的內容,接收回調返回錯誤信息
fs.writeFile("./data/hello.txt",data,function(err){
  //若是錯誤拋出錯誤,阻止下面代碼執行,
  //這裏使用throw拋出錯誤,緣由是可能寫入錯誤的緣由能有不少種
  //多是文件只讀權限,多是寫入失敗,throw能夠肯定文件寫入失敗的緣由
  if(err){
    throw err
  }
  //若是成功執行下面代碼
  console.log("write succeed!")
})
複製代碼

writeSucceed.png
checkFile.png

使用node讀取文件

咱們讀取一下剛纔咱們寫好的文件

//引入node的文件操做fs核心模塊
var fs = require("fs")
//使用readFile API,傳入讀取路徑,指定格式,接收回調
//第一個參數必定是err,第二個參數是讀取的文件內容
fs.readFile("./data/hello.txt",'utf8',function(err,data){
  //若是有錯誤,拋出錯誤,阻止下面代碼的執行,也可使用return
  if(err){
    throw err
  }
  console.log(data)
})
複製代碼

readFile.png
若是不加第二個utf8這個參數,那麼默認是加載16進制的Buffer對象。咱們若是想要輸出字符串,須要手動對返回的data進行轉換,toString()的默認參數就是utf8。

//引入node的文件操做fs核心模塊
var fs = require("fs")
//使用readFile API,傳入讀取路徑,指定格式,接收回調
//第一個參數必定是err,第二個參數是讀取的文件內容
fs.readFile("./data/hello.txt",function(err,data){
  //若是有錯誤,拋出錯誤,阻止下面代碼的執行,也可使用return
  if(err){
    throw err
  }
  console.log(data)
  console.log(data.toString())
  console.log(data.toString("utf8"))
})
複製代碼

image.png
相關文章
相關標籤/搜索