---
order: 1
navTitle: expressionFunction
indexTitle: 概述
---
# expressionFunction

表达式函数扩展可以扩展系统已有的函数列表，增加一个新的个性化的、业务化的、场景化的函数，方便用户使用，用户使用时可以和使用系统内部的函数一样。

系统提供了各种表达式函数（见[表达式函数](../../../../exp/func/README.md)），但在实际项目中，可能还是需要一些比较个性化的表达式函数，如：

1. 实现一个自定义的加密函数，如sm3、sm4，在前端、后端都需要用。
2. 实现一个便捷的从一段文本中提取出身份证号码的函数，在数据加工清洗过成中比较方便提取身份证。
3. 通过一个表达式函数获取用户的业务角色、岗位等信息，便于权限判断。
4. 实现时间由秒转时分秒格式自定义函数

## 快速开始

在开始之前，我们需要提前想好表达式函数的运行环境，运行环境包括前端浏览器环境、后端服务器环境、和数据库SQL环境，表达式函数不一定需要在每个环境中都能运行，能满足需求即可，可以都支持，也可以只在某个环境运行。

1. 如果能使用现有的表达式函数组合即可完成需求，那么可以直接配置[expTemplate](./package-json.md#exptemplate)，这样就不需要做其他的开发了，系统会自动适配各种运行环境。
2. 在前端浏览器环境运行，需要配置[jsScript](./package-json.md#jsscript)和[scriptFunc](./package-json.md#scriptfunc)。
3. 在后端服务器环境运行，需要配置[serverScript](./package-json.md#serverscript)和[scriptFunc](./package-json.md#scriptfunc)。
4. 在数据库SQL环境运行，需要配置[sqlTemplate](./package-json.md#sqltemplate)。

### 新建扩展{#create}

TODO

### 开发扩展{#dev}

1. 配置函数信息，见[package.json](./package-json.md)。
2. 开发需要的函数执行脚本，见[脚本开发](./script.md)。

### 测试和调试{#debug}
