1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- /**
- * cmd 内部定义
- * build用
- */
- // 模块存储
- var _modules = {};
- function define ( id, deps, factory ) {
- _modules[ id ] = {
- exports: {},
- value: null,
- factory: null
- };
- if ( arguments.length === 2 ) {
- factory = deps;
- }
- if ( _modules.toString.call( factory ) === '[object Object]' ) {
- _modules[ id ][ 'value' ] = factory;
- } else if ( typeof factory === 'function' ) {
- _modules[ id ][ 'factory' ] = factory;
- } else {
- throw new Error( 'define函数未定义的行为' );
- }
- }
- function require ( id ) {
- var module = _modules[ id ],
- exports = null;
- if ( !module ) {
- return null;
- }
- if ( module.value ) {
- return module.value;
- }
- exports = module.factory.call( null, require, module.exports, module );
- // return 值不为空, 则以return值为最终值
- if ( exports ) {
- module.exports = exports;
- }
- module.value = module.exports;
- return module.value;
- }
- function use ( id ) {
- return require( id );
- }
|