开源JS插件框架MinimaJS使用介绍

这次给大家带来开源JS插件框架MinimaJS使用介绍,开源JS插件框架MinimaJS使用的注意事项有哪些,下面就是实战案例,一起来看一下。

MinimaJS,完全开源,源码下载地址:https://github.com/lorry2018/minimajs。该框架参考OSGi规范,将该规范定义的三大插件化功能在Node上实现了。MinimaJS三个功能:动态插件化,服务和扩展。该框架基于VSCode开发、使用ES6编码,基于Node 8开发,代码量几千行,非常的简单、优雅、轻量。框架的代码结构划分清晰,命名优雅。

我们先简单看一下,如何来使用这个框架。

通过这几行代码就可以创建一个插件框架,并且从当前的plugins目录下加载插件。

每一个插件在plugins目录下,由plugin.json来定义插件的基本信息、依赖信息、服务和扩展,该文件必须在插件根目录下,并且包含。一个插件由plugin.json和其它文件构成,其它文件为可选,可以包括js、html、css文件等。如下为一个插件示例。对于plugin.json文件,除了id是必填属性,其它均为可选,这意味着最小的插件为一个只定义了plugin.json且该文件只声明插件id。

通OSGi规范类似,每一个插件可以定义一个激活器,默认为Activator.js,如果命名不是默认值,则需要在plugin.json里面通过activator定义该激活器文件名。一个典型的Activator定义如下,用于声明插件的入口和出口。

这里start与stop分别代表入口和出口,用于服务注册、绑定、事件监听等。

插件间通过服务进行通讯,一个插件注册服务,一个插件消费服务。插件注册可以通过plugin.json来声明,也可以通过激活器start方法的PluginContext参数的addService来注册服务。如下所示,使用plugin.json来注册一个服务。

另一个插件,可以通过激活器来消费服务。

该框架还提供了插件扩展、类加载等特性,可以通过框架提供的实例来探索。以下是一个插件化的REST框架,基于插件化构建的实例,可以通过源码下载获取。

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

AngularJS做出输入框字数限制提醒

vue判断用户是否登录

以上就是开源JS插件框架MinimaJS使用介绍的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2771674.html

(0)
上一篇 2025年3月8日 13:02:13
下一篇 2025年3月8日 13:02:20

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • js进行时间大小比较

    这次给大家带来js进行时间大小比较,js进行时间大小比较的注意事项有哪些,下面就是实战案例,一起来看一下。 实例如下: ///比较函数 function compareTime(date1, date2) { var d1_year, d1…

    编程技术 2025年3月8日
    200
  • Require.js图文详解

    这次给大家带来Require.js图文详解,使用Require.js的注意事项有哪些,下面就是实战案例,一起来看一下。 一、为什么要使用require.js 首先一个页面如果在加载多个js文件的时候,浏览器会停止网页渲染,加载文件越多,网页…

    编程技术 2025年3月8日
    200
  • 源生JS怎样实现文件异步上传

    这次给大家带来源生js怎样实现文件异步上传,源生js实现文件异步上传的注意事项有哪些,下面就是实战案例,一起来看一下。 名称文件确定 function ajaxUploadFile() { var formData = new FormDa…

    编程技术 2025年3月8日
    200
  • JS怎么计算获取对象的长度

    这次给大家带来JS怎么计算获取对象的长度,JS计算获取对象长度的注意事项有哪些,下面就是实战案例,一起来看一下。 计算对象的长度,即获取对象属性的个数,具体如下 方法一:通过for in 遍历对象,并通过hasOwnProperty判断是否…

    编程技术 2025年3月8日
    200
  • AngularJS实现select二级联动下拉菜单步奏详解

    这次给大家带来AngularJS实现select二级联动下拉菜单步奏详解,AngularJS实现select二级联动下拉菜单的注意事项有哪些,下面就是实战案例,一起来看一下。 所属分类: — 请选择 — — 请选择 — var co…

    编程技术 2025年3月8日
    200
  • 在Windows内安装Node.js报错怎么处理

    这次给大家带来在Windows内安装安装报错怎么处理,在Windows内安装Node.js报错处理的安装有哪些,下面就是实战案例,一起来看一下。 Windows真的是太恶心了!!!不仅会出现大量的垃圾文件,而且有时莫名的安装不上一些软件(正…

    编程技术 2025年3月8日
    200
  • JS设计模式之构造器模式详解

    这次给大家带来JS设计模式之构造器模式详解,JS设计模式之构造器模式使用的注意事项有哪些,下面就是实战案例,一起来看一下。 经典的OOP语言中,构造器(也叫构造函数)是一个用于初始化对象的特殊方法。在JS中,因为一切皆对象,对象构造器经常被…

    编程技术 2025年3月8日
    200
  • js实现以秒为单位刷新时间

    这次给大家带来js实现以秒为单位刷新时间,js实现以秒为单位刷新时间的注意事项有哪些,下面就是实战案例,一起来看一下。 原理:使用定时器,即setInterval(fn,i),每隔i秒执行fn。 下面给出具体的代码 1.代码如下: 用js实…

    编程技术 2025年3月8日
    200
  • JS获取当前地理位置案列详解

    这次给大家带来JS获取当前地理位置案列详解,JS获取当前地理位置的注意事项有哪些,下面就是实战案例,一起来看一下。 1.手机定位 var getLocation = function (successFunc, errorFunc) { /…

    编程技术 2025年3月8日
    200
  • parabola.js实现抛物线与加入购物车功能

    这次给大家带来parabola.js实现抛物线与加入购物车功能,parabola.js实现抛物线与加入购物车功能的注意事项有哪些,下面就是实战案例,一起来看一下。 parabola.js var funParabola = function…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论