3分钟快速搭建nodejs本地服务器方法运行测试html/js


Posted in NodeJs onApril 01, 2017

做前端的都知道,公司的项目在自己的电脑上搭建环境是挺麻烦的一件事情

  1. 首先:一般个人电脑没公司的配置性能好,
  2. 其次:搭建公司项目在自己电脑涉及很多缓存环境,资源环境包,数据库等的限制,加起来够搞一天了(熟悉公司搭建的环境除外)

就我自身公司而言情况是这样,我作为前端工程师,

前端目前是基于polymer——实现最近遇到的问题就是不知道自己写的页面有没有什么问题,但是要成功启动项目的tomcat才能看,因为这些页面无法直接打开,会包资源解析错误,

于是我在想,如何才能把前端页面不依赖tomcat这些蛋疼的部署服务器呢?

于是百度看到了nodejs和nginx,带着对前端服务器的好奇开始了自己的实践,一个晚上也请教了一些同学,然后得到了一些启发

步骤如下

1、到nodejs官网下载安装包http://nodejs.cn/安装完成后自动映射了环境到系统中,不需要自己配置环境变量,然后打开控制台
输入命令:node

没有报错表示运行成功

2、接着在与测试目录同级目录下面新建下面两个js文件

http.js(服务器脚本配置文件)

var PORT = 3000;//

var http = require('http');
var url=require('url');
var fs=require('fs');
var mine=require('./mine').types;//
var path=require('path');

var server = http.createServer(function (request, response) {
  var pathname = url.parse(request.url).pathname;
  var realPath = path.join("webapp", pathname);  //这里设置自己的文件名称;

  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();
    } else {
      fs.readFile(realPath, "binary", function (err, file) {
        if (err) {
          response.writeHead(500, {
            'Content-Type': 'text/plain'
          });
          response.end(err);
        } else {
          var contentType = mine[ext] || "text/plain";
          response.writeHead(200, {
            'Content-Type': contentType
          });
          response.write(file, "binary");
          response.end();
        }
      });
    }
  });
});
server.listen(PORT);
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"
};

上面两个js新建成功后,打开http.js,接着在里面找到路径设置,把我当前webapp改成你自己的名字项目名称

Friendship tips:(前提是跟js在同级个目录。如果测试项目在其他文件,那么路径可能要设置绝对路径了_这个我没尝试)
下面是我的目录对应的文件,三个箭头是必备的其他无需设置

3分钟快速搭建nodejs本地服务器方法运行测试html/js 

3、控制台启动服务器测试是否成功

见下图:

打开项目所在目录输入node http.js

接着提示端口启动成功,

接着直接输入自己需要测试的文件地址就行了。比如我的 http://localhost:3000/index.html

到此全部部署完成!

3分钟快速搭建nodejs本地服务器方法运行测试html/js

这里注意:一定要在端口号后面加上自己文件路径才能运行成功。不然会报错因为http.js里面写的比较简单,暂时未直接映射
http://localhost:3000

如果出错了那么请重写启动服务

即:Node.js

当然你有兴趣的话可以重写node.js完善它

3分钟快速搭建nodejs本地服务器方法运行测试html/js

最后表示:这两个js都是我在博客和百度上看到一些大牛写的,不过他们的写的教程不够清晰(本人水平不足不能跟上他们的思路), 所以再次感谢这些博客大牛.

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

NodeJs 相关文章推荐
轻松创建nodejs服务器(2):nodejs服务器的构成分析
Dec 18 NodeJs
PHP和NodeJs开发的应用如何共用Session
Apr 16 NodeJs
在windows上用nodejs搭建静态文件服务器的简单方法
Aug 11 NodeJs
Nodejs下用submit提交表单提示cannot post错误的解决方法
Nov 21 NodeJs
详解NodeJs支付宝移动支付签名及验签
Jan 06 NodeJs
Nodejs 获取时间加手机标识的32位标识实现代码
Mar 07 NodeJs
nodejs制作爬虫实现批量下载图片
May 19 NodeJs
Nodejs连接mysql并实现增、删、改、查操作的方法详解
Jan 04 NodeJs
详解nodejs 配置文件处理方案
Jan 02 NodeJs
NodeJs入门教程之定时器和队列
Mar 08 NodeJs
NodeJS和浏览器中this关键字的不同之处
Mar 03 NodeJs
浅谈Node的内存泄露问题
May 06 NodeJs
nodejs使用express创建一个简单web应用
Mar 31 #NodeJs
nodejs实现邮件发送服务实例分享
Mar 29 #NodeJs
NodeJs测试框架Mocha的安装与使用
Mar 28 #NodeJs
NodeJS测试框架mocha入门教程
Mar 28 #NodeJs
nodejs模块nodemailer基本使用-邮件发送示例(支持附件)
Mar 28 #NodeJs
angular2+nodejs实现图片上传功能
Mar 27 #NodeJs
深入nodejs中流(stream)的理解
Mar 27 #NodeJs
You might like
PHP之变量、常量学习笔记
2008/03/27 PHP
解析PHP函数array_flip()在重复数组元素删除中的作用
2013/06/27 PHP
PHP程序员常见的40个陋习,你中了几个?
2014/11/20 PHP
php操作access数据库的方法详解
2017/02/22 PHP
laravel通过a标签从视图向控制器实现传值
2019/10/15 PHP
获取Javscript执行函数名称的方法
2006/12/22 Javascript
JQuery 入门实例1
2009/06/25 Javascript
一个简单的js鼠标划过切换效果
2010/06/30 Javascript
HTML颜色选择器实现代码
2010/11/23 Javascript
javascript处理table表格的代码
2010/12/06 Javascript
jQuery UI的Dialog无法提交问题的解决方法
2011/01/11 Javascript
js onload事件不起作用示例分析
2013/10/09 Javascript
javascript设置连续两次点击按钮时间间隔的方法
2014/10/28 Javascript
JS+CSS实现鼠标滑过时动态翻滚的导航条效果
2015/09/24 Javascript
AngualrJS中的Directive制作一个菜单
2016/01/26 Javascript
jQuery的promise与deferred对象在异步回调中的作用
2016/05/03 Javascript
JS正则表达式学习之贪婪和非贪婪模式实例总结
2016/12/26 Javascript
angularJS+requireJS实现controller及directive的按需加载示例
2017/02/20 Javascript
AngularJS的ng-click传参的方法
2017/06/19 Javascript
详解用vue.js和laravel实现微信授权登陆
2017/06/23 Javascript
关于angularJs清除浏览器缓存的方法
2017/11/28 Javascript
利用H5api实现时钟的绘制(javascript)
2020/09/13 Javascript
在 Django/Flask 开发服务器上使用 HTTPS
2014/07/03 Python
python列表操作之extend和append的区别实例分析
2015/07/28 Python
一行python实现树形结构的方法
2019/08/09 Python
python爬虫 猫眼电影和电影天堂数据csv和mysql存储过程解析
2019/09/05 Python
欧迪办公美国官网:Office Depot
2016/08/22 全球购物
韩国流行时尚女装网站:Dintchina(中文)
2018/07/19 全球购物
在加拿大在线租赁和购买电子游戏:Game Access
2019/09/02 全球购物
行政经理岗位职责
2013/11/09 职场文书
预备党员2014全国两会学习心得体会
2014/03/10 职场文书
厨师个人自我鉴定范文
2014/04/19 职场文书
大学生第一学年自我鉴定
2014/09/12 职场文书
党员个人查摆剖析材料
2014/10/16 职场文书
反邪教警示教育活动总结
2015/05/09 职场文书
2015年环卫处个人工作总结
2015/07/27 职场文书