• GIS前端编程-Leaflet插件发布



    Leaflet具有强大的插件生态系统。Leaflet插件页面列出了几十个很好的插件,并且每周都有很多插件加入插件资源库中供用户使用。
    用户根据一定的标准规范完成插件的功能和相关文件说明,然后上传文件,通过审核后即可正式完成插件的发布。Leaflet插件发布的流程如图所示。

    在这里插入图片描述

    图Leaflet插件发布的流程

    1. Leaflet插件规范(准备文件)
      Leaflet插件的开发和发布,需要遵循1. Leaflet插件规范(准备文件)
      Leaflet插件的开发和发布,需要遵循些质量标准和扩展规范。
      (1)演示文件。
      • 存储。Leaflet插件的存储位置是一个单独的GitHub库。
      • 命名。插件命名形式为Leaflet.MyPluginName,也可以使用其他形式(如leaflet-my-plugin-name),只要确保在名称中包含Leaflet一词,就可以清楚地看到它是一个Leaflet插件。
      • 实例文件。在发布插件的文件中要包含一个demo文件。因为,人们在寻找插件时,会先浏览这个插件的实例文件。演示最简单的方法是使用GitHub页面,最好在存储库中创建一个GitHub页面分支并向它添加一个index.html页面。
      • 自述文件。需要建立一个README.md(或者链接一个内容相似的网站),最低限度应该包含以下事项:插件名称、一个简单简洁的描述、要求(版本、其他外部依赖项、浏览器或设备兼容性)、演示的链接、插件说明、简单实例代码。
      • 许可文件。每个开源存储库都应该包含许可文件,如MIT License和BSD 2-Clause License。
      (2)代码。
      • 文件结构。保持文件结构干净、简单,这样能够使其他用户很容易阅读你的插件文件,进行快速学习。一个最基本的插件文件结构代码如下:在这里插入图片描述

    一个比较复杂的插件文件结构代码如下:在这里插入图片描述
    • 代码约定。每个人都有不同的习惯,但编写的代码要符合人们的阅读习惯。
    • API插件。不要在插件中公开全局变量。如果有一个新类,则直接把它放在L命名空间(L.MyPlugin)中。如果继承了一个现有类,则使其成为子属性(L.TileLayer.Banana)。每个类都应该用驼峰式命名法进行命名,如L.TileLayer.Banana。如果想要给现有的Leaflet类添加新的方法,则可以这样做L.Marker.include({myPlugin: …})。
    函数、方法、属性和工厂名称应该使用驼峰式命名。类名字母大写应该遵循驼峰式命名规则。
    如果函数中有很多参数,则考虑定义一个参数对象(在可能的情况下设置默认值,这样用户就不需要指定所有的值),代码如下:在这里插入图片描述

    (3)NPM发布。NPM(节点打包模块)是JavaScript的包管理器和代码存储库。在NPM上发布模块允许其他用户快速查找和安装插件,以及其他依赖于插件的插件。NPM有一个优秀的开发者指南来帮助用户完成这个过程。当用户发布插件时,就在package.json文件中添加一个依赖于Leaflet的依赖项。当用户安装软件时,Leaflet将会被自动安装。
    下面是一个package.json文件,用于描述一个Leaflet插件,代码如下:在这里插入图片描述

    (4)模块加载程序。模块加载程序(RequireJS和Browserify)实现了模块系统,如AMD(Asynchronous Module Definition)模块和CommonJS模块,以允许用户模块化加载代码。通过遵循基于通用模块定义的模式,可以将对AMD模块和CommonJS模块加载程序的支持添加到Leaflet插件中,代码如下:在这里插入图片描述

    现在,插件可以作为AMD模块和CommonJS模块使用,并且可以用于RequireJS和Browserify的模块加载程序中。

    2. Leaflet插件上传(上传文件)

    当插件发布成功后,该插件会在Leaflet官网的插件列表中显示出来。发布一个Leaflet插件的步骤如下。
    (1)获取Leaflet存储库。
    (2)确认类别:在docs/plugins.md文件中,找到插件应该插入的部分,添加与插件相关的信息和链接。
    (3)提交代码。
    (4)通过审核。
    一旦提交请求,Leaflet维护者将快速查看用户的插件。如果上传的Leaflet插件符合规范要求,则会很快通过审核,提示插件上传成功。

  • 相关阅读:
    VR航天科普体验馆VR航空馆规划遨游太空感受其中乐趣
    数智化发展助力建筑行业变革,B2B电子商务平台整合行业资源构筑B2B电商新格局
    点击劫持攻击和预防
    软件架构设计(九) 架构评估(复审)
    分析key原理
    【无标题】
    【音视频|ALSA】SS528开发板编译Linux内核ALSA驱动、移植alsa-lib、采集与播放usb耳机声音
    使用k8s helm离线部署spark-operator(私有仓库)
    第五章. 可视化数据分析分析图表—常用图表的绘制1—折线图,柱形图
    两台同一局域网下的电脑实现共享文件夹
  • 原文地址:https://blog.csdn.net/leva345/article/details/132928021