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





  • 相关阅读:
    【thinkphp】ThinkPHP各个低版本(<=3.2)完全配置参考手册
    HTTP头的Expires与Cache-control
    HTTP头的Expires与Cache-control
    setContentType、setCharacterEncoding、pageEncoding和contentType
    setContentType、setCharacterEncoding、pageEncoding和contentType
    字符集和字符编码(Charset & Encoding)
    字符集和字符编码(Charset & Encoding)
    java中IO类的各种操作
    文章标题
    printf()输出
  • 原文地址:https://www.cnblogs.com/Zjingwen/p/4472830.html
Copyright © 2011-2022 走看看