require學習筆記(一)

官網文檔,看着有點雲裏霧裏,我的寫的文檔又五花八門,好吧,我只能本身看遍各類文檔,本身總結了。去粗取精的理解。javascript

1、概念,模塊化的管理html

一、以module ID代替URL地址java

二、相對於baseUrl的地址來加載全部代碼app

三、在<script>標籤中有一個特殊屬性data-main="",requirejs使用data-main來啓動js加載過程,baseUrl通常設置到與該項目屬性相一致的目錄。異步

 

  1. <script tyoe="text/javascript" data-main="script/main.js" src="script/require.js"></script>//官方
(1)、data-main右側的main文件能夠不帶有.js後綴,也能夠帶有.js後綴
a、demo1
文件目錄:
html文件:
  1. <!DOCTYPE html>
  2. <html>
  3. <headlang="en">
  4. <metacharset="UTF-8">
  5. <scriptsrc="require.js"data-main="main.js"></script>
  6. <title></title>
  7. </head>
  8. <body>
  9. </body>
  10. </html>
main.js文件:
  1. /**
  2. * Created by s9-1102 on 2015/4/30.
  3. */
  4. require.config({
  5. paths:{
  6. app:'js/app'
  7. }
  8. })
  9. require([
  10. 'app'
  11. ])
app.js文件:
  1. define(function(){
  2. alert(123);
  3. })
上述代碼中,main.js文件,帶與不帶.js後綴都是容許結果都是同樣的。
官方解釋:Require默認假定的全部資源都是js文件,因此是不須要在module ID(data-main)上添加.js後綴。requirejs會在解析到module ID(data-main)內的path(paths)時自動補上後綴。
 
四、 data-main入口點
(1)、requirejs在加載時會檢查data-main屬性
(2)、能夠在data-main中設置模塊加載選項,加載模塊。*data-main中的模塊都是異步加載的。若是在頁面中加載了其餘模塊,則不能保證頁面中加載的js文件,和data-main中模塊的依賴性,固然是有依賴的前提。
 
五、定義模塊
(1)、良好的定義了一個做用域來避免全局名稱空間污染。
(2)、顯式地列出依賴關係
(3)、以函數參數的形式將依賴注入
(4)、容許加載多個模塊,加載的順序是不定的,可是依賴順序是正確的。
 
 
 
 

 



相關文章
相關標籤/搜索