踏入全栈第一步:Node.js语言基础
踏入全栈
典型的软件开发中,前端和后端的功能是明确分开的,前端在用户端,后端在服务端。前端主要负责用户界面的展示和与用户的交互,而后端则负责处理数据、执行业务逻辑以及与前端进行通信。然而,有些情况下,前端技术(如JavaScript、Node.js等)也可以用来实现一些传统上被认为是后端的功能。从今天开始,我们将逐步学习如何利用Node.js实现前后端交融,让我们具备一个人打两份工的能力(骄傲)。
Node.js
Node.js是在2009年5月由Ryan Dahl创建的,一个基于Chrome V8引擎的JavaScript运行环境,使JavaScript能够运行在服务端。Node.js使用一个事件驱动、非阻塞式I/O模型,使其非常适合开发数据密集型的实时应用。
npm init -y
npm init -y
是一个用于快速初始化一个新的 Node.js 项目并自动生成一个默认的 package.json
文件的命令。他实际上将前端初始化为后端项目。
package.json
package.json
是 Node.js 项目中的一个重要文件,它位于项目的根目录下,是我们的项目描述文件。这个文件基于 JSON 格式,用于存储与项目相关的元数据信息,包括项目名称、版本、描述、依赖项、脚本命令等。这些信息对于项目的开发、分发和维护都至关重要。
JSON
是一种轻量级的数据交换格式,采用完全独立于语言的文本格式来存储和表示数据。简单、清晰的层次结构使得 JSON 成为理想的数据交换语言。
main.js
在 Node.js 项目中,我们需要新建一个main.js
文件作为入口文件。main.js
并不是一个默认的或特殊的文件名,它经常被用作项目的入口文件之一,尤其是在没有明确在 package.json
文件中指定 main
字段的情况下。由于 Node.js 默认会查找名为 index.js
的文件作为入口点(如果 main
字段未被指定),因此开发者有时会选择使用 main.js
作为主文件来组织代码,以避免与可能的 index.js
混淆或为了更清晰地表达其意图。
DOM
DOM(Document Object Model)树是一个用于表示和修改HTML或XML文档的编程接口和数据结构。它允许程序和脚本动态地访问和更新文档的内容、结构和样式。DOM树将文档表示为一系列节点和对象,这些节点和对象定义了文档的结构,并提供了方法和属性来操作这些结构。
API
在前端开发中,API(Application Programming Interface,应用程序编程接口)是一个重要的概念。API 定义了一组规则和方法,允许不同的软件应用程序或组件交互和通信。在前端领域,API 通常指的是通过 HTTP 请求(如 GET、POST、PUT、DELETE 等)与后端服务器或其他服务进行通信的接口。
HTTP请求库
在前端JavaScript环境中,我们可以使用HTTP请求库(如axios
、fetch
API等)来从服务器异步获取数据,并更新或增强网页内容。这些库提供了更强大、更灵活和更易于使用的API来发送HTTP请求,处理响应,并处理可能出现的错误。
引入HTTP请求库
1. request
在Node.js中,request
库曾经是一个非常流行的HTTP客户端库,它允许你使用简单的API来发送HTTP请求。然而,由于该库在2020年已被官方宣布废弃,并且由于安全问题和其他维护问题,许多开发者已经开始转向其他库,如axios
、node-fetch
或got
。
但是,如果你仍然想要使用request
库(尽管不推荐),你可以按照以下步骤来安装和使用它:
安装
在你的项目目录中,运行以下命令来安装request
库:
npm install request --save
注意:由于request
库已被废弃,这个命令可能会安装一个较旧且可能存在安全漏洞的版本。
使用
在你的Node.js文件中引入并使用request
库:
const request = require('request');
request('https://api.example.com/data', { json: true }, (err, res, body) => {
if (err) {
console.error(err);
return;
}
console.log(body);
});
2. axios
axios:一个基于Promise的HTTP客户端,用于浏览器和node.js。
安装:
npm install axios
使用示例:
const axios = require('axios');
axios.get('https://api.example.com/data')
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error(error);
});
3. node-fetch
node-fetch:Fetch API的Node.js实现。
安装:
npm install node-fetch
使用示例:
const fetch = require('node-fetch');
fetch('https://api.example.com/data')
.then(response => response.json())
.then(data => {
console.log(data);
})
.catch(error => {
console.error('Error:', error);
});
4. got
got:一个功能强大的HTTP请求库,具有流、表单数据、重试、缓存等特性。
安装:
npm install got
使用示例:
const got = require('got');
got('https://api.example.com/data', { json: true })
.then(response => {
console.log(response.body);
})
.catch(error => {
console.error(error);
});
2,3,4方案都提供了类似request
库的功能,但更加现代、安全且维护良好。
结语
在今后的学习中我们还会继续贯彻性的学习很多关于全栈的知识,包括他的更多基础知识,全栈的实际操作与应用和全栈的进阶应用。在下一个篇章中,我们将学会如何利用这些知识和AI结合爬取网页,踏出AI全栈实践的第一步~
转载自:https://juejin.cn/post/7369453809972854823