# 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)