Category : 教程系列

介绍 Koa是由Express背后的团队创建的一个新的 Web 框架。它旨在成为现代且更简约的 Express 版本。 它的一些特点是它支持和依赖新的 JavaScript 功能,例如生成器和async/await。Koa 也不附带任何中间件,尽管它可以使用自定义和现有插件进行扩展。 在本文中,您将了解有关 Koa 框架的更多信息并构建一个应用程序以熟悉其功能和理念。 先决条件 如果你想跟随这篇文章,你需要: Node.js 安装在本地,您可以按照如何安装 Node.js 和创建本地开发环境来完成。 您还需要具备 JavaScript 和 ES6 语法的应用知识。 注意:本教程已从 Koa 1.0 修改为 Koa 2.0。请参阅迁移文档以更新您的 1.0 实现。 本教程已通过 Node v15.14.0、npmv7.10.0、koav2.13.1、@koa/routerv10.0.0 和koa-ejsv4.3.0 验证。 步骤 1 — 设置项目 首先,为您的项目创建一个新目录。这可以通过在终端中复制并运行以下命令来完成: mkdir koa-example 注意:您可以为您的项目指定任何名称,但本文将koa-example用作项目名称和目录。 此时,您已经创建了项目目录koa-example。导航到新创建的项目目录。 cd koa-example 然后,从目录内部初始化您的 Node 项目。 npm init -y 运行该npm ..

Read more

介绍 忘记密码发生在我们最好的人身上。如果您忘记或丢失 MySQL 或 MariaDB 数据库的 root 密码,如果您有权访问服务器和sudo启用的用户帐户,您仍然可以访问并重置密码。 本教程将介绍如何为旧版和新版 MySQL 和 MariaDB 重置 root 密码。 先决条件 要恢复您的 MySQL/MariaDB 根密码,您需要: 使用 sudo 用户访问运行 MySQL 或 MariaDB 的 Linux 服务器。 步骤 1 — 确定数据库版本 大多数现代 Linux 发行版都附带 MySQL 或 MariaDB,这是一种与 MySQL 完全兼容的流行替代品。根据使用的数据库及其版本,您需要使用不同的命令来恢复 root 密码。 您可以使用以下命令检查您的版本: mysql –version 你会在 MySQL 中看到一些这样的输出: MySQL outputmysql Ver 14.14 Distrib 5.7.16, for ..

Read more

介绍 在 Angular 中,RouterLink是用于以声明方式导航到不同路线的指令。Router.navigate和Router.navigateByURL是Router类可用于在组件类中进行命令式导航的两种方法。 让我们来探讨如何使用RouterLink,Router.navigate以及Router.navigateByURL。 使用 RouterLink HTML 中的典型链接如下所示: <a href=”/example”> Example HTML link. </a> 此示例链接会将用户定向到该/example页面。 但是,单页应用程序 (SPA) 没有要链接到的不同页面。相反,它具有向用户显示的不同视图。要允许用户导航和更改视图,您需要使用该RouterLink指令而不是href: <a routerLink=”/users/sammy”> Link that uses a string. </a> 此RouterLink示例将引导用户到 处的组件/users/sammy。 不同的 URL 段也可以像这样在数组中传递: <a [routerLink]=”[‘/’, ‘users’, ‘sammy’]”> Link that uses an array. </a> 这两个示例的格式不同,但将指向/users/sammy. 相对路径 您可以使用’../以下内容在导航中上升到更高级别: <a [routerLink]=”[‘../’, ‘posts’, ‘sammy’]”> Link that goes up a level. ..

Read more

