# cone-app-template **Repository Path**: conecli/cone-app-template ## Basic Information - **Project Name**: cone-app-template - **Description**: ISV本地开发工程模板 - **Primary Language**: TypeScript - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-09-19 - **Last Updated**: 2025-02-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # isv-app-template 本项目是为店铺 ISV 模块提供本地开发环境,以便快速构建和调试 ISV 模块。 注意:此项目解决了高版本 `MacOS` 的 Caddy 运行问题,Taro 版本为 v3.5.4 # 前置条件 本项目提供了两套方案解决 webserver 的启动问题,根据个人需求二选一即可,内置了 Caddy v2 的方案。 ## 1、使用 caddy v2 配置 需要自行安装 caddy v2 并配置好相关环境(内置 Caddy v2 方案不需要手动安装) **Mac 电脑推荐使用 brew 安装 caddy** ```bash brew install caddy ``` 参考文档: https://caddy2.dengxiaolong.com/docs/install#homebrew **对应的 Caddy v2 配置:** 项目根目录的 Caddyfile 文件 ## 2、或者使用 Nginx 配置 需自行安装 Nginx 并配置好相关环境 **Mac 电脑推荐使用 brew 安装 nginx** ```bash brew install nginx ``` 安装好后,查看 nginx 的配置信息 ```bash brew info nginx ``` # 安装依赖 **1、在最外层执行命令:** ```bash yarn install ``` # SwitchHost 配置 本地 SwitchHost 需要配置以下 host ```bash 127.0.0.1 isvdev.jd.com 127.0.0.1 isveditor.jd.com 127.0.0.1 isviframe.jd.com ``` # 启动 ## 启动 webserver **1、启动 Caddy** 在根目录执行命令: ```bash caddy run ``` **2、或者启动 Nginx** 在控制台执行命令: ```bash nginx -c /yourpath/nginx/nginx.conf ``` 注意:以上`nginx.conf`路径需要替换为你自己项目里的配置文件绝对路径 ## 启动项目 执行最外层 package.json 中的命令 启动服务和本地工程进行开发 在项目根目录执行命令 **Mac 上执行命令** ```bash yarn adminStart ``` or **windows 上执行命令** ```bash yarn start ``` # 开发 [开发手册](https://opendoc.jd.com/shop/newisv/) ## 目录结构 一个典型的 ISV 本地开发项目目录结构如下: ``` . ├── .cone //标识松果编辑器工作空间根目录的隐藏文件 勿动 ├── .gitignore ├── README.md //整个工程的说明文档 ├── build │   └── runner.js // 最外层执行启动命令的脚本 ├── cone-service │   ├── README.md │   ├── config │   │   └── index.js // 本地服务的配置 │   ├── controller │   │   ├── floorController.js // 楼层相关API操作控制器 │   │   ├── moduleConfigController.js // 模块配置API操作控制器 │   │   ├── moduleController.js // 模块API相关操作控制器 │   │   └── pageController.js // 页面维度控制器 │   ├── datas │   │   └── floors.json // 楼层实例数据会放在这儿,【代码自动生成】 │   ├── middleware // koajs的中间件 │   ├── package.json │   ├── public // 静态资源存放的位置,可以通过域名访问 │   │   └── logo.png │   ├── routers │   │   ├── editRouter.js // 编辑器API相关路由定义 │   │   ├── index.js │   │   └── pageRouter.js // 页面访问路由定义(暂无使用) │   ├── server.js │   ├── service │   │   ├── mockdata.js // 模拟数据 │   │   └── proxy.js // 一些业务层操作方法 │   ├── util // 常用工具方法 │   └── views // 页面模板定义 ├── package.json ├── cone-module // ISV本地模板开发工程 │   ├── README.md │   ├── bin │   │   ├── add.js // 本地添加模板命令脚本 │   │   ├── delete.js // 本地删除模板命令脚本 │   │   ├── template // 命令行使用的模板代码,【勿动】 │   │   │   └── BasicModule │   │   └── utils │   ├── config │   │   ├── dev.js │   │   ├── index.js // 本地装修工程相关配置 │   │   └── prod.js │   ├── libs │   │   └── jquery-1.12.4.min.js │   ├── package.json │   ├── project.config.json │   ├── project.tt.json │   ├── src │   │   ├── app.config.ts │   │   ├── app.scss │   │   ├── app.ts // 装修工程入口APP │   │   ├── common │   │   │   └── INTERFACE.ts // 接口API定义 │   │   ├── index.html // 装修工程HTML模板定义 │   │   ├── jdUtil │   │   │   └── index.js │   │   ├── modules // ISV模板目录,包含所有ISV模板 │   │   │   ├── Banner // 预留的轮播模板开发示例,可通过【命令行`npm run deleteModule`】删除 │   │   │   ├── BasicModule // 预留的基础数据源模板示例,可通过【命令行`npm run deleteModule`】删 │   │   │   │   ├── configData.json // 模块配置界面保存时导出数据,自动生成【勿动】 │   │   │   │   ├── editProperty.json // 模块右侧配置项表单配置化json,可以手动修改此文件开发数据源配置(目前需要手动刷新看下效果) │   │   │   │   ├── floorData.json // 楼层渲染模拟数据,自动根据配置保存生成【勿动】 │   │   │   │   ├── index.module.scss // 模块CSS,开发时可修改 │   │   │   │   ├── index.tsx // 模块渲染js逻辑,开发时请修改 │   │   │   │   └── moduleInfo.json // 模块左侧列表中的定义数据,其中moduleId、middleTemplateId,moduleFlag【勿动】,其他字段可以修改调整 │   │   │   ├── Header // 店招模块,【不要删除】 │   │   │   └── components.js // 注册所有模板画布渲染的地方 │   │   └── pages │   │   ├── editor │   │   │   └── index.tsx // 编辑器页面入口 │   │   ├── iframe │   │   │   └── index.tsx // iframe页面入口 │   │   └── preview │   │   └── index.tsx // 预览页面入口 │   ├── tsconfig.json // vscode编辑器相关配置 ```