Node.js新手指南:快速上手与实战演练

1,748 阅读4分钟

前言

    众所周知JavaScript其本身是不具有作为后端开发语言的能力的,但是当Node.js的诞生,Js的能力就发生了翻天覆地的变化。而Node.js又是什么呢?

什么是Node.js

    Node.js是一个开源的、跨平台的JavaScript运行环境,它可以让开发者在服务器端使用JavaScript编写应用程序,而不仅仅是在浏览器中运行。Node.js是基于Google的V8 JavaScript引擎构建的,这使得它可以快速执行JavaScript代码。通俗地说,当我们使用相关的node指令,模块化一个后端项目,但是在这个后端项目中我们依旧使用JavaScript的语法格式写代码,当我们使用node指令执行代码时,node就会把Js代码翻译成为C/C++代码。

安装Node.js

    Node.js进入Node.js官网

image.png

我们可以很直观地看到,直接下载Node.js,在我想要这里,为大家提供了不同版本的Node.js,大家可以自行根据需求进行一个下载即可

image.png

我们可以看到,在一些版本后面会有小括号提示,Current表示这是最新版本,LTS表示这是一个稳定的版本。 下载完之后我们得到的是Node.js的一个安装包,直接安装就好了

安装好后,打开命令行(cmd)输入

node -v

检查node是否成功安装,如果显示没有该指令,那么很可能就是没有配置Node.js的环境变量。

Node.js的简单使用

    fs文件系统,作用就是跟C语言中读写文件功能相似。

1.使用npm init -y 模块化一个后端项目

    我们在Vscode中创建一个新的文件夹Node-learn,打开终端,输入

npm init -y

其中npm是Node中的命令,init是初始化,而-y 是-yes,因为如果我们只单单写

npm init

也是可以模块化一个后端项目的,但是终端会问你一系列的问题,我们-y就是默认全选yes.当项目模块化成功后,就会多一个文件叫作“package.json”,打开文件就是这样的

{
  "name": "node-learn",
  "version": "1.0.0",
  "description": "node 学习",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "express": "^4.19.2"
  }
}

其中mian中的index.js是项目的入口文件

2.fs文件系统的一些简单语法

    使用fs这个模块,我们就首先要导入fs的模块

image.png

这样我们就可以使用fs的方法了 读取分为同步读取和异步读取

// 同步读取
const fileContent = fs.readFileSync('./text.txt','utf-8');
// console.log(fileContent);
// 异步读取
fs.readFile('./text.txt', 'utf-8', (err, data) => {
    if(!err) {
        console.log(data);
    } else {
        console.log(err);
    }
})

我们看看输出结果

image.png

输出的是中文,但是如果我们没写'utf-8'则会输出什么

image.png 得到的是Node.js中的Buffer流,按照16进制的形式输出。 那么对于写,也存在同步和异步两种方法

// 同步写
fs.writeFileSync('./readme.md', 'hello world')
// 异步写
fs.writeFile('./readme.md', 'hello world', (err) => {
    if(!err) {
        console.log('写入成功');
    } else {
        console.log(err);
    }
})

查看文件的状态则是用fs.stateSync(url)输出结果

image.png

3.端口启动!

    我们导入express这个模块,我们就可以在js中启动一个端口 image.png

导入模块之后,我们首先创建一个express实例对象,然后再命名一个端口为3001

// 创建一个express实例对象
const app = express()
//3000端口
const port = 3001

然后我们再定义了一个路由处理器,用于处理所有发往根URL(/)的GET请求。app.get()是Express提供的方法,第一个参数是路由路径,第二个参数是一个处理函数(回调),它接受两个参数:req(请求对象)和res(响应对象)。res.send()是响应对象的方法,用于向客户端发送响应数据。

app.get('/',(req,res)=>{
    res.send('Welcome to Node.js!!!');
})

最后我们再监听3001这个端口

app.listen(port,()=>{
    console.log('端口3001启动')  // 启动成功后,在控制台输出该信息  如:端口3001启动
})

image.png

端口3001

image.png

源码奉上:

const express = require('express')

// 创建一个express实例对象
const app = express()
//3000端口
const port = 3001

app.get('/',(req,res)=>{
    res.send('Welcome to Node.js!!!');
})

app.listen(port,()=>{
    console.log('端口3001启动')  // 启动成功后,在控制台输出该信息  如:端口3001启动
})

4.使用package.json中的"script"

    我们回到package.json文件中,它"script"部分有一个好玩的东西, 我现在不想写"node index.js"来执行文件了,我现在"script"中写

image.png

现在我们在终端执行"npm run server"也可以执行index.js文件

image.png

而且我们也可以自定义,我们定义一个hello

image.png

image.png

当然,我们也可以让两条指令一起执行

image.png

image.png

这里必须注意的是,命令执行的先后顺序,如果端口3001启动了,就不会执行hello,因为端口执行后,就会一直停在Web服务器端,所以这里我们要先执行hello再执行node index.js;

文章若有不足,恳请大家指出,感谢大家阅读!!