待解决问题:
- 公共组件的名字冲突问题(组件管理)
- 同一模块在不同客户方的需求不一样,怎么适配
- 框架规范的维护
建议的解决方法:
- 前端需要对页面完全控制【未实现】
- [需要过程]目前的php主页还控制着CMS的权限处理,迁移到html需要和后端的配合。
- 接口平台,及前端模拟数据的接入系统的方式【未实现】
- [马上进行]代码model层使用model工厂通过接口配置文件来产出model。接口平台围绕接口配置文件做实现:1.管理配置 2.输出配置
- 前端代码的可测试性【未实现】
- 结合框架考虑
- 组件管理,component.config【未实现】
- 加载器,方便管理依赖
- 使用requirejs/modjs,确认使用commonjs规范
- MVVM
- KnockoutJs/VueJs/...
- 组件初始化命令,模块初始化命令
目录结构
- v3
- common
- lib // 公共js(jquery,NBOSS)/公共样式/公共图片/其他非模块化静态资源
- js
- css
- img
- ...
- c_base // 命名需要考量。基础组件,如表格、表单验证、树
- c_bus // 命名需要考量。业务组件,如选择CP、选择业务号
modelFactory.js // model工厂
- base
- moduleA
- js
- A1.js
- A2.js
- css
- A.css
- img
- A1.html
- A2.html
- moduleB
- ...
- ext_tw
- ext_gx
- ...
和薛老师讨论结果:
- 上面的目录结构
-
model工厂
- 模块加载器
define('base:module1/js/module1', function(require, exports, module){
require('../css/module1.css');
require('jquery');
//require('Starcor.S67');
var Starcor = require('Starcor.S67.MVC');
var NOBSS = require('NBOSS');
var model = require('modelFactory').getModel('double_epg');
model.get_epg_list(params).then(function(data) {
show(data);
}).done().catch();
module.exports = {
destory: function() {
}
};
});