Kissy模块规范
KISSY.add( '模块名/路径', ['依赖的模块'], function(S,require, exports, module){ //模块回调函数(在依赖模块加载完成后执行) })
模块名称规范
第一个参数为模块名称,gulp-kmc 会自动生成,请勿手动填写模块名称,不然很容易造成模块copy到其他目录时,因为忘记修改模块名称,导致模块逻辑不执行,这是新手常犯的错误,这种情况是没有报错信息哦。
模块名称跟包配置(下一节将详细讲解)和文件路径息息相关,比如demo代码中的 'bee-demo/mods/header' ,bee-demo 是包名(一般是工程根目录名,但也可以不是对应的),mods/header 是模块相对路径,我们回归下上一节的目录结构:
细心的同学应该发现,模块名称少了 src 目录,本应该是 bee-demo/src/mods/header 才是,关于这一点下一节我们再深入探讨。
依赖模块配置
第二个为依赖模块数组,请勿手动配置。
代码中需要加载依赖模块,使用 var Node = require('node'); gulp-kmc 会自动将依赖模块添加到第二个参数。
留意:只有Kissy内置的模块不需要包名,比如依赖 io 模块,可以 var io = require('io'); 其他模块都必须有包名(下一节会讲到)。
假设你 require 个错误模块,比如 var demo = require('demo');
kissy会自动加载 http://g.tbcdn.cn/kissy/k/1.4.8/demo-min.js ,明显该文件并不存在,所以如果你的页面出现类似路径错误,就是模块包配置问题。
模块回调函数 参数的含义
- 留意:函数第一个参数永远是S(KISSY变量)
- require 为加载依赖模块函数,比如 var Node = require('node');
- exports 类似NodeJs的exports方法,导出(暴露)接口供外部使用
- module.exports 类似NodeJs的module.exports,用于导出(暴露)接口供外部使用
在Kissy 中推荐使用 module.exports.