维护人:戴荔春 (6016)
将一些框架开发中的特别注意要点整理成一篇文档
框架是基于seajs开发的,所以项目中使用框架,也要基于seajs开发,需要注意
请一定要确定,用seajs开发时,只允许有一个JS入口文件,决不允许出现多个入口的现象
seajs,通过use使用js时,必须是完整路径
//以下必须使用完整路径 .js不能省略 seajs.use('js/bizlogic/common/doc_commonStaticPage.js');
使用seajs时,所有的js都必须是通过别名引入,不允许通过路径引入
//这个为正确的引入方式 var CodePretty = require('doc_commonGooleCodePrettfy_Bizlogic'); //这个为错误方式 var CodePretty = require('js/bizlogic/common/doc_commonGooleCodePrettfy.js'); //所有的别名都定义到 js/bizlogic/config/seaBizConfig.js 文件中
由于采用自动构建方案来解决缓存和资源处理等问题,而自动构建需要遵循一定的目录规范,所以如下
自动构建项目中,config.js配置文件移到config文件夹中了,并且通过config_Bizlogic
别名引入
另外seaBizConfig.js的作用是用来记录别名引用,包括自定义seajs模块的别名,和自定义的普通js别名
为了自动构建最终替换资源索引时能够正确运行,bizlogic文件夹下的所有js模块或js库必须通过别名引入
bizlogic下的seajs模块引用如下(别名引入)
//seajs必须通过别名引入 var CommonAffair = require('doc_commonAffair_Bizlogic');
bizlogic下的普通js库引入如下(也是别名)
CommonTools.importFile([ //通用js 'libs/mui/mui.min.css', 'libs/mui/common.css', 'css/common/commonWeichat.css', 'css/common/common.css', 'libs/mui/mui.min.js', //由于这个文件在bizlogic文件夹下,所以现在seaBizConfig中定义别名,然后再通过别名导入 moduleAlias.doc_frameworkDoc_menu_Bizlogic ], function() { }, false);
老版本缓存控制管理使用的是一个js加上时间戳来控制的所有css和js都通过该js的api动态写入,具体参考showcase里的源码。
自动构建 控制缓存是基于gulp自动构建工具,开发时正常源码开发,只不过采用自动构建工具进行编译出部署包,最终采用部署包部署而已。所以需要遵循自动构建注意事项
在真机调试或云打包时,manifest里有一个unpackage节点,如果文件处于该节点下面,则打包或调试时会删除对应文件
所以切记,一定要检查这个节点,确保没有误添加有用文件