Plugin
Matter.Plugin模块包括了用于在模块上注册和安装插件的方法。
方法
Matter.Plugin.dependencies(module) → Object
递归地寻找模块的所有依赖关系,并返回抹平后的依赖关系图谱。
参数:
module Object 模块
返回值:
Object: 依赖图谱
Matter.Plugin.dependencyParse(dependency) → Object
将依赖项字符串解析为其组件。dependency以模块名或模块名@版本为格式。参见Plugin.versionParse文档以了解格式的描述。该方法同样也能处理已经解析的依赖项(例如模块对象)。
参数:
dependency String 以模块名或模块名@版本为格式的依赖项。
返回值:
Object: 依赖项会被解析为其组件。
Matter.Plugin.isFor(plugin, module) → Boolean
如果通过module.name和module.version相比较后插件适用于模块的话,则plugin.for返回true。如果没有指定plugin.for,那么就假定它是适用的。plugin.for的值以模块名或模块名@版本为格式。
参数:
plugin Object 插件。
module Object 模块。
返回值: Boolean 如果插件适用于模块的话,则plugin.for返回true,否则返回false。
Matter.Plugin.isPlugin(obj) → Boolean
如果对象满足最低标准则被认为是插件并返回true。这意味着其必须定义下面的属性:
nameversioninstall
参数:
obj Object 要设置的对象。
返回值:
Boolean 如果对象被认为是插件则返回true,否则返回false。
Matter.Plugin.isUsed(module, name) → Boolean
如果module上安装了名为name的插件,则返回true
参数:
module Object 模块。
name String 插件名称。
返回值:
Boolean 如果名为name插件已安装则返回true,否则返回false。
Matter.Plugin.register(plugin) → Object
注册插件对象,以便以后可以按名称解析。
参数:
plugin Object 要注册的插件
返回值:
Object 插件
Matter.Plugin.resolve(dependency) → Object
如果存在依赖关系,则从注册表中解析该依赖关系到插件对象。dependency可能包含版本信息,但在解析时只关注名称。
参数:
dependency String 依赖项
返回值:
Object 解析后的插件,否则返回undefined。
Matter.Plugin.toString(plugin) → String
返回插件的名称和版本。
参数:
plugin Object 插件
返回值:
String 插件名称和版本的字符串
Matter.Plugin.use(module, [plugins=module.uses])
通过调用在plugins中的每个插件当中的plugin.install来安装插件,如果没有则使用module.uses。在Matter上安装插件可以采用更方便的Matter.use方法。插件可以通过它们的名字或者插件对象的引用来指定。插件本身可以指定进一步的依赖关系,但每个插件只安装一次。顺序很重要,采用拓扑排序可以找到最佳的安装顺序。这种排序会尝试满足每个依赖项的请求顺序,但并不一定在所有情况下准确。该方法会在控制台中记录每个依赖项的结果状态及任何警告。
- ✅ 表示依赖已经解决安装。
- 🔶 表示某个依赖项已解觉,但对其或其依赖项抛出了警告。
- ❌ 表示无法解觉依赖项。避免在同一个模块上多次调用该方法,除非您打算手动控制安装顺序。
参数:
module Object 安装了插件的模块。
[plugins=modules.uses] Object 可选 模块上要安装的插件(可选,默认为module.uses)。
Matter.Plugin.versionParse(range) → Object
将版本号字符串解析为其组件。
版本号严格采用x.y.z格式。可以选择使用带有预发布标签的“x.y.z-alpha”格式。range为npm ranges的严格子集,仅支持以下类型:
- 波浪号,如
~1.2.3 - 插入符号,例如
^1.2.3 - 确切版本,例如
1.2.3 - 任何版本
*
参数:
range String 版本字符串
返回值: Object 解析到组件的版本号范围。
Matter.Plugin.versionSatisfies(version, range) → Boolean
如果版本号满足给定的范围,则返回true。有关格式的描述,请参阅Plugin.versionParse文档。如果没有指定版本或范围,则假设任何版本(*)都满足要求。
参数:
version String 版本字符串
range String 范围字符串
返回值:
Boolean 如果版本号满足range则返回true,否则返回false。