如何使用nodejs快速搭建本地nodejs 微服务器搭建

二次元同好交流新大陆
扫码下载App
汇聚2000万达人的兴趣社区下载即送20张免费照片冲印
扫码下载App
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
积极向上,这小伙挺不错……
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
& & & &今天首先使用node搭建了一个本地服务器,敲出来我们熟悉的“哈喽 沃尔德”!在这里并没有考虑程序的安全性,健壮性这些问题,只是简单走通了搭建服务器的流程。& & & &先了解一下简单的web服务器所涉及到的node的一些基本知识点。1、请求模块在node中,系统提供了很多有用的模块,如http、url等。我们也可以编写自己的模块。模块封装了特定的功能,提供相应的方法和属性,要使用这些模块需要先请求模块,获取操作对象。例如使用系统的http模块,可以这样写:var libHttp = require('http'); //请求并获取http模块操作对象这样,以后的程序将可以通过变量libhttp访问http模块的功能。我们搭建简单服务器所用的到模块又一下几种:http:封装http协议的服务器和客户端实现;url:封装对url的解析和处理;fs:封装对文件系统操作的功能;path:封装对路径的解析功能有了这些模块,我们就可以站在巨人肩膀上搭建自己的应用。var PORT = 3000;var http = require('http');var url=require('url');var fs=require('fs');var mine=require('./mine').var path=require('path');var server = http.createServer(function (request, response) {
var pathname = url.parse(request.url).
var realPath = path.join("../app/", pathname);
//console.log(realPath);
var ext = path.extname(realPath);
ext = ext ? ext.slice(1) : 'unknown';
fs.exists(realPath, function (exists) {
if (!exists) {
response.writeHead("404", {
'Content-Type': 'text/plain'
response.write("This request URL " + pathname + " was not found on this server.");
response.end();
fs.readFile(realPath, "binary", function (err, file) {
if (err) {
response.writeHead("500", {
'Content-Type': 'text/plain'
response.end(err);
var contentType = mine[ext] || "text/plain";
response.writeHead("200", {
'Content-Type': contentType
response.write(file, "binary");
response.end();
});});server.listen(PORT,"127.0.0.1");console.log("Server runing at port: " + PORT + ".");上面我们还引入了一个mine.js,里面存储的是名值对,用于定义不同后缀的文件所对应的返回方式:exports.types = {
"css": "text/css",
"gif": "image/gif",
"html": "text/html",
"ico": "image/x-icon",
"jpeg": "image/jpeg",
"jpg": "image/jpeg",
"js": "text/javascript",
"json": "application/json",
"pdf": "application/pdf",
"png": "image/png",
"svg": "image/svg+xml",
"swf": "application/x-shockwave-flash",
"tiff": "image/tiff",
"txt": "text/plain",
"wav": "audio/x-wav",
"wma": "audio/x-ms-wma",
"wmv": "video/x-ms-wmv",
"xml": "text/xml"};
阅读(1505)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'Node.js简单搭建服务器',
blogAbstract:'& & & & 刚刚开始学习node.js。并没有深入研究,网上说的node如何如何强大还没有体会到。只是对可以使用js编写后端脚本语言这个同后端交互很感兴趣,大大减少了前端童鞋学习服务端脚本的学习成本。今日初尝试。& & & &今天首先使用node搭建了一个本地服务器,敲出来我们熟悉的“哈喽 沃尔德”!在这里并没有考虑程序的安全性,健壮性这些问题,只是简单走通了搭建服务器的流程。& & & &先了解一下简单的web服务器所涉及到的node的一些基本知识点。1、请求模块',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:0,
publishTime:9,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'积极向上,这小伙挺不错……',
hmcon:'0',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list} 上传我的文档
 下载
 收藏
毕业于医学院校,在医院工作,有相对丰富的护理经验
 下载此文档
正在努力加载中...
用nodejs做Web前端服务器的一些经验
下载积分:1500
内容提示:用nodejs做Web前端服务器的一些经验
文档格式:DOCX|
浏览次数:0|
上传日期: 14:22:37|
文档星级:
该用户还上传了这些文档
用nodejs做Web前端服务器的一些经验
官方公共微信下面代码实现的功能是这样的:
首先创建一个HTTP服务器,当服务器接收到客户端的请求后,向""网站请求数据,当从该网站接受到的响应数据后,将响应数据发送给客户端.
var http=require("http");
var url=require("url");
var server=http.createServer(function(sreq,sres){
var url_parts=url.parse(sreq.url);
var opts={
path:url_parts.pathname,
headers:sreq.headers
var creq=http.get(opts, function (cres) {
sres.writeHead(cres.statusCode,cres.headers);
cres.pipe(sres);
sreq.pipe(creq);
server.listen(.0.1", function () {
console.log("开始监听"+server.address().port+"......");
运行代码后,在浏览器端运行程序:
发现没有,界面是淘宝的官网,但是地址确实变成我们本地的了.
是不是很好玩的样子呢,其实node.js可以做很多的事情,小伙伴们自己去开发吧。
更多信息请查看
更多信息请查看
易贤网手机网站地址:
【】&&&&&【点此处查询各地各类考试咨询QQ号码及交流群】
由于各方面情况的不断调整与变化,易贤网所提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
云南各地招聘
&nbsp&nbsp&nbsp &nbsp&nbsp&nbsp会员注册
本站不参与评论,(&&点此深度交流 )
自觉遵守:爱国、守法、自律、真实、文明的原则
尊重网上道德,遵守中华人民共和国各项有关法律法规
严禁发表危害国家安全,破坏民族团结、国家宗教政策和社会稳定,含侮辱、诽谤、教唆、淫秽等内容的评论
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
您在本站发表的评论,本站有权保留、转载、引用或者删除
参与本评论即表明您已经阅读并接受上述条款7个牛币请下载代码后再发表评论//server/server/jade/server/jade/includes/server/jade/includes/head.jade/server/jade/includes/layout.jade/server/jade/includes/page.jade/server/jade/index.jade/server/jade/list.jade/server/jade/login.jade/server/node_modules精精精原精原原原原原原原最热搜索分享话题编程语言基础Web开发数据库开发客户端开发脚本工具游戏开发服务器软硬件开源组件类库相关分享原原精原精最近下载&LV4最近浏览暂无贡献等级暂无贡献等级暂无贡献等级暂无贡献等级暂无贡献等级扫描二维码关注最代码为好友"/>扫描二维码关注最代码为好友7607人阅读
Javascript(20)
nodejs(8)
在开始之前,应该好好规划一下项目的文件目录了。我的目录结构如下:
assets放置网站的静态文件css,js,img等;common存放项目的配置文件和一些通用文件;server存放服务处理文件,将要创建的静态文件服务就是放在此目录中;
tpl放置的是模板文件也就是网页文件。
文件的下载格式主要是由'Content-Type'的值决定的,要想下载的文件能够正常工作就应该正确的设置不同文件的'Content-Type'值。mime.js文件存放了一些常用mime值:exports.mime = {
&html& : &text/html&,
: &text/css&,
: &text/javascript&,
&json& : &application/json&,
: &image/x-icon&,
: &image/gif&,
&jpeg& : &image/jpeg&,
: &image/jpeg&,
: &image/png&,
: &application/pdf&,
: &image/svg+xml&,
: &application/x-shockwave-flash&,
&tiff& : &image/tiff&,
: &text/plain&,
: &audio/x-wav&,
: &audio/x-ms-wma&,
: &video/x-ms-wmv&,
: &text/xml&
};先来看server.js和FServer.js的类容:
var config = require('./common/config');
= require('http');
= require('fs');
= require('url');
= require('path');
var FServer
= require('./server/FServer');
function index(){
var indexPath = config.ui + '/index.html';
fs.exists(indexPath, function(exists){
if( !exists ) {
fs.readFile(indexPath, function(err, data){
if (err) {
function onRequest(req, res){
// 取得文件路径
var pathname = url.parse(req.url).
// 获取文件扩展名(包含前置.)
var extname = path.extname( pathname );
var type = extname.slice(1);
// 获取下载文件在磁盘上的路径,
var realPath = config.root +
if ( extname === '' ) {
res.writeHead(200, {'Content-Type':'text/html'});
res.write(data);
res.end();
FServer.filesLoad(realPath, type, req, res);
http.createServer(onRequest).listen(config.port);
exports.index =
// FServer.js
= require('fs');
var mime = require('../common/mime').
function filesLoad(filePath, type, req, res){
fs.exists(filePath, function(exists){
if ( !exists ) {
res.writeHead(404, {'Content-Type': 'text/plain'});
// res.write();
res.end();
fs.readFile(filePath, 'binary', function(err, file){
if ( err ) {
res.writeHead(500, {'Content-Type': 'text/plain'});
// res.write();
res.end();
res.writeHead(200, {'Content-Type': mime[type]});
res.write(file, 'binary');
res.end();
exports.filesLoad = filesL
上面引入了nodejs的内置模块http、fs、url、path,config和FServer是自定义模块,要读取文件首先要知道文件在磁盘上是否存在,还应当知道文件的类型才能达到想要的效果。运行程序可以发现css和javascript都下载正确,并且css效果在页面上正确渲染(javascript还没有写效果)
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:77400次
排名:千里之外
原创:26篇
(3)(7)(1)(1)(3)(4)(2)(4)(1)(1)}

我要回帖

更多关于 nodejs搭建本地服务器 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信