文章目录
1. Node.js 概述
Node.js 是一个用于在浏览器之外执行 JavaScript 代码的运行环境。它基于 Google Chrome 的 V8 JavaScript 引擎,这使得开发者可以使用 JavaScript 进行服务端脚本编写,从而开发动态的 Web 应用程序。Node.js 以其非阻塞、事件驱动的架构而著称,这使其在处理 I/O 密集型应用时非常高效。
2. Node.js 安装与基础操作
- 查看版本:
node -v
:查看 Node.js 版本号。npm -v
:查看 npm(Node.js 包管理器)版本号。
- 安装依赖包:
npm install 包名@版本
:安装指定版本的包。npm install 包名 --save-dev
:将包安装到devDependencies
中,用于开发环境。npm install 包名 -g
:全局安装包(如nodemon
、nrm
等)。
- 初始化项目:
npm init -y
:快速创建package.json
文件,初始化项目。npm install
:根据package.json
文件安装项目依赖。
- 其他常用命令:
clear
:清屏。ls
:查看当前目录下的文件和文件夹。
3. 全局对象与工具
- 全局对象:
global
:Node.js 提供的全局对象,例如global.console.log("hello node")
可以在任何地方使用。
- 工具:
express
:一个基于 Node.js 的 Web 框架,用于构建 HTTP 服务。nodemon
:用于监控文件变化,并自动重启 Node.js 应用程序的工具。
- 镜像配置:
npm config get registry
:查看当前的 npm 镜像源。npm config set registry <url>
:设置镜像源(如淘宝源https://registry.npm.taobao.org
)。nrm
:npm 镜像源管理工具,可以方便地切换不同的镜像源。
- Node.js 版本管理:
npm install n -g
:安装n
版本管理工具。n <version>
:切换或安装指定的 Node.js 版本。
- 缓存管理:
npm cache clean -f
:清理 npm 缓存。
4. Node.js 内置模块
- 文件系统(fs):
fs.readFile(path, callback)
:异步读取文件内容。fs.writeFile(file, data, callback)
:异步写入内容到文件。
- 路径模块(path):
path.join([...paths])
:将多个路径片段拼接成一个完整的路径字符串。
5. 模块系统
Node.js 使用 CommonJS 模块系统,每个文件都是一个模块。模块的成员可以通过 exports
对象导出,其他模块通过 require
函数进行导入。
- 加载模块:
const fs = require('fs'); // 加载内置模块 const custom = require('./customModule'); // 加载自定义模块 const moment = require('moment'); // 加载第三方模块,需先安装
- 导出与导入:
// 导出模块成员 module.exports = { sayHello: function() { console.log("Hello"); } }; // 导入模块成员 const { sayHello } = require('./customModule'); sayHello();
- 包的语义化版本规范:
- 版本号格式为
主版本号.次版本号.修订号
,例如3.3.3
。- 主版本号:有重大变更时增加。
- 次版本号:新增功能时增加。
- 修订号:修复 Bug 时增加。
- 版本号格式为
- 共享项目时删除
node_modules
文件夹:
通过package.json
中的dependencies
字段记录项目依赖,其他开发者可以通过npm install
重新安装依赖。
6. Express 框架概述
Express
是一个基于 Node.js 的 Web 应用框架,它简化了服务器端开发,提供了丰富的功能用于处理 HTTP 请求和响应。
- Express 项目初始化:
npm install express
- 快速入门示例:
// 导入 express const express = require('express'); // 创建应用对象 const app = express(); // 创建路由规则 app.get('/home', (req, res) => { res.send('hello express server'); }); // 监听端口 启动服务 app.listen(3000, () => { console.log('服务已启动,端口监听为 3000'); });
7. Express 路由
路由决定了应用程序如何响应客户端对特定端点的请求。一个路由由请求方法、路径和回调函数组成。
- 示例:
app.get('/home', (req, res) => { res.send('网站首页'); }); app.post('/login', (req, res) => { res.send('登录成功'); }); app.all('*', (req, res) => { res.send('<h1>404 Not Found</h1>'); });
8. 获取请求参数
Express 提供了简便的 API 来获取请求报文中的数据,同时兼容原生 HTTP 模块的获取方式。
- 示例:
app.get('/request', (req, res) => { console.log(req.query); // 获取查询字符串 console.log(req.get('host')); // 获取指定的请求头 res.send('请求报文的获取'); });
9. 响应客户端请求
Express 提供了简便的 API 来设置响应状态码、响应头和响应体,同时兼容原生 HTTP 模块。
- 示例:
app.get('/response', (req, res) => { res.status(500); // 设置响应状态码 res.set('session', 'abcdefghijklmn'); // 设置响应头 res.send('中文响应不乱码'); // 设置响应体 });
10.案例
1. 使用 Express 构建一个简单的 Web 应用
const express = require('express'); const app = express(); // 主页路由 app.get('/', (req, res) => {
res.send('欢迎来到我的网站'); }); // 登录路由 app.post('/login', (req, res) => {
res.send('登录成功'); }); // 404 路由 app.all('*', (req, res) => {
res.send('<h1>404 Not Found</h1>'); }); // 启动服务器 app.listen(3000, () => {
console.log('服务器已启动,端口监听在 3000'); });
2. 使用 fs 模块读取和写入文件
const fs = require('fs'); // 读取文件内容 fs.readFile('example.txt', 'utf8', (err, data) => {
if (err) throw err; console.log(data); }); // 写入内容到文件 fs.writeFile('example.txt', 'Hello, Node.js!', (err) => {
if (err) throw err; console.log('文件已保存'); });
通过这个开发指南和案例,你可以更好地掌握 Node.js 和 Express 的基本用法,并能够在实际项目中灵活应用这些知识。
到此这篇Node.js 开发指南,命令手册,常用概念、案例_node js 开发的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/hd-nodejs/4072.html