作者选择了COVID-19 救济基金来接受捐赠,作为Write for DOnations计划的一部分。 介绍 事件发射器是Node.js中的对象,它们通过发送消息来表示操作已完成来触发事件。JavaScript的开发人员可以编写代码侦听事件从事件发射器,使他们能够执行的功能每一个这些事件被触发的时间。在此上下文中,事件由标识字符串和需要传递给侦听器的任何数据组成。 通常在 Node.js 中,当我们想要在另一个动作完成时发生一个动作时,我们使用异步编程技术,如嵌套回调或链接承诺。然而,这些技术将触发动作和结果动作紧密耦合,使得将来很难修改结果动作。事件发射器提供了一种不同的方式来构建这种关系:发布-订阅图案。在此软件架构模式中,发布者(事件发射器)发送消息(事件),订阅者接收事件并执行操作。这种模式的强大之处在于发布者不需要知道订阅者。发布者发布消息,订阅者以各自的方式对其做出反应。如果我们想改变应用程序的行为,我们可以调整订阅者对事件的反应,而不必更改发布者。 在本文中,我们将为允许用户购买门票的TicketManager JavaScript 类创建一个事件侦听器。我们将为buy事件设置侦听器,每次购买门票时都会触发。此过程还将展示如何管理来自发射器的错误事件以及如何管理事件订阅者。 先决条件 Node.js 安装在您的开发机器上。本教程使用版本 10.20.1。要在 macOS 或 Ubuntu 18.04 上安装它,请按照如何在 macOS 上安装 Node.js 和创建本地开发环境或如何在 Ubuntu 18.04 上安装 Node.js 的使用 PPA 安装部分中的步骤进行操作。 本文中的主要示例使用了ES2015(通常称为 ES6)中引入的 JavaScript 类。如果您想了解 JavaScript 中的类,请阅读我们的理解 JavaScript 中的类教程。 第 1 步 – 发出事件 在这一步中,我们将探索在 Node.js 中创建事件发射器的两种最常见方法。第一个是直接使用事件发射器对象,第二个是创建一个扩展事件发射器对象的对象。 决定使用哪一个取决于您的事件与您的对象的操作的耦合程度。如果要发出的事件是对象操作的效果,为了方便起见,您可能会从事件发射器对象扩展以访问其功能。如果您要发出的事件独立于您的业务对象,或者是来自多个业务对象的操作的结果,您将改为创建一个由您的对象引用的独立事件发射器对象。 让我们从创建一个独立的事件发射对象开始。我们将首先创建一个文件夹来存储我们所有的代码。在您的终端中,创建一个名为 的新文件夹event-emitters: mkdir event-emitters 然后进入该文件夹: cd ..

Read more

GitHub 只是一个云托管的 Git 管理工具。Git 是分布式版本控制,这意味着整个 repo 和历史记录都存在于您放置的任何地方。人们倾向于在他们的业务或开发工作流程中使用 GitHub 作为用于存储库备份的托管托管解决方案。 这是备份所有代码存储库的一种方便且最无忧的方法。它还允许您在网络上非常好地导航和查看您的代码。GitHub 通过让您与同事、朋友、组织等联系更进一步。 先决条件: 要初始化 repo 并将其推送到 GitHub,您需要: 一个免费的 GitHub 帐户 git 安装在本地机器上 步骤 1:创建一个新的 GitHub 存储库 登录到 GitHub 并创建一个新的空仓库页面。您可以选择是否初始化自述文件。这并不重要,因为无论如何我们只是要覆盖这个远程存储库中的所有内容。 在本教程的其余部分,我们将假设您的 GitHub 用户名是,sammy并且您创建的存储库已命名my-new-project (因此,在复制/粘贴命令时,您需要将它们替换为您的实际用户名和存储库名称) 第二步:在项目文件夹中初始化Git 在您的终端中,导航到您要添加的文件夹后运行以下命令: 初始化 Git 存储库 确保您在要推送到 GitHub 的项目的根目录中并运行: 注意:如果你已经有一个初始化的 Git 仓库,你可以跳过这个命令 git init 此步骤.git在您的项目文件夹中创建一个隐藏目录,git软件会识别并使用该目录来存储项目的所有元数据和版本历史记录。 将文件添加到 Git 索引 git add -A 该git add命令用于告诉 git ..

Read more

介绍 Create React App为您提供了一组基本的包和配置来开始构建 React 应用程序。2.0 版引入了官方TypeScript支持。这允许 JavaScript 用户在 React 前端框架中使用 TypeScript 约定进行编写。TypeScript 是一种强大的工具,可帮助编写更安全、自文档化的代码,使开发人员能够更快地发现错误。 在本文中,您将使用 Create React App 设置带有 TypeScript 的 React 应用程序。 先决条件 要阅读本文,您需要: Node.js 安装在本地,您可以按照如何安装 Node.js 和创建本地开发环境来完成。 对 React 有一定的了解。您可以查看我们的How To Code in React.js系列。 熟悉TypeScript 约定。 建议使用支持代码提示的现代代码编辑器。Visual Studio Code通过IntelliSense提供此功能。 本教程已通过 Node v15.13.0、npmv7.8.0、react-scriptsv4.0.3、reactv17.0.2 和typescriptv4.2.3 验证。 启动 TypeScript 创建 React 应用程序 首先,打开终端窗口并导航到要在其中构建项目的目录。 然后,create-react-app与–template typescript标志一起使用: npx ..

