jQuery技术

require.js学习总结(2)

字号+ 作者:H5之家 来源:H5之家 2017-06-28 13:02 我要评论( )

在 require 一个 js 文件的时候,一般不需要加上后缀名。如果加上后缀名,会按照绝对路径加载。没有后缀名,是按照下面的路径加载: script data-main=js/main src=js/require-jquery.js/script 也就是默认加载 dat

在 require 一个 js 文件的时候,一般不需要加上后缀名。如果加上后缀名,会按照绝对路径加载。没有后缀名,是按照下面的路径加载:
<script data-main="js/main" src="js/require-jquery.js"></script> 也就是默认加载 data-main 指定的目录,即 js/main.js 文件所在的目录。当然,你可以通过配置文件修改。
2、define 定义模块方法只能用在独立的js文件中,不能在页面中直接使用。
否则会报 Mismatched anonymous define() module 错误。

3、在代码中require一个文件多次,不会导致浏览器反复加载

不会,这是 RequrieJS 的优点,即使你反复 require 它,它只加载一次。

8、require深入

1、cdn回退

其支持当CDN加载不正确时,回退加载本地相应的库。我们可以通过require.config达到这个目的:

requirejs.config({ paths: { jquery: [ '//cdnjs.cloudflare.com/ajax/libs/jquery/2.0.0/jquery.min.js', 'lib/jquery' ] } }); 2、没有依赖?对象字面量?没问题!
当你写一个没有任何依赖的模块,并且只是返回一个对象包含一些功能函数,那么我们可以使用一种简单的语法:
define({ forceChoke: function() { }, forceLighting: function() { }, forceRun: function() { } }); 很简单,也很有用,如果该模块仅仅是功能的集合,或者只是一个数据包。
3、循环依赖

在一些情况中,我们可能需要模块moduleA和moduleA中的函数需要依赖一些应用。这就是循环依赖。
// js/app/moduleA.js define( [ "require", "app/app"], function( require, app ) { return { foo: function( title ) { var app = require( "app/app" ); return app.something(); } } } ); 4、得到模块的地址

如果你需要得到模块的地址,你可以这么做……
var path = require.toUrl("./style.css"); 5、JSONP
我们可以这样处理JSONP终端:
require( [ "?callback=define" ], function (data) { console.log(data); }); 9、r.js压缩

在压缩模块前,需要写一个配置文件,说明主模块名,压缩后的文件名,哪些模块不要压缩

没有使用 define 定义的模块都不要压缩,包括 jquery,backbone 等库及其插件

//build.js ({ baseUrl: '.', paths: { 'jquery': 'empty:', 'underscore': 'empty:', 'backbone': 'empty:', }, name: 'main', out: 'main.min.js' }) 压缩命令:
node r.js -o build.js 更多require.js学习链接

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • jquery基础研究学习【效果】

    jquery基础研究学习【效果】

    2017-06-27 12:02

  • 学习jQuery安卓手机版下载v1.0

    学习jQuery安卓手机版下载v1.0

    2017-06-27 09:00

  • require.js入门教程

    require.js入门教程

    2017-06-26 17:01

  • jquery学习之路之测验错题集

    jquery学习之路之测验错题集

    2017-06-26 15:02

网友点评