• 认识Require


      1. 加载require.js文件

    <script type="text/javascript" src="js/require.js" data-main="js/main" defer async="true" ></script>

      2. 加载主模块文件

      通过<script>标签设置 data-main="js/main" 加载主模块文件。

      3. 异步加载require.js文件 

      设置 defer async="true" 实现多个浏览器兼容异步加载。

        4. 路径配置

       在main.js的顶部加入下面的代码

    require.config({
    	baseUrl: "js/",
      paths: {
    		"jquery": "jquery.min",
    		"underscore": "underscore.min",
    		"backbone": "backbone.min"
    	}
    });
    

      5. 加载一个jquery.js文件

    define(['jquery'],function ($){
    	 $(function(){
    	 	//console.log('jquery已经加载。');
    	 });
    });
    

      6. 加载多个文件 

    require(['jquery', 'underscore', 'backbone'], function ($, _, Backbone){
    	$(function(){
    	 	 //..
    	});
    });
    

      7. 加载自定义模块 

    //加载key/value格式模块 
    define(['jquery','jsonobj'],function ($,json){
    	 $(function(){
    	 	 console.log(json.name +'/'+ json.age);
    	 });
    });
    //jsonobj.js
    define({
    	'name': 'lbs',
    	'age': 10
    });
    
    //加载一个函数模块
    define(['jquery','setColor'],function ($,O){
    	$(function(){
    	 	O.setColor();
    	 });
    });
    //setColor.js
    define(function(){
    	var color = function (){
        document.getElementsByTagName('body')[0].style.backgroundColor = 'red';
      };
      return {
          setColor: color
    	};
    });
    
    //加载一个依赖关系的函数模块
    define(['jquery','color'],function ($,O){
    	$(function(){
    	 	O.setColor();
    	 });
    });
    //color.js
    define(['jquery'],function($){
    	var color = function(){
        $('body').css('background','red');
      };
      return {
          setColor: color
    	};
    });
    

      8. 其他配置选项 

    //加载非AMD标准的模块文件(underscore,backbone某些版本不符合AMD标准)
    require.config({
        baseUrl: "js/",
        paths: {
            "jQuery": "jquery.min",
            "underscore": "underscore-min",
            "backbone": "backbone-min"
        },
        shim: {
            'underscore': {
                exports: '_'
            },
            'backbone': {
                deps: ['underscore', 'jQuery'],
                exports: 'Backbone'
            }
        }
    });
    //shim属性定义不符合AMD标准加载模块文件的输出变量(exports)和依赖文件(deps)
    //加载对应模块文件
    require(['backbone'], function(Backbone){
        var person = Backbone.Model.extend({
            defaults: {
                name: 'lbs',
                age: 10
            }
        });
        var me = new person();
        console.log( me.get('name') +'/'+ me.get('age') );
    });
  • 相关阅读:
    shell日志重定向到null
    nginx用户权限问题
    找不到 libgtk-x11-2.0.so.0
    OSError: libgfortran.so.3: cannot open shared object file: No such file or directory
    macos不能打开windows samba共享问题(转载)
    centos 磁盘分区格式化与挂载
    冒泡排序java代码
    二分查找java代码
    java基础复习
    python第二天
  • 原文地址:https://www.cnblogs.com/eyeear/p/4729247.html
Copyright © 2020-2023  润新知