---
navTitle: 脚本开发
indexTitle: 概述
---
# 脚本开发

当业务应用需要处理个性化逻辑时，可以通过脚本扩展 SuccApp 的默认能力。例如：定义业务专用表达式函数、开放后端 WEB API、在页面中处理前端交互、定制页面样式，或通过程序流和钩子脚本接入自定义逻辑。

如果不确定是否需要写脚本，或者不确定应该使用哪类脚本，先读[判断是否需要脚本](./choose-script.md)。

脚本开发按运行位置和用途分为几类：

1. [后端脚本开发](./backend/README.md)：编写 `.action.ts`，在服务器端运行脚本逻辑，常用于 WEB API、程序流、数据加工和服务端事件处理。
2. [前端脚本开发](./frontend/README.md)：编写 `custom.ts` 或页面级 `.ts`，在浏览器端处理页面交互、数据集和表达式函数。
3. 程序流脚本节点：在程序流中调用 `action_` 脚本函数，并把参数和返回值接入流程。按运行环境分为[后端程序流脚本节点](./backend/action-flow-script-node.md)和[前端程序流脚本节点](./frontend/action-flow-script-node.md)。
4. [前端自定义样式开发](./styles/README.md)：编写 `custom.less` 或页面级 `.less`，定制页面、门户、仪表板和报表样式。
5. [系统页定制](./system-pages/README.md)：定制登录页、登录对话框、系统提示页和 SSO 授权提示页。
6. [钩子脚本开发](./hooks/README.md)：通过约定文件监听系统、项目或应用事件，干预默认运行逻辑。
7. [脚本示例](./examples/README.md)：查看可复用的脚本场景和效果示例。
8. [脚本文件组织](./file-organization.md)：了解系统级、项目级、应用级和页面级脚本的存放位置及加载范围。

## 阅读路径{#reading-path}

第一次编写脚本时，建议先读[脚本文件组织](./file-organization.md)，再按要解决的问题进入对应专题。

需要查接口类型时，优先查看专题内的 API 索引：

- [后端脚本 API 索引](./backend/api-index.md)
- [前端脚本 API 索引](./frontend/api-index.md)

需要排查脚本问题时，按运行环境阅读：

- [前端脚本调试](./frontend/debug.md)
- [后端脚本调试](./backend/debug.md)

## 目录{#children}

!!! children 2 !!!
