# MapGIS-Pan-Spatial-Map-Widgets-Frame **Repository Path**: soband/MapGIS-Pan-Spatial-Map-Widgets-Frame ## Basic Information - **Project Name**: MapGIS-Pan-Spatial-Map-Widgets-Frame - **Description**: MapGIS-Pan-Spatial-Map-Widgets的脚手架,可基于这个创建一张图的微件库。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2024-03-08 - **Last Updated**: 2024-03-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 微件开发 - 安装依赖 ``` yarn ``` - 执行快速添加微件脚本命令 为了节省开发者开发时的重复工作,脚手架新增快速添加微件的脚本命令,让开发者专注于代码的编写 ``` yarn add:widget ``` - 根据提示输入信息 ![img](./docs/images/运行时加载微件包-微件创建向导.png "微件创建向导") - 通过向导生成目录结构 根据向导操作后生成如下目录,微件内容则需要开发者自行编写。需要注意的是,微件目录在向导上最多只支持两级。向导中选择生成配置 ui 组件后会增加 setting 文件夹,配置 ui 组件的编写则在此处。 ![img](./docs/images/运行时加载微件包-微件创建目录结构.png "微件创建目录结构") - 添加微件的配置信息 在 widgets 文件夹中,我们需要对开发的微件进行相关的信息配置,让一张图加载时能够正确识别和加载。 ![img](./docs/images/运行时加载微件包-微件配置.png "微件配置") manifest.json ```json { "name": "test-widget", "author": "MapGIS", "description": "", "component": "TestWidget", "icon": "", "version": "2.0.0", "properties": { "inPanel": true, "hasConfig": true, // 决定config.json文件是否需要字段。config.json通常记录微件的配置信息 "lazyload": false, "hasUi": true, "jsFile": "widget.js", // 微件js文件 "cssFile": "widget.css", // 微件css文件 "hasSettingPage": true, // 决定是否存在配置ui字段 "settingUiComponent": "TestWidgetSetting", // 配置ui组件名 "settingJsFile": "setting.js", // 配置ui的js文件 "settingCssFile": "setting.css" // 配置ui的css文件 } } ``` - 打包命令 以上工作完成后执行打包命令将项目进行打包,为了满足调试需求,增加打包成可调式的源码脚本命令 ``` yarn build // 正常打包 yarn build:debug // 调试打包 ``` - 执行打包脚本后,项目会增加打包后的 dist-libs 文件夹,我们只需要关注其中的widget文件夹即可,在正常情况下,微件打包后生成的 js 和 css 文件默认会放在第一个微件文件夹中(若存在配置ui也会放在第一个微件文件夹中),所以多个微件的情况下,其他微件的 manifest.json 文件中的 properties 属性对应的文件需要指向第一个微件文件夹中文件的路径,如"widgets/test-widget/widget.js"。若只需要单独的某一个微件,可以按照第一个微件文件夹中的 properties 属性配置,然后将其中的 widget.js 和 widget.css 文件复制到该微件中,然后打包成 zip 即可。 ![img](./docs/images/运行时加载微件包-微件打包.png "微件打包") - 项目使用 将按上述步骤打包好的 zip 包通过管理平台的功能菜单**应用管理 -微件管理**进行主题 zip 包的上传操作。上传成功后通过功能菜单**应用管理-应用搭建**对微件进行配置,保存后登录一张图即可看到微件效果。 > 若需要对以此种方式加载的微件进行调试,只需要执行调试打包脚本命令,将对应微件上传配置后进入一张图,打开控制台正常调试即可 - link调试 在开发过程中若需要实时查看效果,通常使用link的方式进行,使用基本的link操作外,开发者只需要配置好主题的config.json和manifest.json文件即可,然后将对应的微件直接打包,将打包好的 zip 包通过管理平台的功能菜单**应用管理 -微件管理**进行主题 zip 包的上传操作。上传成功后通过功能菜单**应用管理-应用搭建**对微件进行配置,保存后登录一张图即可实时调试。 ``` yarn link // 微件脚手架执行 yarn link '@mapgis/mapgis-pan-spatial-map-widgets-frame' // 主应用中执行 // 主应用中添加 import widgetsFrame from '@mapgis/mapgis-pan-spatial-map-widgets-frame' Vue.use(widgetsFrame) ``` > link调试情况下是不需要执行打包脚本的,只需要将widgets目录下需要调试的微件定义好后通过管理平台上传即可 > > 在执行打包脚本和link的情况下,项目优先使用link模式下的代码