nodejs的第一天學習

來源:互聯網
上載者:User

標籤:div   學習   nodejs   模組化   2.0   ports   傳參   加法   檔案   

一、 js的模組化
  什麼是模組化:
    模組化的概念最早是後台,隨著ajax技術的興起,js在編程中所佔的地位越來越高,同時js的檔案也相應的越來越多。為了方便檔案的管理和更新,提出了js檔案的模組 化,將同一類型的功能組合在一起


二、模組化的演變過程:
  1.普通的方法的書寫格式。
  問題:多個人開發可能會造成變數汙染,為瞭解決這個問題引出2
  2.使用對象的範圍來解決變數汙染問題
  問題:如果在這個對象中有一些屬性不希望被外界訪問到,
  不能實現這個效果,為瞭解決這個問題,引出3
  3.使用函數的方式來私人化變數
  問題:每次使用的時候都需要重新建立對象,為瞭解決這個問題引出了4
  4.使用函數的自執行模式來代替 new 操作
  問題:沒有問題,但是要考慮到擴充性,引出了5
  5.使用一個自執行函數在原來的對象上擴充方法
  注意點:將來自執行的時候要進行傳參,這個參數需要做一個處理(window.calc || {})
  6如果將來要用到第三方模組,我們需要將模組名寫在自執行函數的參數上。

三、 第三方模組化管理工具:
1.seajs:
  什麼seajs:第三方模組化管理工具
  學習網址:seajs.org
  特點:
    1)seajs 遵循CMD 規範
    2)node.js一般書寫模組化代碼
    3)依賴的自動載入、配置的簡潔清晰
  作用步驟:
  1)要定義一個單獨的模組:
  關鍵字: define
  

define(function(require,exports,module){     //定義的代碼塊})    

 


  2)要在模組中返回一些方法/屬性/對象
  關鍵字:exports/module.exports


  3)如果要引用一個第三方模組:
  關鍵字:require
  

var add = require(‘./add.js‘);

 


  注意點:將來通過require關鍵字引用了其它模組化以後,會返回引用模組化的一個對象:exports/module.exports
  4)使用seajs 定義好的模組
  關鍵字:seajs
  

seajs.use(‘./calc/calc.js‘,function(obj){    //注意:回呼函數中的obj對象指向中是當前引用的模組calc.js模組中的exports/module.exports      //使用加法      console.log(obj.add.add(1,1));     //使用減法      console.log(obj.sub.sub(1,1));})

 


  注意:回呼函數中的參數就是當前引用模組的exports對象


2.seajs遵循的規範:CMD規範
CMD規範的作用:規範明確了模組的基本書寫格式和基本互動規則
a.cmd規定在define中可以傳入方法,對象,字串
b.cmd規定require用於接收第三方包提供的介面
  require在使用的時候要注意以下幾點:
    1.0拼字正確
    2.0不要修改
    3.0使用直接量
c.cmd規定exports用來向外提供模組介面
d.cmd規定module.exports用於向外提供模組的介面
  遵守CMD規範的模組都有一個特點:按需要載入特點(懶載入)
3.require 的使用
  簡單使用:基本與seajs一樣
  require 使用的AMD規範。
  CMD與AMD基本相同,最大區別是CMD是懶載入,AMD是預先載入

補充:

(1)requirejs與seajs使用基本相同 
    有兩點要注意:1)seajs使用模組時用方法Seajs.use,而requirejs直接用require關鍵字
    2)seajs只使用一個模組時可以只傳一入字串,但是require必須是一個數組
(2)懶載入與預先載入

預先載入模式:當第一次訪問時將所有的檔案載入出來
       優點:第一次訪問完成以後,再次訪問的速度會很快
缺點:第一次載入頁面要等待很久

懶載入模式:使用的時候才會載入對應的檔案
優點:第一次訪問速度相對快點
缺點:再訪問其它新的模組是速度會變慢
 

nodejs的第一天學習

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.