← 返回文章列表

oa-codeblock项目架构设计 - 基本构建

分类:计算机/架构/oa-codeblock项目架构设计

问题

公司使用泛微的Ecology 9作为OA系统,OA提供了代码块功能,能让我们在页面中嵌入自定义的HTML、CSS和JavaScript代码,实现自定义功能。

目前看到同事的开发模式:在后台管理中打开代码块编辑界面,编写代码(主要是JS代码和CSS代码),保存,然后刷新页面查看效果。如果需要修改,就再打开编辑界面,编写,保存,刷新。如此往复。

这种模式显然非常繁琐,除了要编写代码,还要在后台管理中做很多步骤。通常代码要改很多次才能写好,因此这种模式的效率非常低。

我决定做一个开发框架,命名为oa-codeblock项目,简化整个开发流程,提高效率。

思路

  1. 代码块中不直接写JS和CSS代码,而是只引用JS脚本文件<script src="...">,CSS代码包含在脚本文件中,也就是说,最终一个脚本文件就对应一块功能,其中同时封装了行为和样式。
  2. 开发时,引用的脚本文件在本地,可直接修改其中的代码,然后刷新页面查看效果即可,不必重复保存代码块,也就是说,开发流程被简化为“编写→刷新”2步即可。
  3. 部署时,将脚本文件上传到服务器,然后将引用的脚本文件地址改为服务器即可。

实现

基于Node.js来实现开发框架,使用NPM管理依赖。

项目目录结构:

脚本文件模板template.js:用于构建脚本文件成品的模板,其中写好了在documentready时才执行JS代码,以及将CSS代码应用到<head>中,并留有占位符,以便将具体的JS和CSS代码替换进来。

框架核心代码index.js

实践表明,本开发框架显著提高了开发效率。