入门使用

还是先看官网: requirejs.org,中间就有一个getting start, 点击开始入门。

下载

要先使用,先要搭建环境,对于javascript文件,下载即可。进入GET REQUIREJS下载最新版本的requireJS文件。

在下载页面,还有其他几个文件:

  • r.js: 优化,压缩文件的工具
  • text: 加载文本文件的插件
  • domReady: 确保文件在domReady后执行的插件
  • cs: 支持CoffeeScript的插件
  • i18n: 多语言版本支持的插件

    添加到项目中

下面的例子假设所有的文件都在script目录下,目录结构为:

  1. project-directory/
  2. project.html
  3. scripts/
  4. main.js
  5. helper/
  6. util.js

把requireJS加入到script目录下:

  1. project-directory/
  2. project.html
  3. scripts/
  4. main.js
  5. require.js
  6. helper/
  7. util.js

接下来,在<head>中或者<body>之前,插入:

  1. <!-- data-main attribute tells require.js to load
  2. scripts/main.js after require.js loads. -->
  3. <script data-main="scripts/main" src="scripts/require.js"></script>

data-main指出的脚本文件,是异步加载的。我们这里的main就是script/main.js文件,里面内容可以如下:

  1. require(["helper/util"], function(util) {
  2. //This function is called when scripts/helper/util.js is loaded.
  3. //If util.js calls define(), then this function is not fired until
  4. //util's dependencies have loaded, and the util argument will hold
  5. //the module value for "helper/util".
  6. });

这里提一下requiredefine的区别:

  • require的依赖只要自身加载完成,就会调用
  • define定义的,所有依赖都加载完了才会被触发

    编写代码

真正详细的入门,其实在Require API

但是一般而言,会在data-mian的文件中,写入配置文件,类似:

  1. require.config({
  2. /* global metadata */
  3. baseUrl: './',
  4. waitSeconds: 0,
  5. paths: {
  6. 'domReady': 'bower_components/domReady/domReady',
  7. 'modernizr': 'bower_components/modernizr/modernizr',
  8. "jquery": "bower_components/jquery/dist/jquery",
  9. 'jquery.easing': 'bower_components/jquery.easing/js/jquery.easing'
  10. },
  11. shim: {
  12. 'jquery.easing': ['jquery']
  13. },
  14. packages: [{
  15. name: 'gsap',
  16. main: '',
  17. location: 'bower_components/gsap/src/uncompressed'
  18. }]
  19. });

原文: https://leohxj.gitbooks.io/front-end-database/content/javascript-modules/requirejs/requirejs-intro.html