Node.JS与开发实践 | 青训营笔记

130 阅读3分钟

这是我参与「第四届青训营」笔记创作活动的的第12天

  • Nodejs 是一个基于 Chrome V8 引擎的ECMAScript运行时环境
  • Nodejs 可以执行js文件(有了 Nodejs 之后,js文件就能运行在服务器端了)
  • Nodejs 提供了大量的工具(API),能够让我们完成文件读写、Web服务器创建等功能

好耶! 认识了基本的Nodejs特性 让我们来配置吧
Node.js (nodejs.org)
建议用LTS长期维护版本 稳定得很
这里我为了演示 便开了新环境来演示(其实就是刚重装系统 还没整好各类环境) image.png
一路next即可
image.png
装完了 我们在Win+R输入cmd
image.png
没有意外的情况下 会出现这个
配置完环境 我们来说说js和nodejs的区别

  • node.js是环境 js是语言
  • 浏览器解析执行的是js 而nodejs可以用来搞后端
  • 浏览器中js组成:ES核心 + DOM + BOM Nodejs 中js组成:ES核心 + 全局成员 + 模块
    既然node.js可以玩后端 那我们就来搞个实践
//载入http模块
var http = require("http");

接下来 我们创建项目-利用http.createServer() 方法创建服务器
先在Project下新建server.js

var http = require('http');

http.createServer(function (request, response) {

    // 发送 HTTP 头部 
    // HTTP 状态值: 200 : OK
    // 内容类型: text/plain
    response.writeHead(200, {'Content-Type': 'text/plain'});

    // 发送响应数据 "114514"
    response.end('114514\n');
}).listen(8888);

// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8888/');

然后运行

node server.js
Server running at http://127.0.0.1:8888/

我们打开127.0.0.1:8888 就会发现114514出现了!
搞完server 我们来看看模块方面

文件系统模块 --- fs 可以进行文件创建/删除,读取文件,获取文件详情等操作

文件读取 --- readFile

const fs = require('fs');
fs.readFile(var1, var2, var3);
/**
参数1: 要读取的文件路径 --- 相对路径和绝对路径均可,推荐使用绝对路径
参数2: 配置项,主要用来配置字符集。可选参数。
      如果不设置该参数,文件内容会以二进制形式返回
参数3: 读取完成后触发的回调函数,有两个参数 --- err 和 result
     读取成功:
         err: null
         result: 文件内容,如果不设置参数2,则返回二进制数据。可以使用 toString() 方法将二进制数据
                 转为正常字符串
     读取失败:
         err: 错误对象
         result: undefined
*/

文件写入 --- readwrite

// 目标: 向 files 目录下的homo.txt文件中写入一段字符串

//1. 导入/加载/引入 fs 模块
const fs = require('fs');

//2. 调用writeFile方法向文件中写入内容
//writeFile方法有两个特点:
// 1) 如果没有该文件,则尝试创建
// 2) writeFile是覆盖写入
/**
 * 参数1: 要写的文件的路径,绝对和相对路径均可
 * 参数2: 要写入的字符串
 * 参数3: 字符集,默认是utf-8
 * 参数4: 写入完成后触发的回调函数,该函数有一个参数 err
 */

fs.writeFile('./files/homo.txt', '哼哼哼, 'utf-8', (err) => {
    if (err) {
        console.log(err);
    }
})

文件追加 --- appendFile

// 目标: 向homo.txt文件中追加写入一个字符串

//1. 导入/加载/引入 fs 模块
const fs = require('fs');

//2. 调用appendFile方法向文件中追加写入内容
// 特点:
// 1) 如果没有该文件则尝试创建
// 2) 追加写入
// 3) 参数和writeFile方法一模一样

/**
 * 参数1: 要追加写入的文件的路径
 * 参数2: 要写入的字符串
 * 参数3: 字符集,默认是utf-8
 * 参数4: 写入完成后触发的回调函数,有一个参数 err
 */
fs.appendFile('./files/homo.txt', '---我是先辈', (err) => {
    if (err) {
        console.log(err);
    }
})

Bye~