初入Node.js必备知识

Node.js因什么而生,作用是干什么?

Node.js是一个用c和c++打造的一个引擎,他能够读懂JavaScript,并且让JavaScript能够和操作系统打交道的能力

JavaScript 原本只能在浏览器中运行,但随着Web应用程序越来越复杂,仅靠客户端JavaScript很难满足需求

当时缺乏一个基于JavaScript的服务器端运行环境,开发人员无法使用同一种语言完成端到端的开发

Node.js 的诞生是为让JavaScript 开发人员能够使用一种熟悉的语言构建高性能、可伸缩的服务器端应用程序

简单来说就是Node.js 就是为了让JavaScript语言可以写后端代码

使用Node.js 构建后端服务

这里使用node去构建一个简易的服务器,让大家体验一下Node.js 的强大

  • 首先通过npm init去创建一个项目
  • 接下来安装express
js 复制代码
npm i express

然后你就可以构建后端服务了

这里我们简单介绍一下express

Express 是一个基于 Node.js 平台的极简、灵活的 Web 应用开发框架。 它提供了一系列强大的特性,使得创建 Web 应用变得更加快捷和方便。主要特点包括:

  1. 路由管理:可以轻松定义不同的 URL 路径与相应的处理函数之间的映射,实现对不同请求的差异化处理。
  2. 中间件支持:允许在请求处理流程中添加各种中间件,用于执行如请求体解析、日志记录、身份验证、错误处理等通用功能。
  3. 模板引擎集成:能够方便地与各种模板引擎(如 Pug、EJS 等)集成,以便生成动态的 HTML 页面。
  4. 便捷的 HTTP 方法支持:对常见的 HTTP 方法(如 GET、POST、PUT、DELETE 等)提供了简洁的接口。

使用 Express 框架,可以大大提高 Node.js Web 应用的开发效率,减少重复的代码编写工作,使开发者能够更专注于业务逻辑的实现。

接下来我们创建一个index.js

js 复制代码
const express = require("express");

const app = express();
const port = 3000;

app.get("/", (req, res) => {
  res.send("Hello World!!!");
});

app.listen(port, () => {
  console.log(`项目启动在-http://localhost:${port}`);
});

这段 Node.js 代码使用 Express 框架创建了一个简单的 Web 应用。

运行这段代码后,就可以在浏览器中访问 http://localhost:3000 ,看到页面显示 Hello World!!!

  • 运行index.js代码
  • 浏览器显示效果

可见Node.js的功能有多么的强大

Node.js模块规范

  • 什么是模块化?

模块化是一种将复杂的软件系统分解为独立、可重用的模块的设计理念和方法。

  • JavaScript什么时候开始拥有模块化系统

JavaScript本身在早期并没有内置的模块化系统。然而,随着前端开发的复杂性不断增加,对模块化的需求也日益迫切。

CommonJS规范在服务器端的Node.js环境中很早就被采用,为JavaScript提供了一种模块化的方式。

在浏览器端,ES6引入了原生的模块化语法,包括 importexport 关键字,使得 JavaScript 在语言层面上拥有了更正式和标准的模块化支持。于 2015 年 6 月发布 ES6 开始,引入了原生的模块化语法。

可以说早期是Node.js官方为了适配JavaScript打造了模块系统,现在JavaScript自己搞了一个,属实算是小小背刺一刀了

  • CommonJS规范
js 复制代码
    // 导出模块
    module.exports = { 
        someFunction: function() {...}, 
        someVariable: 'value' 
    };

    // 引入模块
    const myModule = require('./myModule'); 
  • ES6模块规范
js 复制代码
    // 导出模块
    export function someFunction() {...} 
    export const someVariable = 'value'; 

    // 引入模块
    import { someFunction, someVariable } from './myModule'; 

Node.js中使用模块

那么我们就以操作文件为例,介绍一下模块化系统的使用

  • 首先我们先创建一个文本文件,里面的内容为Hello World
  • 接下来创建一个index.js

通过引入fs模块去操作文件系统

js 复制代码
const fs = require("fs");

通过fs的readFileSync可以读取文件

js 复制代码
const content = fs.readFileSync("./text.txt", (err, data) => {
  if (err) {
    console.log(err);
  }
});

接下来我们打印结果content,可以看到输出的结果为Hello World

还可以使用writeFileSync去创建一个文件,并向文件内输入内容

js 复制代码
fs.writeFileSync("./readme.md", "Hello World");

console.log(fs.statSync("./readme.md"))
  • fs.writeFileSync("./readme.md", "Hello World"); 这行代码会同步地将字符串 "Hello World" 写入当前目录下名为 readme.md 的文件中。如果文件不存在,会创建该文件;如果文件已存在,会覆盖其原有内容。

  • console.log(fs.statSync("./readme.md")) 这行代码会同步获取 readme.md 文件的状态信息,并将其打印到控制台。返回的状态信息包含了文件的各种属性,如文件大小、创建时间、修改时间等。

这里只是举例说明其中一个模块的部分功能

在Node.js里面还有很多的模块化系统可以供我们使用,详情可以阅读Node.js 中文网 (nodejs.cn)

总结

本文介绍了初入Node.js必备知识

相信看到这里的你一定对Node.js有了一个初步的了解

Node.js的强大远远不止于此,以后我们会继续细致的去讲解Node.js的奥秘

相关推荐
哎呦没9 分钟前
Spring Boot与林业产品推荐系统的融合
java·spring boot·后端
大梦百万秋10 分钟前
云原生后端开发:构建现代化可扩展的服务
后端
李小白2020020215 分钟前
Linux 生成/proc/config.gz
linux·服务器·前端
前端小臻26 分钟前
后台管理-动态路由配置以及用户权限管理(vue3+element plus+koa+Sequelize )
前端·网络·node.js·koa
编码追梦人31 分钟前
Android.mk之变量LOCAL_MODULE_TAGS
android·前端
silvia_frontend33 分钟前
qiankun+vite+vue3从零搭建一个微前端架构系统
前端·微服务
往日情怀酿做酒 V176392963834 分钟前
Django基础之路由
后端·python·django
GIS好难学44 分钟前
《Vue零基础入门教程》第五课:挂载
前端·javascript·vue.js
桃园码工1 小时前
第三章:基本语法 2.变量和常量 --Go 语言轻松入门
后端·golang·go语言
可缺不可滥1 小时前
前端 用js封装部分数据结构
前端·javascript·数据结构