# XHDWXZJ **Repository Path**: icococool/XHDWXZJ ## Basic Information - **Project Name**: XHDWXZJ - **Description**: ABP+moduleZero开源框架下的学习项目; UI:webix.ui框架 - **Primary Language**: Unknown - **License**: GPL-2.0 - **Default Branch**: develop - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2015-11-21 - **Last Updated**: 2023-02-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README requireJS: > 就像一个c程序总有一个 main 方法作为入口一样,上面这种写法,做了几件事情: > 1、加载了 require-jquery.js 文件。注意,官方提供了 require.js和 jquery 的打包版本,推荐。 > 2、在加载之后,加载入口文件 js/main.js ,注意,main.js 写进去的时候,不需要后缀名。 > 你的所有其他 js 模块文件,都可以写在 main.js 里面,通过 main.js 加载。 在data-main指定的主文件 main.js中,通过require.config来配置,并加载其他js模块: require.config({ > baseUrl: 'js/', > paths: { > "backbone": "backbone", "underscore": "underscore" }, > shim: { > "backbone": { deps: [ "underscore" ], exports: "Backbone" > }, "underscore": { exports: "_" } } }); baseUrl:指定基路径 paths:模块加载路径 shim:加载非AMD规范模块 exports值(输出的变量名),表明这个模块外部调用时的名称; deps数组,表明该模块的依赖性。 主模块可以将项目基础模块加载加来并定义全局方法等 AMD规范定义了一个自由变量或者说是全局变量 define 的函数。 define( id?, dependencies?, factory ); AMD也采用require()语句加载模块,但是不同于CommonJS,它要求两个参数: >   require([module], callback); 第一个参数[module],是一个数组,里面的成员就是要加载的模块;第二个参数callback,则是加载成功之后的回调函数。 > AMD规范 https://github.com/amdjs/amdjs-api/wiki/AMD > 第一个参数 id 为字符串类型,表示了模块标识,为可选参数。若不存在则模块标识应该默认定义为在加载器中被请求脚本的标识。如果存在,那么模块标识必须为顶层的或者一个绝对的标识。 第二个参数,dependencies ,是一个当前模块依赖的,已被模块定义的模块标识的数组字面量。 第三个参数,factory,是一个需要进行实例化的函数或者一个对象。 创建模块标识为 alpha 的模块,依赖于 require, export,和标识为 beta 的模块 > define("alpha", [ "require", "exports", "beta" ], function( require, exports, beta ){ export.verb = function(){ return beta.verb(); // or: return require("beta").verb(); } }); 一个返回对象字面量的异步模块 define(["alpha"], function( alpha ){ return { verb : function(){ return alpha.verb() + 1 ; } } }); 无依赖模块可以直接使用对象字面量来定义 define( { add : function( x, y ){ return x + y ; } } );