Node.js完整的响应html页面(包括css,js文件)

主要思想就是任何一个静态文件也应该做响应,一个获取静态文件都应当请求来处理,这是主要思想。

同时要注意两点。第一,对于不同的文件类型,比如html,css,js,请求头里面的文件类型需要根据不同的文件类型注明,

第二,文件的路径需要表达准确,fs.readFile方法的第一个参数path是已起服务的文件为根目录,这里就是以server.js文件的所在目录为根目录

文件目录

文件夹public

Index.html

Css文件夹

Reset.css

Index.css

Js文件夹

vue.min.js

Index.js

Server.js

Server.js和文件夹publi同级

来看server.js代码

var http = require(‘http‘);

var fs = require(‘fs‘);

var url = require(‘url‘);

// 创建服务器

http.createServer( function (request, response) {

// 解析请求,包括文件名

var pathname = url.parse(request.url).pathname;

var postfix = pathname.match(/(\.[^.]+|)$/)[0];//取得后缀名

// 输出请求的文件名

console.log("Request for " + pathname + " received.");

// 从文件系统中读取请求的文件内容

fs.readFile(pathname.substr(1), function (err, data) {

if (err) {

console.log(err);

// HTTP 状态码: 404 : NOT FOUND

// Content Type: text/plain

response.writeHead(404, {‘Content-Type‘: ‘text/html; charset=utf-8‘});

}else{

// HTTP 状态码: 200 : OK

// Content Type: text/plain

console.log(postfix);

if(postfix===‘html‘){

response.writeHead(200, {‘Content-Type‘: ‘text/html‘});

}else if(postfix===‘css‘){

response.writeHead(200, {‘Content-Type‘: ‘text/css‘});

}

else if(postfix===‘js‘){

response.writeHead(200, {‘Content-Type‘: ‘application/javascript‘});

}else{

}

// 响应文件内容

response.write(data.toString());

}

//  发送响应数据

response.end();

});

}).listen(8080);

// 控制台会输出以下信息

console.log(‘Server running at http://127.0.0.1:8080/‘);

最后在命令行输入node server.js 把服务器起起来

然后在浏览器打开http://127.0.0.1:8080/public/index.html

原文地址:https://www.cnblogs.com/ranyonsue/p/10348799.html

时间: 2024-10-16 17:59:41

Node.js完整的响应html页面(包括css,js文件)的相关文章

动态为页面添加CSS样式文件引用

动态为页面添加CSS样式文件引用: 1 if (document.createStyleSheet) { //IE 2 document.createStyleSheet("./Themes/Default/MessageTip.css"); 3 } 4 else { //Firefox, Chrome 5 var stylesheet = document.createElement("link"); 6 stylesheet.href = "./The

对于HTML页面中CSS, JS, HTML的加载与执行过程的简单分析

最近在研究HTML页面中JavaScript的执行顺序问题.在JavaScript中,定义一个方法或者函数有很多方式,最常见的有2中,function语句式与函数直接量方式. 对于function语句式,解释器会优先解释.即加载了这个js文件后,会扫描一下所有的js代码,然后把该优先执行的东西先执行了,然后再从上到下按顺序执行.所以,定义的代码可以在执行的代码后边.就跟C#中的方法定义一样.解释器已经记住了这个方法,知道在内存中的哪里,用的时候直接去取就行了. C#语言是,对象中的属性与方法具有

页面中引入js的几种方法

通常大家最为熟悉的是一下两种方法: 在页面中直接写入<script type="text/javascript">js代码</script>. 在页面中引入外部文件<script src="xx.js"></script>. 下面再介绍几种页面引入js的代码: 在js中引入外部js,通过document.wirite("scr"+"ipt src='xx.js'></scr&q

Spring MVC程序中得到静态资源文件css,js,图片文件的路径问题总结

上一篇 | 下一篇 Spring MVC程序中得到静态资源文件css,js,图片 文件的路径 用 Spring MVC 开发应用程序,对于初学者有一个很头疼的问题,那就是程序数据都已经查询出来了,但界面样式仍然十分丑陋,加载不了 css,js,图片等资源文件.当你在浏览器上直接输入某个css文件的路径时,直接得到404错误,而路径肯定没有错,其原因就在于在web.xml 中配置了类似如下的 spring servlet: 程序代码 <servlet>    <servlet-name&g

Spring MVC程序中得到静态资源文件css,js,图片

转载自:http://www.blogjava.net/fiele/archive/2014/08/24/417283.html 用 Spring MVC 开发应用程序,对于初学者有一个很头疼的问题,那就是程序数据都已经查询出来了,但界面样式仍然十分丑陋,加载不了 css,js,图片等资源文件.当你在浏览器上直接输入某个css文件的路径时,直接得到404错误,而路径肯定没有错,其原因就在于在web.xml 中配置了类似如下的 spring servlet: 程序代码 <servlet>    

HTML+CSS+JS基础知识

目录 对HTML+CSS+JS的理解 基础知识 对HTML+CSS+JS的理解 基础知识 插入样式表的三种方式 外部样式表:<link rel="stylesheet" type="text/css" href="mystyle.css"> 内部样式表:<style type="text/css"> body {background-color: red} p {margin-left: 20px} &

(转)js控制窗口失去焦点(包括屏蔽Alt+Tab键切换页面)

本章内容转自:http://www.cnblogs.com/BoKeYuanVinson/articles/3360954.html 转载自网络贴吧: 页面脚本是无法截获alt键的,不过可以变通一下,我想你是希望学生不要切换出当前浏览器窗口,要达到这个目的可以不必截获alt+tab,而改用window.onblur(),这个事件在当前页面失去焦点时触发,这样以来,我们就可以在考试开始之前声明:"如果做窗口切换,将导致系统立刻交卷,而不管你是否已经完成",然后,在页面的头部写上类似下面的

JS动态更新HTML5 APP页面的结构(包括功能和布局)

HTML5 APP开发算是越来越流程了.当然,开发这样的HTML5 APP有什么好处呢.笔者认为:可以通过后台JS动态更新HTML5 APP页面的结构,是一大优势. 那如何实现该功能呢. 首先,得知道其原理:为什么可以通过后台JS就可以更新前台APP. 接着,得知道操作步骤是怎样的. 详细内容,可以查看如下链接: HTML5 APP 实现后台JS更新APP前端页面功能 HTML5 APP开发之动态调整页面布局 如需要源码,请@我 (一份完整的源代码,收费1元)

html5 getComputedStyle + resize 实现动态宽高度等比响应式页面设计

序:通常我们只能控制div的宽度 而不能控制高度,在响应式页面里 如果要这个div是正方形那么必须的用媒体查询在不同的分辨率下写死款高度 今天突发奇想研究了个 用百分比来动态控制div的高度让其与宽度相同 成为一个正方形 甚至任何你想要比例 一,背景:目前移动端大多数图片或视频列表页面的显示,列出几个 可以看出这几个页面都有一个共同点 都有图片 双列 列表单个模块的高度相同  我演技劜他们的源码 都是讲图片设置为固定高度 然后将li撑开 li的宽度设置为50% 然后floatleft 然后用媒体