如何设计大型网站的前端 JavaScript 框架
具体的架构方法可能会有很多种适用的情形也不一样,只说一些通用的东西。
相对大型的项目在前端 JS 方面有几个需要达成的目标: 代码逻辑分层便于多人协作开发各部分代码模块化,可以按需加载保持全局变量的清洁可进行单元测试 用 GoogleClosure 时对应如下:
代码由底层类库(GoogleClosure)提供,项目代码分为几部分:常量定义、Helper 方法、项目相关的 UI 组件,如 InPlaceEditor, VoteBar 等、按功能模块划分的 Module,如 LoginPanel, AnswerList 等、程序入口 main 函数及各大模块(以页面或一组页面划分)入口,如 ProfilePage, HomePage、单元测试:针对UI模块的测试和界面元素呈现测试,可批量执行。
2 . 开发人员负责各自模块的开发及测试编写,界面和功能测试(如果涉及异步请求,使用 Mock 对象)全部通过之后与后台联调。
3. 使用 ClosureBuilder 跟据各模块的依赖关系生成 dependency 文件,并分别进行 build(压缩、混淆),每页面根据所属模块引入一至二个 JS 文件
4. 使用 goog.provide() 方法划定命名空间。
5. 使用 GoogleClosure 自带的单元测试工具编写测试用例并调试。