VPN技术 · 2023年11月10日 0

Node.js学习

Node.js入门

创建第一个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"});//设置响应头
   response.write("Hello World");//发送响应内容
   response.end();//结束响应
}).listen(8888);//监听端口8888

使用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) {//定义请求和响应的处理函数
     console.log("Request received.");//日志输出
     response.writeHead(200, {"Content-Type": "text/plain"});//设置响应头
     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模块
server.start();//调用server的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()方法用于在文件末尾追加内容。如果文件不存在,则会创建新文件:

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

open()方法打开指定文件以进行写入,如果文件不存在则创建一个空文件:

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

writeFile()方法用于写入文件,如果文件不存在,则创建一个新文件并写入内容:

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!");
});