github.com/easysoft/zendata@v0.0.0-20240513203326-705bd5a7fd67/client/README.md (about)

     1  # ZD 客户端
     2  
     3  ## 开发
     4  
     5  ### 安装依赖
     6  
     7  执行:
     8  
     9  ```
    10  npm install
    11  ```
    12  
    13  ### 启动调试模式
    14  
    15  启动默认的调试模式,此时会预先自动启动 UI 开发服务器和 ZD 开发服务器。
    16  
    17  ```
    18  npm run start
    19  ```
    20  
    21  参考:https://www.electronforge.io/cli#start
    22  
    23  ### 环境变量
    24  
    25  在调试模式下可以通过制定环境变量来设置 ZD UI 服务访问地址和 ZD 可执行程序位置。
    26  
    27  * `UI_SERVER_URL`:ZD UI 服务访问地址或静态资源文件目录,如果不指定会自动进入 `../ui/` 目录执行 `npm run serve` 获取开发服务器地址;
    28  * `UI_SERVER_PORT`:ZD UI 服务端口,如果不指定则使用 `8080`;
    29  * `SERVER_EXE_PATH`:ZD 服务可执行文件位置(相对于 `/client` 目录),如果不指定则会自动进入 `../cmd/server/` 目录下执行 `go run main.go -p 8085` 启动 ZD 服务器。
    30  * `SERVER_CWD_PATH`:ZD 服务运行目录;
    31  * `SKIP_SERVER`:跳过启动 ZD 服务,适用于 ZD 服务已经在外部启动的情况。
    32  
    33  ### 特殊调试模式
    34  
    35  **模式一:使用外部 UI 服务**
    36  
    37  ```
    38  SKIP_SERVER=1 UI_SERVER_URL=http://localhost:8080 npm run start
    39  ```
    40  
    41  **模式二:使用本地 UI 静态文件目录**
    42  
    43  ```
    44  UI_SERVER_URL=../ui/dist UI_SERVER_PORT=8080 npm run start
    45  ```
    46  
    47  **模式三:自定义 ZD 服务执行文件路径**
    48  
    49  ```
    50  SERVER_EXE_PATH=bin/darwin/zd npm run start
    51  ```
    52  
    53  **模式四:跳过启动 ZD 服务,使用外部 ZD 服务**
    54  
    55  ```
    56  SKIP_SERVER=1 npm run start
    57  ```
    58  
    59  **模式五:综合使用外部 UI 服务和外部 ZD 服务**
    60  
    61  ```
    62  UI_SERVER_URL=http://localhost:8080 SKIP_SERVER=1 npm run start
    63  ```
    64  
    65  ## 代码检查
    66  
    67  ```
    68  npm run lint
    69  ```
    70  
    71  ## 构建
    72  
    73  ```
    74  npm run make
    75  ```
    76  
    77  参考:https://www.electronforge.io/cli#make
    78  
    79  ## 打包
    80  
    81  ```
    82  npm run package
    83  ```
    84  
    85  参考:https://www.electronforge.io/cli#package
    86  
    87  打包之前确保如下目录有相应的资源文件:
    88  
    89  * `ui/dist/`:包含 UI 服务相关的所有文件
    90  * `client/bin/win32/`:包含适用于 Windows 的 ZD 程序;
    91  * `client/bin/darwin/`:包含适用于 macOS 的 ZD 程序;
    92  * `client/bin/linux/`:包含适用于 Linux 的 ZD 程序;
    93  
    94  ## 发布
    95  
    96  ```
    97  npm run publish
    98  ```
    99  
   100  参考:https://www.electronforge.io/cli#publish