1. 加載require.js文件javascript
<script type="text/javascript" src="js/require.js" data-main="js/main" defer async="true" ></script>
2. 加載主模塊文件css
經過<script>標籤設置 data-main="js/main" 加載主模塊文件。java
3. 異步加載require.js文件 jquery
設置 defer async="true" 實現多個瀏覽器兼容異步加載。json
4. 路徑配置瀏覽器
在main.js的頂部加入下面的代碼異步
require.config({ baseUrl: "js/", paths: { "jquery": "jquery.min", "underscore": "underscore.min", "backbone": "backbone.min" } });
5. 加載一個jquery.js文件async
define(['jquery'],function ($){ $(function(){ //console.log('jquery已經加載。'); }); });
6. 加載多個文件 函數
require(['jquery', 'underscore', 'backbone'], function ($, _, Backbone){ $(function(){ //.. }); });
7. 加載自定義模塊 ui
//加載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') ); });