JavaScript 库和 WordPress:你需要知道的
已发表: 2017-10-24我之前说过,我再说一遍:如果您是 WordPress 用户,您需要熟悉 JavaScript。 这只是网络的方式。 那么,真正的问题是您必须整理的令人不安的 JavaScript 库数量。
有 Ember、React、Angular。 Vue 和 Preact。 并且不要忘记 Ionic、Express 或 Node。 jQuery、Meteor 和 Bootstrap 也值得一提。 哦,还有……
你明白我的意思。 (而这些只是我可以在不打开新标签页的情况下说出的那些。)JavaScript 库随处可见,因为它们对于开发非常重要。
无论您想要 DOM 操作、MVC 框架、AJAX 调用,还是其他完全不同的东西,您都可以从中提取一个库来帮助您。
作为 WordPress 用户,这应该是您耳中的音乐,这就是原因。
到底什么是 JavaScript 库?
简单:一堆预先编写的代码。 没有什么花哨。 不过,你可以用它们做一堆花哨的东西。 这就是为什么他们很棒。
通过使用预先编写的代码并将其拉入您的网站,您可以添加功能来节省您的时间,但也可能填补您的专业知识空白。 你很擅长你的工作,当然,但你是一名 WordPress 开发人员——而不是 JavaScript 开发人员。
没关系。
当您在 WordPress 中使用 JavaScript 库时,您就是在利用其他人的专业知识来增强您的网站和用户体验。
第一件事
作为 WordPress 用户,您可以访问 Core 中已有的一系列 JavaScript 库及其依赖项。 查看 Codex 以获取完整列表以及如何将wp_enqueue_script与内置和外部 JS 一起使用。
JavaScript 库……它们有什么用?
很多人在谈论 JavaScript 库时都会感到困惑,因为它们经常被错误地标记为JavaScript 框架,它们是不同的。 框架是一种库,但功能与大多数不同。
框架是您用来构建完整应用程序或网站的工具。 本质上,JS 框架的功能与 WordPress 本身相同——为您正在从事的任何项目提供支柱。 它们在使用方面比非框架库更加结构化。
框架可以分为几类:前端框架、后端框架和全栈框架。 如果您不熟悉这些术语,前端是用户与之交互的内容,后端是处理服务器端问题的内容,全栈处理前端和后端的内容。
您可能听说过一些最常见/流行的框架:
- 角
- 节点.js
- Vue.js
- 反应
- 余烬
这一切如何在 WordPress 中发挥作用?
其中一些库没有。 这就是我想说的重点:如果您使用 WordPress,则不需要后端框架(在这种情况下,也不需要全栈框架)。 我们令人愉快的核心已经为我们处理了这种级别的结构。 (请注意,如果您是一名专门为 Core 做出贡献和/或自己进行大量定制的开发人员,那么这是一个有争议的问题。)
您需要学习使用(或至少理解)的是前端框架和 DOM 操作库。 这些发挥作用的次数远远多于任何其他类型的JavaScript库。
PHP 是一种很棒的语言。 它为我们提供了今天所熟知的 WP,并且非常有效地将各种逻辑和功能置于用户手中。 但是 JavaScript 库获得了这种力量并呈指数级增长。
某些插件,如 NinjaForms,虽然是用 PHP 编写的——因为 WordPress 是这样写的——使用 JavaScript 库来为用户提供更好的体验和更多的功能。 WPNinjas 使用 Backbone 和 Marionette 库来实现这一点。

哎呀,即使在 Elegant Themes,Divi 3.0(这很棒,你应该完全加入以在所有网站上使用)也是用 React 编写的。
即将推出的 Gutenberg 编辑器(至少目前是这样)和名为 Calypso(以及 Jetpack)的 WordPress.com 管理面板也是如此。哎呀,您在 .org 仪表板中所做的几乎所有事情都由 JavaScript 提供支持,直到发生某些变化在服务器上,需要保存。
但即便如此,这也可能很快就会改变……多亏了 WP REST API。
WP REST API + JavaScript 库 = BFF
您现在可能已经听说过 WP REST API。 简而言之,它为 WordPress JavaScript 开发注入了大量活力,因为您不必通过 JavaScript 而不是依赖 PHP 发出服务器请求。
是的,您现在可以直接从前端访问站点的后端,而不必费力地使用 PHP,从而减慢响应时间并限制功能。 WPMU 有使用 REST API 的细分,您也应该查看。
你可以用 JS 和 REST 做很多事情,想想几乎是可怕的。 当您使用 React(特别是React Native)时,您可以使用 WordPress 数据库作为您的移动应用程序的后端,而无需接触 PHP。 您可以通过 REST API 通过 JSON 直接与 MySQL 交互。
在某种程度上,这种交互使 WordPress 的工作方式与我们上面讨论的后端 JavaScript 框架非常相似,提供应用程序和数据库管理的结构,而无需任何 PHP 中介。 WP 像这样工作并不是什么新鲜事——毕竟 CMS 就是这样做的——但是与 JavaScript 库和 JSON 的实现和集成是
虽然 React Native 特别能够为移动应用程序做到这一点,但您也可以使用任何前端框架或库来做同样的事情——Vue.js 和 Ember 以及普通的旧 React(或 Preact,如果很讨厌的话)。
如果你真的很讨厌,你可以使用这些库中的一个,制作你的网站,并使用足够多的 Java Swift 将它包装在 web 视图中,并通过 REST API 将它扔到 App Store 上。 这有点难看,但它应该工作。
WordPress 的未来
马特去年表示,所有 WordPress 开发人员都应该“深入学习 JavaScript”。
我想,是时候让我们都听听了。 老实说,您选择先学习哪个或多个 JavaScript 库并不重要。 一旦您熟悉了一两个如何工作并与 WordPress 交互,您就很容易成为 JS 生态系统的一部分,进而成为 WP 的未来。
无论您是想为您的插件(如 Divi 或 Ninja Forms)打造出色的客户端体验,还是想为用户需要快速流畅更新的出色 Web 应用程序,还是仅使用 WordPress 作为其后端数据库的移动应用程序,都有 JavaScript那里的图书馆。
创意思想/shutterstock.com 的文章缩略图
