使用 nodejs 部署一个服务器
+ 能返回指定的页面和指定的文件
1. http 模块创建服务
1-1. 导入 http 模块
1-2. 创建服务
1-3. 监听端口
2. 根据请求返回对应的内容
2-1. 拿到 req 里面 url 信息
2-2. 进行 if 条件判断
2-3. 读取指定文件返回给前端
3. 读取到文件返回给前端
3-1. 导入 fs 模块
3-2. 使用 readFile 方法读取到在我服务器上的那个 index.html 文件
3-3. 把读取到的内容返回给前端
实战开始
按照我的目录结构创建文件夹
index.html代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>我是 html 页面!</h1>
</body>
</html>
index.js代码
//1-1. 导入 http 模块
const http = require('http')
//导入 fs 模块
const fs = require('fs')
//1-2. 创建服务
const server = http.createServer(function(req,res){
2-1. 拿到 req 里面的 url 信息
const { url } = req
//2-2. 进行 if 条件判断
if(url ==='/index.html'){
//2-3. 读取指定文件返回给前端
fs.readFile('./html/index.html',(err,data) =>{
//如果读取失败
if(err) return console.log(err)
//若读取成功
res.end(data)
})
}
})
//1-3. 监听端口
server.listen(8080,() =>console.log('在8080端口运行的服务器 @-@'))
node 运行 index.js文件
访问浏览器 localhost:8080/index.html
当 index.html 文件内部引用 css 文件和 js 文件时,此时的目录结构为
style.css 代码
body {
background-color: aqua;
}
main.js 代码
window.alert('点我一下')
index.html 代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style.css">
<title>Document</title>
</head>
<body>
<h1>我是 html 页面!</h1>
<script src="main.js"></script>
</body>
</html>
此时添加 if 判断即可
index.js 代码
//1-1. 导入 http 模块
const http = require('http')
//导入 fs 模块
const fs = require('fs')
//1-2. 创建服务
const server = http.createServer(function(req,res){
2-1. 拿到 req 里面的 url 信息
const { url } = req
//2-2. 进行 if 条件判断
if(url ==='/index.html'){
//2-3. 读取指定文件返回给前端
fs.readFile('./html/index.html',(err,data) =>{
//如果读取失败
if(err) return console.log(err)
//若读取成功
res.end(data)
})
}
if(url === '/style.css'){
fs.readFile('./css/style.css',(err,data) =>{
if(err) return console.log(err)
res.end(data)
})
}
if(url === '/main.js'){
fs.readFile('./js/main.js',(err,data)=>{
if(err) return console.log(err)
res.end(data)
})
}
})
//1-3. 监听端口
server.listen(8080,() =>console.log('在8080端口运行的服务器 @-@'))
再次用node 运行 index.js文件
访问浏览器