likes
comments
collection
share

踏入全栈第一步:Node.js语言基础

作者站长头像
站长
· 阅读数 50

踏入全栈

典型的软件开发中,前端和后端的功能是明确分开的,前端在用户端,后端在服务端。前端主要负责用户界面的展示和与用户的交互,而后端则负责处理数据、执行业务逻辑以及与前端进行通信。然而,有些情况下,前端技术(如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请求库(如axiosfetch API等)来从服务器异步获取数据,并更新或增强网页内容。这些库提供了更强大、更灵活和更易于使用的API来发送HTTP请求,处理响应,并处理可能出现的错误。

引入HTTP请求库

1. request

在Node.js中,request库曾经是一个非常流行的HTTP客户端库,它允许你使用简单的API来发送HTTP请求。然而,由于该库在2020年已被官方宣布废弃,并且由于安全问题和其他维护问题,许多开发者已经开始转向其他库,如axiosnode-fetchgot

但是,如果你仍然想要使用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
评论
请登录