跨平台的node.js运行环境,使开发者可以搭建服务器端的js应用程序
它可以编写服务器端程序;
编写数据接口;提供网页资源浏览功能
前端工程化:开发集成的所有工具和技术
与浏览器环境的区别
node.js环境中没有DOM和BOM
fs模块-读取文件
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
压缩文件
可运用正则表达式
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命令,检测代码更改,自动重启程序