zoukankan      html  css  js  c++  java
  • require学习笔记(一)

    官网文档,看着有点云里雾里,个人写的文档又五花八门,好吧,我只能自己看遍各种文档,自己总结了。去粗取精的理解。

    一、概念,模块化的管理

    1、以module ID代替URL地址

    2、相对于baseUrl的地址来加载所有代码

    3、在<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)时自动补上后缀。
     
    4、 data-main入口点
    (1)、requirejs在加载时会检查data-main属性
    (2)、可以在data-main中设置模块加载选项,加载模块。*data-main中的模块都是异步加载的。如果在页面中加载了其他模块,则不能保证页面中加载的js文件,和data-main中模块的依赖性,当然是有依赖的前提。
     
    5、定义模块
    (1)、良好的定义了一个作用域来避免全局名称空间污染。
    (2)、显式地列出依赖关系
    (3)、以函数参数的形式将依赖注入
    (4)、允许加载多个模块,加载的顺序是不定的,但是依赖顺序是正确的。
     
     
     
     





  • 相关阅读:
    Windows Phone 四、控件模版
    Windows Phone 三、样式和资源
    Windows Phone 一、XAML基础语法
    第三次月考
    第三次月考
    第七章 LED将为我们闪烁:控制发光二极管
    第六章 第一个linux个程序:统计单词个数
    第五章 搭建S36510开发板的测试环境
    Android深度探索读后感 第四章
    Android深度探索读后感 第三章
  • 原文地址:https://www.cnblogs.com/Zjingwen/p/4472830.html
Copyright © 2011-2022 走看看