# # 脚手架工程 (Scaffold Demo)

Scaffold demo 包含了开源 UI 的 addon，其展示了如何自定义 UI 以及如何使用声明文件。该 demo 在 `./examples/UIExtension/scaffoldDemo` 目录下。

## # 如何运行 demo

### # 设置库

在 demo 根目录下执行命令 `npm run setup`。

该命令执行了以下步骤:

- 将 `lib` 目录作为本地 npm 仓库添加到依赖列表。
- 安装所有第三方依赖，这些依赖主要用于开发环境搭建。

### # 运行 Demo

执行命令：`npm start`

## # 源码结构

`src` 文件夹包含如下内容：

    │  addons.js                        --- 展示如何使用 foxit 提供的插件.
    │  index.js                         --- javascript 入口文件.
    │
    └─addonExample                      --- addon 的样例.
        │  addon.info.json              --- addon 入口文件, 该文件指定了所有 addon 需要的其他文件.
        │  index.css                    --- 样式表
        │  index.js                     --- addon 的脚本入口文件。不能更改文件名。
        │
        ├─locales                       --- i18n 多语言文件
        │      en-US.json
        │      zh-CN.json
        │
        ├─stateHandlers                 --- 继承自 IStateHandler 的 State Handler 类
        │      addTextField.js
        │
        └─templates
                custom-dialog.art       --- 自定义对话框的 art 模板.
                tab-template.art        --- 自定义工具栏的 art 模板.

### # 入口文件

`src/addonExample/index.js` 是 addon 的脚本入口文件。有关详细信息，请查看 源文件。