node基礎

Node 簡介

客戶端的JavaScript是怎樣的

  • 什么是 JavaScript?

    • 是一個腳本語言
    • 運行在瀏覽器(瀏覽器的js解析內(nèi)核 v8)
    • 實現(xiàn)用戶的交互 (interactive)
  • JavaScript 的運行環(huán)境?
    +瀏覽器內(nèi)核解析內(nèi)核 es6

  • 瀏覽器中的 JavaScript 可以做什么?

    • 變量 賦值 循環(huán) 邏輯 判斷 分支 對象 函數(shù)。。。。
    • dom 操作
    • bom 操作
    • ajax
  • 瀏覽器中的 JavaScript 不可以做什么?(不安全)

    • 訪問數(shù)據(jù)庫
    • 不能對文件進行操作
    • 對os 進行操作
    • 原因 是不安全 和瀏覽器運行機制有關
  • 客戶端運行的node可以做的事情正好和js互補

  • 它們之間的不同是由于運行環(huán)境的不同造成的

    • 因為都有chrome v8 引擎,所有它們都能對基礎變量 for 循環(huán)之類的操作,
    • js里因為運行在瀏覽器上,瀏覽器提供了基于瀏覽器的內(nèi)核解析器,使得js可以對css/html/bom/dom/進行操作。node里內(nèi)置的
    • node內(nèi)置的libuv,可以是它能夠操作內(nèi)置模塊/操作文件/操作數(shù)據(jù)庫等。
  • 在開發(fā)人員能力相同的情況下編程語言的能力取決于什么?
    取決于運行環(huán)境,運行環(huán)境賦予了它不同的能力。

    • cordova hbuilder 平臺 platform
    • java java虛擬機 (運行平臺)
    • php php虛擬機
    • c# .net framework mono
    • js 解析內(nèi)核 chrome v8
  • JavaScript 只可以運行在瀏覽器中嗎?
    +不是

為什么是JavaScript

  • node js 不是因為js 產(chǎn)生的
  • node 選擇了js
  • Ryan dahl
  • 2009 2 月份 node有想法
  • 2009 5 月份 githup 開源
  • 2009 11月份 jsconf 講解推廣node
  • 2010年底 被xxx公司收購
  • 2018 發(fā)布有重大bug
  • npm
  • githup 世界上最大的同性交友網(wǎng)站 碼云

what is node ?

  • Node.js 是一個基于Chrome V8 引擎的JavaScript運行環(huán)境
  • Node.js使用了一個事件驅(qū)動、非阻塞式I/O的模型,使其輕量又高效
    • 非阻塞的i(input 輸入)/o(output 輸出)模型: 一般情況下 io操作都是阻塞的(網(wǎng)絡請求/文件操作/數(shù)據(jù)庫操作。。。)。node通過異步回調(diào)來使i/o操作變成非阻塞(所以很多情況下node的操作都是異步的。)
  • Node.js的包管理工具npm,是全球最大的開源庫生態(tài)系統(tǒng)
  • 官網(wǎng) http://nodejs.cn/
  • npm 插件官網(wǎng):https://www.npmjs.com/

環(huán)境配置

Node的安裝

  • 安裝包安裝

    • 官網(wǎng)下載對應的安裝包
    • 一路next
    • 出現(xiàn)node不是內(nèi)部命令問題(解決方式)
    1. 軟件的安裝目錄地址復制
    2. 點擊此電腦右鍵屬性高級設置
    3. 環(huán)境變量
    4. 系統(tǒng)變量
    5. path
    6. 編輯文本 把1復制目錄復制過去。
  • nvm安裝(有一個類似的工具:n)

    • Node Version Manager(Node版本管理工具)

    • 由于以后的開發(fā)工作可能會在多個Node版本中測試,而且Node的版本也比較多,所以需要這么款工具來管理

    • 下載地址

     基本命令
     nvm -v 查看版本號
     nvm list 查看node版本列表
     nvm install 版本號  安裝node版本
     nvm uninstall 版本號  卸載node版本
     nvm use 版本號        切換node版本
     
    
  • npm(node 的包管理工具,用來安裝包/插件)

      初始化項目
      npm init  
      npm init --yes
   
      下載包
      npm install jquery --save-dev 下載開發(fā)依賴(如果是只在開發(fā)中使用就下啊在開發(fā)依賴) 開發(fā)環(huán)境
      npm install swiper --save     下載生產(chǎn)依賴 (如果上線也要用到這個包就裝生產(chǎn)依賴) 上線環(huán)境
      npm install 包名字 默認生產(chǎn)依賴
      npm install  jquery@2.7.0     指定版本下載
      刪除包
      npm uninstall  包名
   
   (所有包的都在倉庫里。npm是在倉庫中下載插件的)
      查看鏡像源
       npm config get  registry 
       切換淘寶鏡像源
       npm config set registry 加上淘寶鏡像的連接地址 https://registry.npm.taobao.org

npm 使用入門

官網(wǎng):https://www.npmjs.com/

安裝:無需安裝

查看當前版本:

$ npm -v

更新:

$ npm install npm@latest -g

初始化工程

$ npm init

$ npm init --yes 默認配置

安裝包

使用npm install會讀取package.json文件來安裝模塊。安裝的模塊分為兩類
dependencies和devDependencies,分別對應生產(chǎn)環(huán)境需要的安裝包和開發(fā)環(huán)境需要的安裝包。

$ npm install

$ npm install <package_name> 

$ npm install <package_name> --save

$ npm install <package_name> --save-dev

更新模塊

$ npm update

卸載模塊

$ npm uninstall <package_name>

$ npm uninstall --save lodash

配置npm源

  • 臨時使用, 安裝包的時候通過--registry參數(shù)即可(不推薦)

    $ npm install express --registry https://registry.npm.taobao.org

  • 全局使用

      $ npm config set registry https://registry.npm.taobao.org
      // 配置后可通過下面方式來驗證是否成功
      npm config get registry
      // 或
      npm info express
  • cnpm 使用
         // 安裝cnpm
          npm install -g cnpm --registry=https://registry.npm.taobao.org
    
          // 使用cnpm安裝包
          cnpm install express
    
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容