Read more

介绍 Google Maps 提供了一组强大的 API,用于构建地图并与之交互、可视化位置数据以及通过自动完成进行搜索,仅举几例。 vue-google-maps已针对 Vue.js 2 进行了更新,为 Vue.js 应用程序提供了利用这些 API 的工具。它带有一套完善的组件,用于与谷歌地图交互以及双向数据绑定。 在本教程中,您将使用该vue2-google-maps库并创建一个使用自动完成功能来显示位置的地图。 先决条件 要完成本教程,您需要: Node.js 安装在本地,您可以按照如何安装 Node.js 和创建本地开发环境来完成。 熟悉设置 Vue.js 项目和使用 Vue.js 组件可能会有所帮助。 一个Google Maps JavasScript API 密钥。 这将需要一个 Google 帐户。 登录 Google Cloud Platform Console。 创建一个新项目。 为项目启用 Google Maps JavaScript API 和 Places API。 并为 API 密钥创建凭据。 警告:为避免在使用 Google Maps API 时出现“仅用于开发目的”消息,您需要提供有效的信用卡并与 ..

Read more

介绍 CSS 有许多伪类可以帮助您轻松设置应用程序的样式。有很多选择可能很好,但知道使用哪个伪类以及它真正做什么也可能令人困惑。在这里,我们将查看 CSSnth-child和nth-of-type伪类,以更好地了解何时使用它们以及实际区别是什么。 在nth-child和nth-of-type相对于其他类型的伪类,因为他们根据自己在DOM位置选择元素的CSS伪类很有趣。而一些伪类选择元素的特定状态(例如悬停、活动、目标伪类),nth-child并且nth-of-type更关心标记的结构。 先决条件 HTML5 的一般知识。要全面了解 HTML5 标记语言,请浏览我们的系列“如何用 HTML 构建网站”。 CSS的一般知识。有关 CSS 的介绍,请浏览我们的教程如何将 CSS 样式应用到带有级联和特殊性的 HTML。 设置 HTML 要理解之间的区别nth-child和nth-of-type,让我们先来建立我们的HTML知道我们要成为造型。 假设我们的网页上有一个部分混合了标题 ( <h1>, <h3>) 和段落 ( <p>) 元素。 <article> <h1>Here’s a Header</h1> <p>I’m a paragraph with all kinds of information.</p> <p>Let’s add another paragraph for fun.</p> <p>yadda yadda yadda</p> <p>blah blah blah</p> <p>yadda yadda ..

Read more

介绍 在本教程中,您将学习如何使用 JavaScriptclassList对象为您的 DOM 操作项目修改 CSS 类。该classList对象允许您调整分配给 HTML 元素的 CSS 类。 先决条件 JavaScript 的一般知识。要了解有关 JavaScript 的更多信息,请查看如何在 JavaScript 中编码系列。 CSS的一般知识。有关 CSS 的介绍,请查看教程How To Apply CSS Styles to HTML with Cascade and Specificity。 开始你的项目 创建一个index.html文件,并包含一个style带有 CSS 类的标签和一个带有以下内容的段落元素id: 索引.html <style> .colorText { color: purple; } .boldText { font-weight: bold; } .bigText { font-size: 35px; } </style> <p id=”myText”> ..

Read more

云计算是将计算资源作为服务交付,这意味着资源由云提供商而非最终用户拥有和管理。云计算是通过从底层硬件中抽象出计算资源来实现的,允许用户访问他们不实际维护或拥有的资源。 云服务可用于开发和分发 Web 应用程序、为企业和组织托管计算基础设施、存储数字媒体、提供基于浏览器的软件以及处理数据工作负载。 与内部部署的硬件和软件相比,这些服务通常为企业和开发人员提供更大的能力来快速扩展计算资源和优化计算成本。然而,鉴于云服务的抽象性质,它们的许多技术细节都隐藏在用户监督和控制之外。 更多云计算相关教育资源,请访问: 云计算概论 云托管简介 我们的云计算资源的完整列表可以在我们的云计算页面�..

Read more