来到了第 26 天,其实我们快把所有的模组都走过一遍了,今天是最後一天单独介绍某个特色的,接下来 3 天笔者会安排一个实作来为我们这次的 30 天内学到的内容做一个实际范例的演示,会是一个小游戏,也欢迎大家跟着做,会采取跟之前弹珠台一样的方法,不会细道走过每一个方法每一行程序,但关键的程序码都会带出来跟大家讲解,敬请期待。
最後一天笔者会为这 30 天做一个统整,同时列出整个 Matter.js 的功能地图,在走过这麽多模组後,脉络化的分析并列出模组间的关系与分类,让大家对自己的知识做一个梳理,有不熟悉的部分也能藉此回顾来完整知识组。
讲了这麽多,都不是今天的内容 XD ,今天要来带大家看看所谓的 Plugins,中文叫插件 / 扩充模组,就是基於主模组上他人拓出的贴合主模组的额外功能,让除了主模组作者以外,其他的 Programmer 也能够贡献自己的创意,就是标题所说的:星多天空亮、人多智慧广。其实你把视角往外拉大到 Javascript 这个语言本身,这些所有的函式库都能算是 Javascript 的 Plugins,结合了这麽多人的智慧,让 Javascript 能够用更多不一样的面向来面对使用者们。
看标题大家可能会觉得是要讲 Plugins 模组(Matter.Plugins),笔者其实比较偏向是要讲这页 Github WikiPage 上有提到的:
Plugins 模组本身除却主要的引入方法外,其他多是一些检测版本 / 检测套用对象的方法,这边我们不会细读,对一般使用插件的情况下懂得引入其实就相当足够。
Matter.js 本身有定义一套关於这个函式库插件的实作标准,依据这个实作标准实作的插件会更贴合函式库本身,我们今天会专注在介绍目前 Matter.js 页面上列出能够使用的插件功能。
先前介绍物体或组合体单元的时候,应该都有看到挂在属性之一的 plugin 属性,主要就是为了上面所说的统一规范,让依规范写的扩充能更易於被运用於原函式库中,今天也会举一个实例来看。
Matter.use('matter-attractors');
//Matter.Plugin.use(module, [plugins=module.uses])
载入程序码就很简单只有一行,也可以使用 Plugin 模组的方法来载入,这边笔者没有去详究差异,但文件上是建议进阶使用者可以去阅读 Plugin.use 说明并使用,会提供更多的弹性。
呼叫 .use 後可以打开 console 来看支援,总共会有三种符号
一开始我们只引入了 matter.js。
<script src="../Lib/matter.min.js"></script>
以现在还没做任何事为例,直接这样呼叫会拿到:
一个红色叉❌ !即使是插件,我们也需要汇入对应的 .js 档才能引用,同时要注意引用顺序,通常会建议把插件放在主模组之後。
这次我们以 matter-attractors 这个同一作者写的插件为例,档案请到这里下载。
<script src="../Lib/matter.min.js"></script>
<script src="../Lib/matter-attractors.min.js"></script>
这次变成了?,我们参考抛出的警示,可以知道它告诉我们,这个插件 claim 支援的版本是到 0.12.0 版的 matter.js ,由於我们是使用 0.17.1 版本,所以他不保证可以运作。
这种情况就是我们要自行试验,确认其中功能都能照我们预期的来运行。
最後我们来尝试引入 0.12.0 版本,看看能不能出个绿勾,因为只是尝试,我们就用个 cdn 版本的就好,笔者是透过这个网站来找到对应的版本。
<!--<script src="../Lib/matter.min.js"></script>-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/matter-js/0.12.0/matter.min.js"></script>
<script src="../Lib/matter-attractors.min.js"></script>
记得把原本的版本注解掉,以免遇到一些奇妙的相冲意外。
可以看看 console.log ,是个绿勾,帅呀!
到这里为止就是如何引入模组跟引入模组的相关提示你需要知道的资讯与步骤了。
这边表列的是这个 Github WikiPage 中有列出的插件,下面会提供插件连结与简单的 Demo 影像让大家知道概略,可以再评估哪个插件贴合自己的需求。
引入的方式都和上面一样,只是需要先去对应页面载下对应的档案。
以上就是今天介绍的插件内容,笔者并没有每个插件都实际用过,但有每个连结都点进去稍微看一下个插件的 Demo 与说明,帮大家列出上面这些简短的概要,如果看到这些描述有打到你的需求,读者可以再按进去阅读详情。
剩下没介绍到的模组为 Common / Vertices / Vector,这几个多为比较底层或过於泛用的函式,有些就算不用这个函式提供的内容,一般也能自己写出来使用。
明天开始,就会来开始我们的实作单元。
前情提要 藉着重构原先从元件取得资料的方法,我们将对 http 的呼叫封装在服务里,隐藏了资料来源的...
前言 在昨天我们学会使用memo去记忆我们的组件,达成避免re-render的状态。 而我们今天会学...
您是 VMware 认证技术助理 - 数据中心虚拟化考试的有抱负的候选人之一吗?然後你就中了头奖!多...
வணக்கம்,我是Charlie! 在Day11当中,我们完成了总商品的API以及分类,而今天我们...
有在经营开店平台、品牌官网或是网站的人,应该都有听说过SEO,不过可能略知一二,或是对於SEO的涵...