1.node.js安装
2.node运行文件
- 找到项目目录,地址栏输入cmd
- 在终端输入 node 文件名.js 或 node 文件名(.js后缀可省略)
3.搭建node服务器
1.引入http模块
let http = require('http')
2.创建web服务 ,返回http对象
let app = http.createServer((req,res)=>{
req //请求体 浏览器->服务器
req.url // 地址 提取地址栏数据
req.on('data') //提取非地址栏数据 所有的http[s]都会触发end事件
req.on('end')
res// 响应 服务器->浏览器
res.writeHead(200,{'Content-Type':'text/html;charset=utf-8'});//响应头设置
res.write(字符/数据<string><buffer>) //返回数据
res.end() //结束响应 必须
})
3.监听服务器
app.listen(端口,[地址],[回调])
- 监听成功,回调一次
- 端口: 1-65535, 1024以下系统占用
- 虚拟地址localhost 真实域名xx.duapp.com
- 更新后,需要每次服务器自动重启
4.启动服务器
- 在终端输入node 文件名 来启动服务器
4.托管静态资源
什么是静态资源:项目中的.html , .css , .js , .jpg , .json …等项目文件。
1.fs模块
- 读取文件
fs.readFile('文件路径',[编码方式],(err,data)=>{})
- 更名
fs.renameSync('改前','改后');
- 删除
fs.unlinkSync('文件路径')
2.引入fs模块(磁盘操作,文件操作)
let fs = require('fs')
3.在服务器里托管静态资源
// 实例化http对象(服务器)
let app = http.createServer((req, res) => {
// 判断是要读取动态资源(接口api)|静态资源
if (req.url.indexOf('/api') !== -1) {
// 处理接口
console.log('处理接口',req.url)
res.end()
} else {
// 处理静态资源,www为项目目录
console.log('处理静态资源', req.url);
try {
let path = req.url === '/' ? '/index.html' : req.url;
let html = fs.readFileSync('./www' + path);
// 返回
res.write(html)
res.end()
//返回nopage.html为报错页面
} catch (e) {
let error = fs.readFileSync('./www/nopage.html');
res.write(error);
res.end()
}
}
})
// 监听服务器对象
app.listen(端口)