当下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的基本知识简单汇总
- php负载中使用redis实现session会话保持 2023-09-11
- Redis在Java项目中的依赖 2023-09-12
- 为什么我们做分布式的使用都是用Redis? 2023-09-13
- Mysql的timestamp时间戳详解及2038问题 2023-07-26
- Redis总结 2023-09-12
- 数据库SQL调优的几种方式汇总 2023-12-04
- Redis全量同步和增量同步原理 2023-07-13
- SQL Server利用bcp命令把SQL语句结果生成文本文件 2024-01-18
- springboot整合nacos,如何读取nacos配置文件 2023-12-04
- SQLite教程(五):索引和数据分析/清理 2023-12-20