国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

簡單理解CommonJS規范

王笑朝 / 1934人閱讀

摘要:事實上已經出現了模塊規范,如果使用的模塊規范是無需環境的。因此,需要將規范和的模塊規范區分開來。三模塊規范的好處模塊規范很好地解決變量污染問題,每個模塊具有獨立空間,互不干擾,命名空間等方案與之相比相形見絀。

寫在前面:
  一個文件就是一個模塊。
  另外本文中的示例代碼需要在node.js環境中方可正常運行,否則將出現錯誤。事實上ES6已經出現了模塊規范,如果使用ES6的模塊規范是無需node.js環境的。因此,需要將commonJS規范和ES6的模塊規范區分開來。

一、為什么制定CommonJS規范?
  在后端,JavaScript的規范遠遠落后并且有很多缺陷,這使得難以使用JavaScript開發大型應用。比如:

沒有模塊系統
標準庫較少
沒有標準接口
缺乏包管理系統
列表內容

  CommonJS規范的提出,主要是為了彌補JavaScript沒有標準的缺陷,已達到像Python、Ruby和Java那樣具備開發大型應用的基礎能力,而不是停留在開發瀏覽器端小腳本程序的階段。

二、CommonJS模塊規范
  CommonJS模塊規范主要分為三部分:模塊引用、模塊定義、模塊標識。

1、模塊引用
  如果在a.js文件中使用如下語句

var math=require("math");

意為使用require()方法,引入math模塊,并賦值給變量math。事實上,命名的變量名和引入的模塊名不必相同,就像這樣:

var Math=require("math");

  賦值的意義在于,a.js中將僅能識別Math,因為這是已經定義的變量,并不能識別math,因為math沒有定義。

帶路徑和不帶路徑
  上面例子中require的參數僅僅是模塊名字的字符串,沒有帶有路徑,引用的是a.js所在當前目錄下的node_modules目錄下的math模塊。如果當前目錄沒有node_modules目錄或者node_modules目錄里面沒有安裝math模塊,便會報錯。
  
  如果要引入的模塊在其他路徑,就需要使用到相對路徑或者絕對路徑,例如:

var add=require("./add.js")

  上面例子中引入了當前目錄下的add.js文件,并賦值給add變量。

2、模塊定義

module對象:在每一個模塊中,module對象代表該模塊自身。
export屬性:module對象的一個屬性,它向外提供接口。

  仍然采用上一個示例,假設add.js中的代碼如下:
  

function add(num1,num2){
    alert(num1+num2);
}

  盡管a.js文件引入了add.js文件,前者卻仍然無法使用后者中的add函數,在a.js文件中add(3,5)這樣的代碼會報錯,提示add不是一個函數。
  add.js中的函數要能被其他模塊使用,就需要暴露一個對外的接口,export屬性用于完成這一工作。將add.js中代碼改為如下:

exports.add=function (num1,num2){
    alert(num1+num2);
}

  a.js文件就可以正常調用add.js中的方法,例如add.add(3,5)這樣的調用能夠正常執行,前一個add意為本文件中add變量代表的模塊,后一個add是引入模塊的add方法。

3、模塊標識

模塊標識指的是傳遞給require方法的參數,必須是符合小駝峰命名的字符串,或者以 . 、.. 、開頭的相對路徑,或者絕對路徑。

三、CommonJS模塊規范的好處
CommonJS模塊規范很好地解決變量污染問題,每個模塊具有獨立空間,互不干擾,命名空間等方案與之相比相形見絀。

CommonJS規范定義模塊十分簡單,接口十分簡潔。

CommonJS模塊規范支持引入和導出功能,這樣可以順暢地連接各個模塊,實現彼此間的依賴關系。

作者:夜色蕪染
來源:CSDN
原文:https://blog.csdn.net/u012443...
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/98727.html

相關文章

  • 前端模塊化(一)nodeJS中的CommonJS規范

    摘要:要想讓模塊再次運行,必須清除緩存。模塊加載的順序,按照其在代碼中出現的順序。最近參加了公司開展的一次培訓,結構性思維培養。 序言 模塊化,大家用vue,react等東西,都會接觸到像exports,module.exports,export,export default,require,define,import等等字段,感覺很多人對于這些東西還是分不清,概念非常的模糊,便想著寫這么一...

    Charlie_Jade 評論0 收藏0
  • 前端模塊化詳解(完整版)

    摘要:二模塊化規范概述應用由模塊組成,采用模塊規范。模塊化語法命令用于規定模塊的對外接口,命令用于輸入其他模塊提供的功能。 前言 在JavaScript發展初期就是為了實現簡單的頁面交互邏輯,寥寥數語即可;如今CPU、瀏覽器性能得到了極大的提升,很多頁面邏輯遷移到了客戶端(表單驗證等),隨著web2.0時代的到來,Ajax技術得到廣泛應用,jQuery等前端庫層出不窮,前端代碼日益膨脹,此時...

    Sanchi 評論0 收藏0
  • 前端模塊化詳解(完整版)

    摘要:二模塊化規范概述應用由模塊組成,采用模塊規范。模塊化語法命令用于規定模塊的對外接口,命令用于輸入其他模塊提供的功能。 前言 在JavaScript發展初期就是為了實現簡單的頁面交互邏輯,寥寥數語即可;如今CPU、瀏覽器性能得到了極大的提升,很多頁面邏輯遷移到了客戶端(表單驗證等),隨著web2.0時代的到來,Ajax技術得到廣泛應用,jQuery等前端庫層出不窮,前端代碼日益膨脹,此時...

    Pines_Cheng 評論0 收藏0
  • 模塊化

    摘要:模塊化總結最近重新復習的模塊化的相關知識,總結一下,僅供自己理解和大家參考。模塊化的優點可維護性根據定義,每個模塊都是獨立的。良好設計的模塊會盡量與外部的代碼撇清關系,以便于獨立對其進行改進和維護。 模塊化總結 最近重新復習的模塊化的相關知識,總結一下,僅供自己理解和大家參考。 模塊化的優點 可維護性:根據定義,每個模塊都是獨立的。良好設計的模塊會盡量與外部的代碼撇清關系,以便于獨立...

    ?xiaoxiao, 評論0 收藏0
  • JavaScript模塊化發展

    摘要:所有依賴這個模塊的語句,都定義在一個回調函數中,等到所有依賴加載完成之后前置依賴,這個回調函數才會運行。如果將前面的代碼改寫成形式,就是下面這樣定義了一個文件,該文件依賴模塊,當模塊加載完畢之后執行回調函數,這里并沒有暴露任何變量。 模塊化是我們日常開發都要用到的基本技能,使用簡單且方便,但是很少人能說出來但是的原因及發展過程。現在通過對比不同時期的js的發展,將JavaScript模...

    mengbo 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<