zoukankan      html  css  js  c++  java
  • 认识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') );
    });
  • 相关阅读:
    ‘Host’ is not allowed to connect to this mysql server
    centos7安装mysql
    further configuration avilable 不见了
    Dynamic Web Module 3.0 requires Java 1.6 or newer
    hadoop启动 datanode的live node为0
    ssh远程访问失败 Centos7
    Linux 下的各种环境安装
    Centos7 安装 python2.7
    安装scala
    Centos7 安装 jdk 1.8
  • 原文地址:https://www.cnblogs.com/eyeear/p/4729247.html
Copyright © 2011-2022 走看看