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)throwerr;
console.log('Saved!');
});

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

var fs = require('fs');

fs.writeFile('mynewfile3.txt','Hello content!',function(err) {
if(err)throwerr;
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)throwerr;
console.log('Updated!');
});

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

var fs = require('fs');

fs.writeFile('mynewfile3.txt','This is my text',function(err) {
if(err)throwerr;
console.log('Replaced!');
});

删除/重命名文件

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

var fs = require('fs');

fs.unlink('mynewfile2.txt',function(err) {
if(err)throwerr;
console.log('File deleted!');
});

fs.rename() 重命名文件

var fs = require('fs');

fs.rename('mynewfile1.txt','myrenamedfile.txt',function(err) {
if(err)throwerr;
console.log('File Renamed!');
});

zh-CN Chinese (Simplified)
X