Fedora43 安装与配置 nodejs

Node.js是一个免费、开源、跨平台的JavaScript运行时环境,发布于2009年5月,由Ryan Dahl开发。‌ 它基于Chrome V8 JavaScript引擎构建,使JavaScript能够脱离浏览器,在服务器端运行,从而成为一种与PHP、Python、Ruby等并列的服务端脚本语言。‌

主要应用场景

Node.js非常适合开发以下类型的应用:

‌- 网络应用‌:如Web服务器、API服务、实时聊天应用、数据流应用。‌
‌- 命令行工具‌:丰富的生态系统使其成为开发构建工具、脚本的理想选择。‌
‌- 微服务与后端API‌:尤其是RESTful API服务。‌
‌- 实时应用‌:如在线游戏、协作工具、即时通讯软件。

技术架构与模块系统

‌- 事件循环‌:是Node.js处理异步操作的核心机制,负责调度和执行回调函数。‌
‌- 模块系统‌:Node.js采用CommonJS模块规范,功能被划分为不同的模块。开发者可以通过 require 函数引入内置模块(如 http、fs)或第三方模块,并通过 exports 对象暴露模块功能。‌
‌- 包管理器‌:Node.js通常与NPM一同使用,NPM是全球最大的开源库生态系统,方便开发者管理和共享代码包。‌

安装与配置

在安装nodejs之前需要先安装node版本管理器(nvm), 在nodejs开发过程中版本切换或者多版本共存是难以避免的,nvm能够很好地管理nodejs版本相关的工作,这也是nodejs官方推荐的安装nodejs的方式。安装了nvm后再安装nodejs相对就比较简单了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# Download and install nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bash

# in lieu of restarting the shell
\. "$HOME/.nvm/nvm.sh"

# Download and install Node.js:
nvm install 20

# Verify the Node.js version:
node -v # Should print "v20.20.2".

# Verify npm version:
npm -v # Should print "10.8.2".


Vultr 部署 Wordpress 博客

昨天我获得了 Vultr.com 300 美金的试用金,限期 1 个月。

这两天一直在琢磨如何把这 300 美金霍霍完,免得过期浪费。于是把之前一些好玩的东西从家里的服务器迁移到了 Vultr 上,昨天用 Vultr vps 搭建了一个了一个 WEB IDE, 过程记录在这篇文章里Vultr + Code-server 自建 Cloud IDE

Vultr 账号申请以及创建VPS过程参考这篇文章 快速注册 Vultr 账号以及创建 Vultr VPS

今天用 Vultr vps 结合 wordpress 搭建了一个动态博客网站(当然 wordpress 不只是能搭建博客这么简单), 顺便将之前的文章更新了一遍。以下是搭建的全过程。

明天打算将 kubernetes 集群也搬上 Vultr,关注我的博客,鹏叔将利用这波优惠,继续探索一些新花样。

阅读更多

如何调试Angular应用程序

本文演示如何调试 Angular 应用程序。在本文中,我们将讨论。

  • 如何在 VS Code 中调试 Angular 应用程序
  • 如何在 Chrome Dev Tool 中调试 Angular 应用程序
阅读更多

Angular 中的全局错误处理

错误处理是构建强大而可靠的 Angular 应用程序的关键方面。处理错误可以有效改善用户体验并帮助开发人员识别和修复问题。以下是 Angular 中的一些错误处理策略

阅读更多

Angular HTTP 拦截器:配置多个HTTP拦截器和 4 个拦截器代码示例

拦截器在 Angular 中用于拦截 HttpRequest/HttpResponse。我们可以使用拦截器来记录 HttpRequest/HttpResponse 日志,或者在将其传递给服务器之前添加其他 HttpRequest 头部信息,以及更改请求主体或更改从服务器收到的响应的格式等。在本文中,我将解释如何使用多个拦截器以及拦截器的 6 种最常见用法(附示例)。

阅读更多

Angular结合TinyMCE实现富文本编辑器

1. 背景介绍

自己编写了一个博客系统,想要支持用户写作博客,考查了几种开源编辑器方案,例如 Quill, ckEditor,最后还是选择了 TinyMCE 编辑器。

原因主要在与它开箱即用,插件丰富,而且很多插件都是比其他编辑器做得优秀。

阅读更多

Angular结合ckeditor5实现富文本以及markdown编辑器

1. 背景介绍

自己编写了一个博客系统,想要支持 html 和 markdown 两种格式,但是又不希望向其他博客系统一样,数据库存两种完全格式的内容,前端用多套编辑器这么麻烦和繁琐。于是做了一下 research 还真让我找到了。

这套方案的核心就是ckeditor5,它原本是一套富文本编辑器,但是当给它添加上 markdown plugin 以后,它就可以变成了一个富文本编辑器+markdown 编辑器类似 typro 编辑器,编辑器的输出统一为了 markdown 格式。

阅读更多

自己动手写一个Angular 日志框架

日志记录是软件行业中相当常见的话题。不幸的是,它在前端世界中并不常见,虽然在后端相关文章中经常提到。

然而,这个主题也适用于前端项目。

在本文中,我们将了解什么是日志记录以及在现代 Angular 应用程序中实现它的各种方法。

阅读更多

Angular Material 3 自定义主题

1. 什么是 Material 3

Material 3 (M3)是 Google 开源设计系统 Material Design 的最新版本。它是 Angular Material 所遵循的设计系统 Material 2 (M2)的继承者。

从 v17.2.0 开始,Angular Material 除了 M2 之外还包括对 M3 样式的实验性支持。该团队计划在短暂的实验后稳定对 M3 的支持,以获得有关设计和 API 的反馈。

阅读更多

Angular Material 2 自定义主题

1. 什么是 theming

Angular Material 的主题系统可让您为应用程序中的组件自定义基础样式、颜色、排版和密度样式。主题系统基于 Google 的 Material Design 规范。

本文档介绍了自定义颜色的概念和 API。对于排版自定义,请参阅Angular Material Typography。有关构建可使用此系统进行自定义的组件的指南,请参阅主题化您自己的组件

阅读更多

Angular async pipe中的异常处理

处理 web 应用程序中的错误对于获得良好的用户体验非常重要。有时会发生异常,每个应用程序都应该涵盖这些情况,以帮助用户了解发生了不好的事情。

许多教程没有显示如何在使用异步管道时处理错误/异常情况。因此,在这篇文章中,我们将研究如何处理这些错误案例的一些技术。

阅读更多