node.js的一些知識

  • 什麼是node.js

  1. node.js是構建於chrome瀏覽器v8引擎上的一個js運行環境
  2. 能夠解析和執行js代碼
  3. 能夠當作另外一種上下文,脫離瀏覽器環境(後端)運行js代碼,而代碼解析就是基於V8引擎
  4. 伴隨着node.js有許多模塊,提升效率。即node.js是一個運行環境,又是一個庫
  5. node.js的 事件驅動和非阻塞IO模型使得node.js自己很是的輕量和高效
  • node.js的實現結構

  1. V8 JavaScript 解析執行引擎 ECMAScript
  2. 中間層 (提供了文件操做、網絡操做登錄接口)更加接近操做系統的接口供開發人員使用
  3. 硬件層
  • node.js能夠作什麼

  1. 操做文件(建立、刪除、修改、讀取)
  2. 提供Web服務(在Node中能夠接收客戶端的請求了)
  3. Node 能夠 開發一些 命令行工具軟件
  4. Node 能夠 開發動態網站(有用戶業務交互的功能Web站點)
    • 用戶登錄
    • 用戶註冊
    • 添加購物車
    • 商品的展現
  5. Node 能夠幫咱們 把以前 所寫的 靜態頁面 -> 動態化
  6. Node.js 不須要操做DOM、BOM了,也不須要寫HTML、css, 不須要考慮兼容性的問題
  7. Node.js 編程實際上就是在 寫 JavaScript 代碼,關心的是業務功能
  8. 操做持久化數據
  9. 能夠開發 命令臺 工具軟件
  • node.js和PHP的區別

相同點:css

  1. 它們都能操做文件,都有和操做系統底層打交道的 API
  2. 它們均可以進行網絡操做,網絡服務

不一樣點:node

  1.  PHP 須要和 Apache 結合起來才能提供 Web服務
  2.  Node.js 摒棄了以往全部的服務器,Node.js 能夠獨立做爲一個服務器來使用
  3. Java、PHP、.net 能作的事兒,Node.js 基本都能作,並且在某一方面比它們還要作的好
  • 安裝包管理工具npm

  1. 容許用戶從NPM服務器下載別人編寫的三方包到本地使用
  2. 容許用戶從NPM服務器下載並安裝別人編寫的命令行程序到本地使用
  3. 容許用戶將本身編寫的包或命令行程序上傳到NPM服務器供別人使用
  • node.js模塊加載規則,即:包的加載

當模塊標識既不是文件模塊,也不是核心模塊的時候,chrome

 Node.js按照必定的規則去查找該 包模塊 先找當前的 node_modules 目錄下有沒有工具包(例如項目引用的node-markdown包),若是有,優先找 package.json 文件, 找到 package.json 文件以後,找 裏面的 main 屬性 若是 package.json 文件沒有 或者 沒有 main 屬性 或者 main屬性指定的文件模塊不存在 Node.js 會取上一級目錄下的 node_modules 目錄下 找 該工具包繼續走上面的流程 直到找到根目錄下 若是還找不到那麼就報錯。正是由於有這種規則存在,require文件路徑直接能夠寫成包的文件名。npm

  • 爲了防止誤刪包以後,不清楚是缺乏的文件模塊、核心模塊等等,這個時候就須要這個安裝命令

npm install node-markdown --save編程

 那麼package.json文件裏對多出「depandencies」:{「node-markdown」:「^0.1.1」},json

這個時候把包刪掉,執行下面命令初始化package.json文件後端

npm init -y瀏覽器

再執行服務器

npm install node-markdown --savemarkdown

 那麼文件中包會自動下載所缺乏的包

 

  • 在這總結了一些npm經常使用命令

npm init 【-y】 初始化一個package.json文件

npm install 包名 安裝一個包

npm install –save 包名 將安裝的包添加到package.json的依賴 中(dependencies)

npm install –g 包名 安裝一個命令行工具 npm docs 包名 查看包的文檔【很是有用】

npm root -g 查看全局包安裝路徑

npm config set prefix 「路徑」 修改全局包安裝路徑

npm list 查看當前目錄下安裝的全部包

npm list -g 查看全局包的安裝路徑下全部的包

npm uninstall 包名 卸載當前目錄下某個包

npm uninstall –g 包名 卸載全局安裝路徑下的某個包

npm update 包名 更新當前目錄下某個包

相關文章
相關標籤/搜索