http模块 服务器端如何响应(获取)静态资源?

一、静态资源与动态资源介绍:

(1)静态资源

内容长时间不改变的资源。eg:图片、视频、css js html文件、字体文件...

(2)动态资源

内容经常更新的资源。eg:百度首页、淘宝搜索列表...

二、服务器端如何获取静态资源的代码?

我的目录:

01.css文件:

css 复制代码
h1{
    color: red;
    font-size: 30px;
}

01.js文件:

javascript 复制代码
var button=document.getElementById('button1');
button.onclick=function(){
    this.style.backgroundColor="yellow";
}

01.html文件:

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="./css/01.css">
</head>
<body>
    <h1>静态资源</h1>
    <button id="button1">请点击我</button>
</body>
<script src="./js/01.js"></script>
</html>

serve.js文件 :

javascript 复制代码
// 1.导入http模块
const http = require('http');
const fs = require('fs');
// 2.创建服务对象
const server = http.createServer((request, response) => {
    // 获取请求url路径
    let { pathname } = new URL(request.url, 'http://127.0.0.1');
    // 拼接文件路径 以我的目录为例子,我所有的文件都是在pages这个文件夹里面的。所以定义一个变量filePath来进行总体拼接,以简化后续代码
    let filePath=__dirname+'/pages'+pathname;
    // 读取文件 fs异步API
    fs.readFile(filePath,(err,data)=>{
        if(err){
            response.end("文件读取失败,失败原因是:"+err.message);
            return;
        }
        response.end(data);
    })
})
// eg:服务器端响应出01.css静态资源,即打开浏览器输入http://127.0.0.1/css/01.css即可显示其代码内容
// 3.监听端口,启动服务
server.listen(9000, () => {
    console.log('服务已启动...');
})

服务器运行结果显示 :

当我想获取01.html里面的代码时:在端口号后接/01.html

当我想获取01.js里面的代码时:在端口号后接/js/01.js

相关推荐
Csvn13 小时前
小程序开发:微信小程序与 uni-app 实战指南
前端
摸鱼小李上线了13 小时前
vue项目页面添加水印实现方法
前端·javascript·vue.js
pengyi87101513 小时前
共享 IP 防封维护策略,降低被封率、延长 IP 寿命
网络·网络协议·tcp/ip
砍材农夫13 小时前
物联网 基于netty构建mqtt协议规范(主题通配符订阅)
java·前端·javascript·物联网·netty
彩票管理中心秘书长13 小时前
智能体状态指示:何时思考、何时调用工具、何时出错
前端·后端·程序员
彩票管理中心秘书长13 小时前
React + TypeScript拆解一整套“AI 变现代码流程”
前端·后端·程序员
广州华水科技13 小时前
单北斗GNSS变形监测在基础设施安全中的应用与维护
前端
码途漫谈13 小时前
把前端组件做成一座小岛:Animal-Island-UI 的自然风 React 组件库拆解
前端·开源
星栈13 小时前
Rust 全栈项目里,我写了一个不再重复造轮子的泛型表格组件
前端·前端框架·开源
008爬虫实战录13 小时前
【码上爬】 题九:webpack调试 堆栈分析
前端·webpack·node.js