Nodejs 与npm

Web 服务器开发: Node.js 可以用于构建高性能的 Web 服务器,处理大量的并发请求。许多知名的网站和应用都使用 Node.js 作为服务器端技术,如 Netflix、PayPal 等。 实时应用开发: 由于 Node.js 的非阻塞 I/O 和事件驱动特性,非常适合开发实时应用,如在线聊天应用、实时游戏、 实时数据监控系统等。 命令行工具开发: 开发者可以使用 Node.js 编写命令行工具,利用其丰富的模块和跨平台特性,方便地实现各种功能,如 文件处理、代码编译、自动化部署等。 微服务架构: Node.js 可以用于构建微服务架构中的各个服务,通过 npm 模块和 HTTP 协议进行服务之间的通信和 协作,实现系统的高可扩展性和灵活性。

87 mkdir -p /data/codes/npm-project

88 cd /data/codes/npm-project

89 npm init

90 apt install nodejs npm

91 node -v
cat > server.js << eof

const http = require('http');

// 创建一个 HTTP 服务器

const server = http.createServer((req, res) => {

// 设置响应头

res.writeHead(200, { 'Content-Type': 'text/plain' });

// 发送响应内容

res.end('Hello, World!\n');

});

// 监听 3000 端口

server.listen(3000, '0.0.0.0', () => {

console.log('Server running at http://0.0.0.0:3000/');

});

eof
node server.js

curl 10.0.0.11:3000

Hello, World!

npm

npm(Node Package Manager)是 Node.js 的默认包管理器,类似于手机应用市场。其主要功能是 管理 Node.js 项目中的各种依赖包。npm 拥有巨大的软件仓库,汇聚了海量 Node.js 包,功能覆盖网络 编程、数据库交互、前端框架搭建等众多领域, 比如网络编程、文件操作、数据库管理、前端框架等,开发者 可以在其中找到满足自己项目需求的各种包。

mkdir /data/codes/npm-project

cd /data/codes/npm-project

npm init

npm init

This utility will walk you through creating a package.json file.

It only covers the most common items, and tries to guess sensible defaults.

See `npm help init` for definitive documentation on these fields

and exactly what they do.

Use `npm install <pkg>` afterwards to install a package and

save it as a dependency in the package.json file.

Press ^C at any time to quit.

package name: (npm-project) #直接Enter

version: (1.0.0) #直接Enter

description: 测试项目 #简单描述

entry point: (index.js) #直接Enter

test command: #直接Enter

git repository: #直接Enter

keywords: #直接Enter

author: zz_zjx 作者

license: (ISC) #直接Enter

Is this OK? (yes) # 直接Enter
为了避免获取互联网的软件包过于缓慢,定制专属的镜像源

npm config set registry https://registry.npmmirror.com

在当前目录下生产一个隐藏的配置文件

cat .npmrc

registry=https://registry.npmmirror.com/

安装 express 框架作为项目依赖,express 是一个流行的 Node.js Web 应用框架。

npm install express --registry=https://registry.npmmirror.com

express 安装到项目的 node_modules 目录下,并在 package.json 文件中添加相应的依赖项。

ls

node_modules package.json package-lock.json

root@ubuntu24:npm-project# tree -L 1 node_modules node_modules ├── accepts ├── array-flatten ... ├── utils-merge └── vary 68 directories, 0 files

查看包依赖

head package-lock.json

{

"name": "npm-project",

"version": "1.0.0",

"lockfileVersion": 3,

"requires": true,

"packages": {

"": {

"name": "npm-project",

"version": "1.0.0",

"license": "ISC",
创建入口文件 index.js

cat > index.js << eof

const express = require('express');

const app = express();

const port = 3000;

// 定义简单的路由

app.get('/', (req, res) => {

res.send('站点首页!!!\n');

});

app.get('/login', (req, res) => {

res.send('站点登录页面!!!\n');

});

app.get('/register', (req, res) => {

res.send('站点注册页面!!!\n');

});

// 启动服务器

app.listen(port, () => {

console.log(`Server is running on port ${port}`);

});

eof

为了方便启动项目,你可以在 package.json 文件中添加一个启动脚本

vim package.json

{

"name": "npm-project",

"version": "1.0.0",

"description": "测试项目",

"main": "index.js",

"scripts": {

"start": "node index.js" #修改此项

},

"author": "zz_zjx",

"license": "ISC",

"dependencies": {

"express": "^5.1.0"

}

}

运行

npm start

curl 10.0.0.11:3000

站点首页!!!

root@ubuntu11:~# curl 10.0.0.11:3000/login

站点登录页面!!!

root@ubuntu11:~# curl 10.0.0.11:3000/register

相关推荐
慧一居士6 小时前
Vite项目中使用Less步骤,详细使用示例
前端·css
花间相见6 小时前
【LangChain组件03】—— LangChain Agents 执行与状态:工作流程与状态管理实战
java·前端·langchain
kyriewen6 小时前
面试官让我用 AI 重构一个 8 年陈的 React 组件——他说他不看代码,只看我会不会拆
前端·javascript·面试
计算机魔术师6 小时前
700吉瓦「幽灵用电」:美国AI数据中心的抢电闹剧正在失控
前端
IT_陈寒6 小时前
JavaScript数组排序踩的坑,差点让我加班到凌晨
前端·人工智能·后端
风骏时光牛马6 小时前
提示词工程:大模型交互的核心构建艺术
前端
今日无bug7 小时前
大模型的回答是怎么一个字一个字蹦出来的?前端流式输出解析
前端·llm·agent
计算机魔术师7 小时前
Anthropic 复盘 Claude 模型越权访问真实系统事件并改进对齐与安全措施
前端
掘金者阿豪7 小时前
Seedance 2.0/2.5 虚拟素材能跨 Key 共用吗?一次讲清 Asset ID、账号隔离与 SaaS 素材架构
前端·后端
用户50093768390397 小时前
热敏小票 Web 打印:我在 58/80mm 上折腾的两周
前端·vue.js