
图Leaflet插件发布的流程

一个比较复杂的插件文件结构代码如下:
• 代码约定。每个人都有不同的习惯,但编写的代码要符合人们的阅读习惯。
• 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的模块加载程序中。
当插件发布成功后,该插件会在Leaflet官网的插件列表中显示出来。发布一个Leaflet插件的步骤如下。
(1)获取Leaflet存储库。
(2)确认类别:在docs/plugins.md文件中,找到插件应该插入的部分,添加与插件相关的信息和链接。
(3)提交代码。
(4)通过审核。
一旦提交请求,Leaflet维护者将快速查看用户的插件。如果上传的Leaflet插件符合规范要求,则会很快通过审核,提示插件上传成功。