VPN技术 · 2023年11月10日 0

学习nodejs

nodejs入门

开始我们第一个Node.js应用:“Hello World”

创建一个helloworld.js文件,然后在里面输入相应代码

console.log("Hello World");

console 模块提供了一个简单的调试控制台,类似于 Web 浏览器提供的 JavaScript 控制台

console.log 命令类似打印输出

保存该文件,并通过Node.js来执行:

然后在命令行输入

node helloworld.js

正常的话,就会在终端输出Hello World .

基于基础的HTTP服务器

首先我们创建一个简单的http应用

这里我们创建一个server.js文件,然后输入一下代码

var http = require("http");//调用HTTP模块
http.createServer(function(request, response) {//创建应用
   response.writeHead(200, {"Content-Type": "text/plain"});//给头部一个缓存,然后在HTML正常显示
   response.write("Hello World");//给一个回应到客户端
   response.end();//结束回应
}).listen(8888);//然后监听端口888

用Node.js执行你的脚本

node server.js

接下来,打开浏览器访问http://localhost:8888/,你会看到一个写着“Hello World”的网页。

小结:NODEJS 是原生从服务器进行监听,从开头然后到中间数据请求,最后结束监听,整个过程必须是完整的!

服务端模块引用

调用应用的其他模块,这里用server.js的http模块

现在创建一个server.js的文件

var http = require("http");//调用http模块,并开始进程
function start() {//才用函数引入
   function onRequest(request, response) {//函数onRequest,请求与回应
     console.log("Request received.");//控制台日志
     response.writeHead(200, {"Content-Type": "text/plain"});//HTML显示模块
     response.write("Hello World");//浏览器显示回应
     response.end();//结束进程
   }
  http.createServer(onRequest).listen(8888);
  console.log("Server has started.");
}
exports.start = start;//输出start函数内容

在index.js中引入server.js模块

var server = require("./server");//引用./server文件(默认js可以省略掉)
server.start();// server调用index.js的start函数

运行index.js

node index.js
Server has started

浏览器会显示

Hello World

文件引入

Node.js文件系统模块允许引入文件到服务端

包含文件模块,可以使用require()的方法:

var fs = require("fs");

文件模块可以读取,创建,上传,删除,重名

fs.readFile()方法可以实现读取文件

下面创建一个demo.html文件

<html>
<body>
<h1>My Header</h1>
My paragraph.
</body>
</html>

然后再创建一个 server.js的文件让我们读取demo.html文件

var http = require("http");
var fs = require("fs");
http.createServer(function (req, res) {
    fs.readFile("demo.html", function(err, data) {
        res.writeHead(200, {"Content-Type": "text/html"});
        res.write(data);
        res.end();
    });
}).listen(8888);

保存文件后,运行server.js

node server.js

现在浏览器打开localhost:8888 会显示demo.html的内容

创建文件

文件模块

  • fs.appendFile()
  • fs.open()
  • fs.writeFile()
  • appendfile() FS。方法附加到文件指定的内容。如果文件不存在,该文件将被创建:
var fs = require("fs");
fs.appendFile("mynewfile1.txt", "Hello content!", function (err) {
  if (err) throw err;
  console.log("Saved!");
});

open() FS方法以“旗”作为第二个参数,如果标志为“W”为“写作”,指定的文件打开写作。如果文件不存在,则会创建一个空文件:

var fs = require("fs");
fs.open("mynewfile2.txt", "w", function (err, file) {
  if (err) throw err;
  console.log("Saved!");
});

writefile() FS。方法将指定的文件内容是否存在。如果文件不存在,一个新的文件,包含指定内容,将被创建:

var fs = require("fs");
fs.writeFile("mynewfile3.txt", "Hello content!", function (err) {
  if (err) throw err;
  console.log("Saved!");
});

更新/上传文件

  • fs.appendFile()
  • fs.writeFile()

fs.appendFile() 在文件末尾处添加特定的内容

var fs = require("fs");
fs.appendFile("mynewfile1.txt", "This is my text.", function (err) {
  if (err) throw err;
  console.log("Updated!");
});

fs.writeFile() 把指定内容进行更换

var fs = require("fs");
fs.writeFile("mynewfile3.txt", "This is my text", function (err) {
  if (err) throw err;
  console.log("Replaced!");
});

删除/重命名文件

fs.unlink() 删除指定的文件

var fs = require("fs");
fs.unlink("mynewfile2.txt", function (err) {
  if (err) throw err;
  console.log("File deleted!");
});

fs.rename() 重命名文件

var fs = require("fs");
fs.rename("mynewfile1.txt", "myrenamedfile.txt", function (err) {
  if (err) throw err;
  console.log("File Renamed!");
});