详解node服务器中打开html文件的两种方法
本文介绍了详解node服务器中打开html文件的两种方法,分享给大家,具体如下:
方法1:利用 Express 托管静态文件,详情查看这里
方法2:使用fs模块提供的readFile方法打开文件,让其以text/html的形式输出。
代码:
var express = require('express'); var fs=require("fs"); var app = express(); //方法1:通过express.static访问静态文件,这里访问的是ajax.html // app.use(express.static("./")); //方法2:使用fs.readFile打开html文件 app.get("/helloworld.html", function(request, response) { fs.readFile("./"+request.path.substr(1),function(err,data){ // body if(err){ console.log(err); //404:NOT FOUND response.writeHead(404,{"Content-Type":"text/html"}); } else{ //200:OK response.writeHead(200,{"Content-Type":"text/html"}); response.write(data.toString()); } response.end(); }); }); app.listen(3000, function() { //监听http://127.0.0.1:3000端口 console.log("server start"); });
浏览器访问,分别输入http://127.0.0.1:3000/hello_static.html和http://127.0.0.1:3000/hello_fs.html,结果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
用Nodejs搭建服务器访问html、css、JS等静态资源文件
为了测一个附近门店的功能,需要配置一下服务器进行测试.本来打算用apache的,后来想自己是做前端的,好久没有用过Nodejs了何不用所学的知识自己配一下呢,说动手就手. 第一步,俗话说的好,工欲善其事,必先利其器.既然要用node+express配置服务器,如果电脑上没有的话自然要先安装这两个大宝贝啦. 1.安装node.到Node官网下载安装即可,直接下一步下一步就完成了. 2.npm初始化项目.打开终端,输入npm init -y即可.注意:如果不输入-y要自己写一些配置,写了-y会默认直
-
3分钟快速搭建nodejs本地服务器方法运行测试html/js
做前端的都知道,公司的项目在自己的电脑上搭建环境是挺麻烦的一件事情 首先:一般个人电脑没公司的配置性能好, 其次:搭建公司项目在自己电脑涉及很多缓存环境,资源环境包,数据库等的限制,加起来够搞一天了(熟悉公司搭建的环境除外) 就我自身公司而言情况是这样,我作为前端工程师, 前端目前是基于polymer--实现最近遇到的问题就是不知道自己写的页面有没有什么问题,但是要成功启动项目的tomcat才能看,因为这些页面无法直接打开,会包资源解析错误, 于是我在想,如何才能把前端页面不依赖tomcat这些
-
Nodejs+express+html5 实现拖拽上传
一.前言 文件上传是一个比较常见的功能,传统的选择方式的上传比较麻烦,需要先点击上传按钮,然后再找到文件的路径,然后上传.给用户体验带来很大问题.html5开始支持拖拽上传的需要的api.nodejs也是一个最近越来越流行的技术,这也是自己第一次接触nodejs,在nodejs开发中,最常用的开发框架之一是expess,它是一个类似mvc模式的框架.结合html5.nodejs express实现了拖拽上传的功能. 二.基础知识普及 1.NodeJs基础知识 nodejs简单来说就是一个可以让j
-
HTML node相关的一些资料整理
一.HTML DOM是一个树型的对象 二.每个node都包含该节点的某些信息,分别是: 1. nodeName nodeName 属性含有某个节点的名称. * 元素节点的 nodeName 是标签名称 * 属性节点的 nodeName 是属性名称 * 文本节点的 nodeName 永远是 #text * 文档节点的 nodeName 永远是 #document 注释:nodeName 所包含的 XML 元素的标签名称永远是大写的 2. nodeValue 对于文本节点,nodeValue 属性包
-
javascript常用方法、属性集合及NodeList 和 HTMLCollection 的浏览器差异
在您开始本文的阅读前,我强烈建议您可以先读一读此篇:http://w3help.org/zh-cn/causes/SD9004. HTMLCollection 接口定义 interface HTMLCollection{ readonly attribute unsigned long length; Node item(in unsigned long index); Node na
-
node.js 和HTML5开发本地桌面应用程序
HTML5让Web开发人员用纯HTML技术开发富客户端互联网应用或者甚至本地桌面应用成为了可能.HTML5可以将任何普通网站转变成Web应用.HTML5 web 应用不仅具有在桌面浏览器应用中的优势,同时在智能手机和平板中也是开发利器. 在手机端,有一个非常棒的工具叫做PhoneGap,使用这个快速开发平台,任何人都可以使用HTML5+CSS3+JavaScript开发出安卓,iOS等应用.PhoneGap的最好的一个特点是,你并不需要联网,不需要连接web服务器,你可以从把它当成本地桌面应用.
-
Nodejs抓取html页面内容(推荐)
废话不多说,直接给大家贴node.js抓取html页面内容的核心代码了. 具体代码如下所示: var http = require("http"); var iconv = require('iconv-lite'); var option = { hostname: "stockdata.stock.hexun.com", path: "/gszl/s601398.shtml" }; var req = http.request(option,
-
node.js 使用ejs模板引擎时后缀换成.html
这是一个小技巧,看着.ejs的后缀总觉得不爽,使用如下方法,可以将模板文件的后缀换成我们习惯的.html. 1.在app.js的头上定义ejs: 复制代码 代码如下: var ejs = require('ejs'); 2.注册html模板引擎: 复制代码 代码如下: app.engine('html',ejs.__express); 3.将模板引擎换成html: 复制代码 代码如下: app.set('view engine', 'html'); 4.修改模板文件的后缀为.html. 好了,任
-
详解node服务器中打开html文件的两种方法
本文介绍了详解node服务器中打开html文件的两种方法,分享给大家,具体如下: 方法1:利用 Express 托管静态文件,详情查看这里 方法2:使用fs模块提供的readFile方法打开文件,让其以text/html的形式输出. 代码: var express = require('express'); var fs=require("fs"); var app = express(); //方法1:通过express.static访问静态文件,这里访问的是ajax.html //
-
详解Node.js中path模块的resolve()和join()方法的区别
关于Node.js中path模块的resolve()和join()方法的比较,对照着总结看例子差不多以后在写模块的时候思路就能很清晰了 resolve 作用:path.resolve() 该方法将一些的 路径/路径段 解析为绝对路径. 语法:path.resolve([...paths]) 说明: ...paths <string> 一个路径或路径片段的序列 如果没有传入 path 片段,或者path 片段长度为零(空字符),则 path.resolve() 会返回当前工作目录的绝对路径(相当
-
详解vue-cli+es6引入es5写的js(两种方法)
学习了vue有一段日子了,vue+es6开发非常好用,vue的插件非常多,很充足,但是还是会用到引入第三方外部js的时候,但是很多人在vue-cli中的.vue文件引入es6会出很多错误,因为我们的代码是es6写的,你引入es5的js当然会出问题,那么而接下来我讲大家讲解一波,怎么引入第三方es5写的 js 方法1: import XX from "路径" Vue.use(XX); 这里的js文件要导出 用export default { Vue.proprtypes.aa=funct
-
详解用Python为直方图绘制拟合曲线的两种方法
直方图是用于展示数据的分组分布状态的一种图形,用矩形的宽度和高度表示频数分布,通过直方图,用户可以很直观的看出数据分布的形状.中心位置以及数据的离散程度等. 在python中一般采用matplotlib库的hist来绘制直方图,至于如何给直方图添加拟合曲线(密度函数曲线),一般来说有以下两种方法. 方法一:采用matplotlib中的mlab模块 mlab模块是Python中强大的3D作图工具,立体感效果极佳.在这里使用mlab可以跳出直方图二维平面图形的限制,在此基础上再添加一条曲线.在这里,
-
详解在springboot中使用Mybatis Generator的两种方式
介绍 Mybatis Generator(MBG)是Mybatis的一个代码生成工具.MBG解决了对数据库操作有最大影响的一些CRUD操作,很大程度上提升开发效率.如果需要联合查询仍然需要手写sql.相信很多人都听说过微服务,各个微服务之间是松耦合的.每个微服务仅关注于完成一件任务并很好地完成该任务.在一个微服务的开发过程中很可能只关注对单表的操作.所以MBG在开发过程中可以快速的生成代码提升开发效率. 本文将说到在springboot的项目中如何去配置(XML形式和Java配置类形式)和使用M
-
详解IOS开发中图片上传时两种图片压缩方式的比较
IOS 图片上传时两种图片压缩方式的比较 上传图片不全面的想法:把图片保存到本地,然后把图片的路径上传到服务器,最后又由服务器把路径返回,这种方式不具有扩展性,如果用户换了手机,那么新手机的沙盒中就没有服务器返回的图片路径了,此时就无法获取之前已经上传了的头像了,在项目中明显的不可行. 上传图片的正确方式:上传头像到服务器一般是将图片NSData上传到服务器,服务器返回一个图片NSString地址,之后再将NSString的路径转为url并通过url请求去更新用户头像(用户头像此时更新的便是NS
-
详解Nginx服务器中配置全站HTTPS安全连接的方法
HTTPS就等于HTTP加上TLS(SSL),HTTPS协议的目标主要有三个: 数据保密性.保证内容在传输过程中不会被第三方查看到.就像快递员传递包裹时都进行了封装,别人无法知道里面装了什么东西. 数据完整性.及时发现被第三方篡改的传输内容.就像快递员虽然不知道包裹里装了什么东西,但他有可能中途掉包,数据完整性就是指如果被掉包,我们能轻松发现并拒收. 身份校验.保证数据到达用户期望的目的地.就像我们邮寄包裹时,虽然是一个封装好的未掉包的包裹,但必须确定这个包裹不会送错地方. 启用
-
Android清除工程中无用资源文件的两种方法
一.调用Android lint命令查找出没有用到的资源,并生成一个清单列表: 命令:lint –check "UnusedResources" [project_path] > result.txt 执行完之后会生成一个清单文件,内容如下: 二.使用代码自动删除无用的文件: public class DelAction { public static void main(String[] args) throws IOException { String projectPath
-
详解node.js中的npm和webpack配置方法
概述 Node.js用c++语言编写而成的,是一个基于chrome V8引擎的javascript运行环境,让javaScript的运行脱离浏览器服务端,可以使用javaScript语言书写服务器端代码 1.使用node来实现一个http服务器 下面创建了一个端口为8787的服务器.他与php,java等不同,像php本地还要基于阿帕奇服务器,node.js能用代码快速搭建一个服务器. // 引入http模块 var http = require("http"); // 调用http的
-
详解eclipse项目中的.classpath文件原理
目录 1 前言 2 作用 3 .classpath内容 3.1 kind="src" 3.2 kind="output" 3.3 kind="con" 3.3.1 JRE配置 3.3.2 Server Runtime配置 3.3.3 Web App Libraries配置 3.3.4 User Library配置 3.4 kind="lib" 3.5 顺序 1 前言 在使用eclipse或者myeclipse进行java项目开
随机推荐
- 如何把sqlserver数据迁移到mysql数据库及需要注意事项
- javascript实现图片延迟加载方法汇总(三种方法)
- java递归法求字符串逆序
- IOS 开发之UILabel 或者 UIButton加下划线链接
- Oracle数据库用户的密码过期时间如何修改为永不过期
- GridView导出Excel实现原理与代码
- 字母顺序颠倒而单词顺序不变的php代码
- php split汉字
- Python实现partial改变方法默认参数
- 使用javaScript动态加载Js文件和Css文件
- ASP.NET ASHX中获得Session的方法
- .NET2.0环境下的Ajax选型和应用(提供Demo源码下载)
- jquery获得keycode的示例代码
- 使用jQuery实现更改默认alert框体
- JavaScript制作简易的微信打飞机
- js 判断附件后缀的简单实现方法
- Windows server 2003证书服务器配置方法(图文)
- 高效实现整型数字转字符串int2str的方法
- 探讨Android与iOS,我们将何去何从?
- andoid打包短信发送到gmail邮箱实现代码