如下所示:
let http=require("http"); //引入核心http模块 let fs=require("fs"); let mime={ '.js':'application/javascript', '.css':'text/css' } //创建一个函数,req代表客户端,res代表服务器可写流 let listener=(req,res)=>{ //res是可写流,有write和end if(req.url==="/"){ //设置编码 res.setHeader('Content-Type','text/html;charset=utf-8'); fs.createReadStream('index.html').pipe(res); }else{ if(fs.existsSync(`.${req.url}`)) { res.setHeader('Content-Type',mime[req.url.match(/\.\w+$/)[0]] +';charset=utf-8'); fs.createReadStream(`.${req.url}`).pipe(res); }else{ res.statusCode=404; res.end(); } } } let port=8080; //创建一个服务,放入一个监听函数, let server=http.createServer(listener); // server.listen(port,function () { //启动成功后 console.log(`start${port}`); })
看上面代码,我们需要先创建三个文件
index.html
index.css
index.js
html文件里面,我们要引进css和js文件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <!--服务端引用路径不支持相对路径--> <link rel="stylesheet" href="index.css" rel="external nofollow" > <script src="index.js"></script> </head> <body> <div>你好,帅吗</div> </body> </html>
我们运行上面js文件时候,就会创建一个静态服务器,端口8080
然后返回客户端一个index.html文件
浏览器渲染这个html文件,我们对应的css和js就加载进去了
其实上面写法不是很简便,node里面有模块解决路径获取后缀名的问题,还有路径问题
let http=require("http"); //引入核心http模块 let fs=require("fs"); let mime=require("mime"); //解决文件类型 let url=require("url"); //创建一个函数,req代表客户端,res代表服务器可写流 let listener=(req,res)=>{ //res是可写流,有write和end let {query,pathname}=url.parse(req.url,true); if(pathname==="/"){ //设置编码 res.setHeader('Content-Type','text/html;charset=utf-8'); fs.createReadStream('index.html').pipe(res); }else{ if(fs.existsSync(`.${pathname}`)) { //mime 第三方包 npm install mime --save //mime.lookup可以通过文件路径后缀判断是什么类型的 res.setHeader('Content-Type', mime.lookup(pathname)+';charset=utf-8'); fs.createReadStream(`.${pathname}`).pipe(res); }else{ res.statusCode=404; res.end(); } } } let port=8080; //创建一个服务,放入一个监听函数, let server=http.createServer(listener); // server.listen(port,function () { //启动成功后 console.log(`start${port}`); })
以上这篇node.js 核心http模块,起一个服务器,返回一个页面的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。
alias syntax: alias file-path|directory-path; default: no context: location This directive assigns a path to be used for the indicated location. Note that it may look similar to the root directive, bu
Macaron 会注入一些默认服务来驱动您的应用,这些服务被称之为 核心服务。也就是说,您可以直接使用它们作为处理器参数而不需要任何附加工作。 请求上下文(Context) 该服务通过类型 *macaron.Context 来体现。这是 Macaron 最为核心的服务,您的任何操作都是基于它之上。该服务包含了您所需要的请求对象、响应流、模板引擎接口、数据存储和注入与获取其它服务。 使用方法: pa
本文向大家介绍node.js+Ajax实现获取HTTP服务器返回数据,包括了node.js+Ajax实现获取HTTP服务器返回数据的使用技巧和注意事项,需要的朋友参考一下 我们看一个HTML5页面中通过AJAX请求的方式获取HTTP服务器返回数据的代码示例.由于我们把服务器的端口指定为1337,并将从端口为80的网站中运行HTML5页面,因此这是一种跨域操作,需要在HTTP响应头部中添加Acces
我是anylogic的新手,所以我不确定如何做这个简单的事情,但是有没有一种方法可以让服务块一次只做一个代理?我在做一个模拟,但似乎如果一个代理去服务块,即使还有另一个代理正在服务,它也会被服务?我不知道如何阻止新的代理时,仍有一个代理服务。请帮帮我.谢谢
问题内容: 好的,所以我有一个念头想念,但是在我这样做之前,我需要完全理解一些事情。 首先,我认为我要继续使用该系统的方法是拥有3个服务器,如下所述: 在 第一台服务器 将是我的web 前端 ,这是将要监听连接和响应客户,该服务器将有8个内核和16GB内存的服务器。 本 次服务器 将是 数据库服务器 ,非常自我解释真的,连接到主机,并设置/获取数据。 在 第三个服务器 将是我的存储服务器,这将是在
问题内容: 我正在将一些后端转换为模块,并在设置开发环境配置时感到困惑。我在Eclipse中使用Java,但未在Maven中使用Java。架构非常简单: 前端模块为默认模块。基本的GAE / GWT应用程序。将项目放入任务队列。 后端模块处理任务队列。 使用旧的后端体系结构,一个调试配置将启动开发服务器,该服务器将为GWT DevMode UI 和 后端任务处理提供服务。 问题的症结在于DevMo