requirejs 笔记

index.html

<!doctype html>
<html>
    <head>
        <title>requirejs</title>
        <meta charset="utf-8">
        <script data-main="js/main" src="js/require.js"></script>
    </head>
    <body>

    </body>
</html>

main.js    合并js功能

require.config({
    // baseUrl: ‘js/lib‘, 如果加载的这三个js不和main在一个目录下,就这样配置这个参数,或者直接写网址路径
    paths: {
        underscore: ‘underscore.min‘,
        backbone:‘backbone.min‘,
        jquery: ‘jquery-1.9.1.min‘,
        math :‘math‘
    },
    /*
        shim属性,专门用来配置不兼容的模块。具体来说,每个模块要定义(1)exports值(输
        出的变量名),表明这个模块外部调用时的名称;(2)deps数组,表明该模块的依赖性。
    */
    shim: {
      ‘underscore‘:{
        exports: ‘_‘
      },
      ‘backbone‘: {
        deps: [‘underscore‘, ‘jquery‘],
        exports: ‘Backbone‘
      }

    }
/*jQuery的插件可以这样定义
    shim: {

    ‘jquery.scroll‘: {

      deps: [‘jquery‘],

      exports: ‘jQuery.fn.scroll‘

    }

  }
*/

});

// require([‘jquery‘], function($) {
//     alert($().jquery);
// });

require([‘jquery‘, ‘underscore‘, ‘backbone‘], function ($, _, Backbone){
  // some code here
    alert($().jquery);
});
// 如果不依赖其他模块
require([‘math‘],function(math){
    alert(math.add(1,2))
})
// domready插件,可以让回调函数在页面DOM结构加载完成后再运行。
require([‘domready!‘], function (doc){

    // called once the DOM is ready

});

/*
    require()函数接受两个参数。第一个参数是一个数组,表示所依赖的模块,
    上例就是[‘moduleA‘, ‘moduleB‘, ‘moduleC‘],即主模块依赖这三个模块;第二个参数是一个回调函数,
    当前面指定的模块都加载成功后,它将被调用。加载的模块会以参数形式传入该函数,从而在回调函数内部就
    可以使用这些模块。
*/
/*
    require()异步加载moduleA,moduleB和moduleC,浏览器不会失去响应;它指定的回调函数,只有前面的模块
    都加载成功后,才会运行,解决了依赖性的问题。
 */
/*
    1、data-main属性
    2、require.config方法
    3、require函数
*/

math.js   自定的js

// 这种定义 是不依赖其他模块
define(function(){
    var add = function( x , y){
        return x+y ;
    }
    return{
        add : add
    }
});

// 否则 这样定义

// define([‘mylib‘],function(mylib){
//     function foo(){
//    mylib.doSomething();
//  }

// return {

//   foo : foo

//  };
// })

requirejs 笔记

时间: 2024-10-11 13:23:55

requirejs 笔记的相关文章

requireJs笔记

官方网址:http://www.requirejs.org/ 中文版翻译:http://makingmobile.org/docs/tools/requirejs-api-zh/ 插件作用:对于JS模块文件进行管理,动态加载,项目完成时合并压缩模块. 一.基本用法: 1.外链文件,data-main中为外链的文件名,无需加后缀: <script data-main="js/main" src="require.js"></script> 2.

requirejs使用笔记

一.requirejs为何会多次加载两次data-main文件 文件目录: html页面: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>require-demo第一章</title> </head> <body> <script type="text/javas

RequireJS学习笔记(转)

前言 进入移动前端是很不错的选择,这块也是我希望的道路,但是不熟悉啊... 现在项目用的是require+backbone,整个框架被封装了一次,今天看了代码搞不清楚,觉得应该先从源头抓起,所以再看看require了. 上午是到处搜集的资料,下午我们来看原生的API吧: http://www.requirejs.org/docs/api.html#config PS:我英语很烂,各位将就着看吧,看到红色就说明老夫拿不准...... 加载javascript文件 RequireJS采用不同的方法来

requireJS学习笔记

main.js requirejs.config({ baseUrl: 'scripts/lib',     paths: { app: '../app',             style:'../../style',             resources:'../../resources',             css:'require-css/css',             jquery: 'jquery', formBootstrap:'formValidation/di

requireJS学习笔记一

requireJS简介 requireJS是一个非常小巧的javascript模块载入框架,很好的实现了AMD规范. requireJS解决了以下问题: 1.异步加载js,防止js加载阻塞页面渲染: 2.管理js模块之间的相互依赖关系,便于代码维护. data-main入口 requireJS在加载过程中会检测script标签的data-main属性: 1 <script data-main="js/app" src="js/require.js">&l

avalon学习笔记ui篇-如何将avalon默认的amd模型禁止,以及用require重写。

一.如何禁止avalon自带的amd模型 1.采用avalon.shim.js这个文件,这个文件删除了原本自带的amd模型,不需要手动删除,修改. 2.打开avalon.js这个文件,搜索avalon.config,将true改为false. 二,下载text.js和css.js 1.因为avalonUI依赖了html文件和css文件. 2.并且将text.js和css.js,在配置中预加载 priority:['text','css'] 三.完整配置项 require.config({ //b

WeX5学习笔记

目录 WeX5学习笔记... 1 1.轻松看透WeX5产品能力和技术... 1 2.WeX5可以怎么玩?... 3 一.纯本地App. 3 二.关联一个网站,希望默认就打开某页... 4 三.UI设计器... 4 四.打包神器... 4 五.标准玩法... 4 3.WeX5 App与服务端交互原理... 4 4.Account示例程序... 5 5.Takeout示例程序... 7 5.1Index.w.. 7 5.2mapActivity.w.. 13 问题... 13 6.页面间交互视频..

avalon学习笔记ui篇-datepicker篇

一.介绍 首先avalon是我接触的第一个mvvm框架,angularjs也能实现基本同样的功能,但是老外的产物都是比较先进的,他们早已放弃在IE下摸爬滚打,作为大天朝的我们,还是必须要矜矜业业的伺候着IE6,这就是我为什么选择avalon,没用angularjs的原因.官方文档都是老写法,这让我忍不住深深的吐槽正美,好吧,维护一个框架是艰难的,正美加油吧. 二.日历插件篇datepicker 官方文档的参数: <!DOCTYPE HTML> <html> <head>

require学习笔记(一)

官网文档,看着有点云里雾里,个人写的文档又五花八门,好吧,我只能自己看遍各种文档,自己总结了.去粗取精的理解. 一.概念,模块化的管理 1.以module ID代替URL地址 2.相对于baseUrl的地址来加载所有代码 3.在<script>标签中有一个特殊属性data-main="",requirejs使用data-main来启动js加载过程,baseUrl一般设置到与该项目属性相一致的目录. <script tyoe="text/javascript&