block customStyle //- HTML5 shim, for IE6-8 support of HTML5 elements. All other JS at the end of file. | -->

4 应用框架代码介绍

在上一章介绍的应用编辑页面中,用户可以看到以下的应用代码结构: 用户可看到以下的应用框架代码结构:

应用框架代码介绍

在以上代码文件结构中,应用的框架代码中包含了NPM包的声明文件package.json、应用的API规范api.json和API参数的JSON schema定义文件schema.json、应用的入口代码device.js,以及应用中定义的两个服务service1和service2,以及其下的两个API实现文件等。

以下分别对这些文件做简要介绍:

文件名 描述

package.json

标准的node.js NPM包声明文件,包含应用包的名称、版本、作者、依赖包等信息。

应用包package.json文件的范例内容如下:

应用框架代码介绍

应用包的名称、版本号、作者信息分别包含在package.json文件的name, version, 和author字段中。

为保持与NPM对包名称和版本号规范的兼容,系统目前对name和version字段的取值存在以下限制:

  1. name字段的取值不能包含中文或特殊字符,只能以小写英文开头,以英文或数字结尾、
  2. version字段的取值必须满足semver规范的规定。简单举例而言,满足semver规范的版本取值必须符合 “主要版本号.次要版本号.补丁版本号”的规则,例如“1.3.2”, “0.2.11”等。而“0.2”, “1.x”等版本名则不符合semver规定。

系统会检查package.json文件中name和version字段的取值并在不满足上述要求时给出相应的错误提示。

关于package.json文件内容的更多信息可参考https://docs.npmjs.com/getting-started/using-a-package.json

index.js

应用的声明文件。通常情况下本文件无需任何改动

device.js

应用的入口文件。该文件中包含应用的构造函数Device。该文件的注释说明如下图所示:

应用框架代码介绍

通常情况下,如果用户不需要自定义的应用初始化代码,本文件无需任何改动。如果需要对应用添加初始化代码,例如初始化到数据库的连接等,用户可以在Device构造函数中添加需要的初始化代码。

api.json

应用的API规范。从前述的应用API规范设计向导中得到。通常情况下本文件无需任何改动

schema.json

应用的API参数规范。从前述的应用API规范设计向导中的schema编辑器中得到。通常情况下本文件无需任何改动。但熟悉JSON schema规范的用户可以直接编辑本文件,为API添加或删除参数字段、改变类型定义等等。改动后的结果可在调试环境下实时反映在API测试工具中。

service1.js

service1服务的入口代码。通常情况下本文件无需任何改动

service1-api1.js

service1服务下api1的实现代码。用户在此处填写api1的具体实现,包括处理API调用参数,以及返回API调用结果。该文件的注释说明如下:

应用框架代码介绍

service2.js

service2服务的入口代码。通常情况下本文件无需任何改动

service2-api2.js

service2服务下api2的实现代码。用户在此处填写api2的具体实现,包括处理API调用参数,以及返回API调用结果。以下用一个简单的moment UTC时间获取调用对该文件注释说明如下:

应用框架代码介绍

用户可以以上的API实现框架代码为蓝本,以node.js的异步调用方式,配合优秀的node.js第三方开源NPM组件,例如async, lodash等,在应用内部使用和处理纯粹的JSON格式对象数据,组织出更复杂和高效的一步并发应用逻辑和数据处理流程。或者使用mysql, pg, mssql, mongoose等开源NPM组件,高效对接到各类数据库,执行查询或其他操作,并从这些组件中直接获取JSON数据用于进一步处理,或者返回给API的调用方。

回到顶部