沃梦达 / IT编程 / 数据库 / 正文

Node.js的基本知识简单汇总

当下Web开发中最常用的编程工具之一是Node.js,它是基于Chrome V8引擎的JavaScript运行环境。这里将对Node.js的基本知识进行简单汇总。

当下Web开发中最常用的编程工具之一是Node.js,它是基于Chrome V8引擎的JavaScript运行环境。这里将对Node.js的基本知识进行简单汇总。

什么是Node.js

Node.js是一个基于Chrome V8引擎的JavaScript运行环境,可以在服务端运行JavaScript代码,由于它是面向事件驱动的,非阻塞I/O模型,可以轻松处理大量并发连接。

Node.js的特点

  • 异步I/O
  • 事件驱动
  • 单线程
  • 轻量高效
  • 跨平台运行

Node.js的安装

Node.js官网下载最新的稳定版即可。

Node.js的常用命令

  • 启动node.js读取JavaScript文件:node file.js
  • 按Ctrl+c快捷键退出Node.js应用程序
  • 打开REPL(交互式命令行):node,退出:.exit

Node.js的模块系统

Node.js支持模块化编程,可以通过require()函数引用其他模块内容。例如,以下是一个简单的模块:

// math.js
exports.add = function (a, b) {
  return a + b;
};

// app.js
const math = require('./math');
console.log(math.add(1, 2));

Node.js的HTTP模块

Node.js的HTTP模块使其能够搭建服务器和处理HTTP请求。以下是一个简单的服务器示例:

const http = require('http');
const server = http.createServer(function (request, response) {
  response.writeHead(200, {'Content-Type': 'text/plain'});
  response.end('Hello World\n');
});
server.listen(8080);
console.log('Server running at http://localhost:8080/');

以上就是Node.js的基本知识简单汇总。

示例一:用Node.js实现一个简单的Web服务器

const http = require('http');
const fs = require('fs');
const path = require('path');
const port = 8080;

http.createServer(function (request, response){
    const filePath = '.' + request.url;
    const extname = path.extname(filePath);
    let contentType = 'text/html';
    switch (extname) {
        case '.js':
            contentType = 'text/javascript';
            break;
        case '.css':
            contentType = 'text/css';
            break;
        case '.json':
            contentType = 'application/json';
            break;
        case '.png':
            contentType = 'image/png';
            break;
        case '.jpg':
            contentType = 'image/jpg';
            break;
        case '.wav':
            contentType = 'audio/wav';
            break;
    }

    fs.readFile(filePath, function(error, content) {
        if (error) {
            if(error.code === 'ENOENT'){
                response.writeHead(404);
                response.end('404 File Not Found\n');
                response.end();
            }
            else {
                response.writeHead(500);
                response.end('Sorry, check with the site admin for error: '+error.code+' ..\n');
                response.end();
            }
        }
        else {
            response.writeHead(200, { 'Content-Type': contentType });
            response.end(content, 'utf-8');
        }
    });

}).listen(port);

console.log('Server running at http://127.0.0.1:'+port+'/');

示例二:用Node.js实现页面计数器

const http = require('http');
const fs = require('fs');
const path = require('path');
const port = 8080;
const counterFilePath = path.join(__dirname, '/counter.txt');

http.createServer(function (request, response) {
    fs.readFile(counterFilePath, 'utf-8', function(error, content) {
        let counter = 0;
        if (error) {
            if(error.code === 'ENOENT'){
                counter = 0;
            }
            else {
                response.writeHead(500);
                response.end('Sorry, check with the site admin for error: '+error.code+' ..\n');
                response.end();
            }
        }
        else {
            counter = parseInt(content);
        }

        counter++;

        fs.writeFile(counterFilePath, counter, 'utf-8', function(writeError){
            if(writeError){
                console.log(writeError);
            }
        });

        response.writeHead(200, { 'Content-Type': 'text/html' });
        response.end('You are the ' + counter + 'th visitor!\n');
    });
}).listen(port);

console.log('Server running at http://127.0.0.1:'+port+'/');

以上就是“Node.js的基本知识简单汇总”的完整攻略,包含了Node.js的安装、常用命令、模块系统和HTTP模块。并提供了两个示例,一个是用Node.js实现一个简单的Web服务器,另一个是用Node.js实现一个页面计数器。

本文标题为:Node.js的基本知识简单汇总