Node.js

跨平台的node.js运行环境,使开发者可以搭建服务器端的js应用程序

它可以编写服务器端程序;

编写数据接口;提供网页资源浏览功能

前端工程化:开发集成的所有工具和技术

与浏览器环境的区别

node.js环境中没有DOM和BOM

fs模块-读取文件

javascript 复制代码
const fs= require('fs')

fs.writeFile('test.txt','qwertyuiopasdfghjkl;zxcvbn',(err)=>{
  if(err)
  console.log(err)
  else
  console.log('导入成功')
})

fs.readFile('test.txt',(err,data)=>{
  if(err)
  console.log(err)
  else
  console.log(data.toString())
})

最好使用绝对路径dirname

压缩文件

可运用正则表达式

javascript 复制代码
const fs = require('fs')
const path = require('path')

fs.readFile(path.join(__dirname, 'mi/index.html'), (err, data) => {
  if (err)
    console.log(err)
  else{
    const htmlstr = data.toString().replace(/[\r\n]/g, '')
    console.log(htmlstr)
    fs.writeFile(path.join(__dirname, 'index1.html'),htmlstr, err =>{
      if (err)
      console.log(err)
    else{
      console.log('导入成功')
    }
    })
  }
    

URL的端口号

标记服务器里不同功能的服务程序

端口号范围:0~65535之间任意整数

如web服务程序:提供网上信息浏览功能

可以基于node编写web服务程序,不过0~1023和一些其他端口被占用

http模块-创建web服务

创建web服务并响应内容给服务器

步骤:

1.加载http模块,创建web服务对象

2.监听request请求事件,设置响应头和响应体

3.配置端口号并启动web服务

浏览器请求http://localhost:3000测试

(localhost固定代表本机域名)

用node.js 浏览器启动web服务

text/plain为普通文本

server.on里的第一个形参是请求的信息对象

res为响应对象,可以设置响应头和响应体

访问:

req.url为资源路径

模块化

定义:commonJS模块是为Node.js打包js代码的原始方法。Node.js支持的浏览器和其他js代码运行时使用的ESC标准

在Node.js中,每个文件都被视为一个模块

好处:提高代码复用性,独立作用域

使用:到处与导入有特定语法

npm- 全局软件包 nodemon

软件包区别:

本地软件包:当前项目内使用,封装属性和方法,存在于node_modules

全局软件包:本机所有项目使用,封装命令和工具,存在系统设置的位置

nodemon作用:代替node命令,检测代码更改,自动重启程序

相关推荐
hoLzwEge1 天前
pnpm vs npm:新一代包管理器的范式革命
前端框架·node.js
麻辣凉茶1 天前
给阿嬤一封来自云端的信(上)
前端·node.js
codingWhat2 天前
能效平台设计方案(打通gitlab和飞书)
后端·node.js·koa
见过夏天4 天前
Node.js 常用命令全攻略
node.js
前端双越老师4 天前
我从 0 开发的 AI Agent 智语项目发布了
前端·node.js·agent
kyriewen5 天前
2026 年了,还在用 Node.js?Bun 迁移实战:20 分钟搞定,附踩坑记录
前端·javascript·node.js
donecoding5 天前
3 条命令搞定闭环 Monorepo:Lerna 版本管理 + 拓扑构建 + 自定义分发
前端·前端框架·node.js
Flynt6 天前
npm v12 来了:allowScripts 默认关闭,我的项目差点跑不起来
安全·npm·node.js
叫我Paul就好7 天前
尝试 Node 搭建后端-开发框架
node.js
风止何安啊9 天前
网课倍速痛点解决:一套前端代码实现自由控速播放器
前端·javascript·node.js