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