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)、容许加载多个模块,加载的顺序是不定的,可是依赖顺序是正确的。
 
 
 
 

 



相关文章
相关标签/搜索