# require **Repository Path**: cmsleo/require ## Basic Information - **Project Name**: require - **Description**: JavaScript加载器,可用于同步或异步加载执行任何JS文件。 - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 11 - **Forks**: 3 - **Created**: 2016-10-08 - **Last Updated**: 2023-07-31 ## Categories & Tags **Categories**: javascript-toolkits **Tags**: None ## README JavaScript加载器,可用于同步或异步加载执行任何js文件。 实例: 1、引入js文件 ``` ``` 2、配置require-config.js ``` require.config({ baseUrl : '.',//可写实际url(http://xxx.com),也可不写 group : {//定义控件组 'Base' : [ 'Constant', 'DateUtil', 'ValidUtil', 'BaseUtil' ] }, path : {//定义js文件路径不需要加js会自动加载baseUrl前缀 'Constant' : 'constants/Constant', 'DateUtil' : 'utils/DateUtil', 'ValidUtil' : 'utils/ValidUtil', 'BaseUtil' : 'utils/BaseUtil', 'JSEncrypt' : 'lib/jsencrypt', 'StatusEnum' : 'enums/StatusEnum', 'UserTypeEnum' : 'enums/UserTypeEnum' } }); ``` 3、使用require 需要使用的变量必须公布到window ``` BaseUtil.js (function(window){ function private(){ } var BaseUtil = { init:function(){ console.log('Hello World'); } } window.BaseUtil = BaseUtil; })(window); ``` 3.1、异步回调require.async, ``` /** *@param1 array or string *@param2 function */ require.async(['Base','StatusEnum'],function(){ //执行BaseUtil的方法 BaseUtil.init(); }); ``` 3.2、同步执行require.sync ``` /** *@param1 array or string */ require.sync('Base'); //执行BaseUtil的方法 BaseUtil.init(); ``` 兼容性: Safari 6+ (Mac) iOS 5+ Safari Chrome 23+ (Windows, Mac, Android, iOS, Linux, Chrome OS) Firefox 4+ (Windows, Mac, Android, Linux, Firefox OS) Internet Explorer 8+ (Windows, Windows Phone) Opera 10+ (Windows, linux, Android)