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、Python写的一个简易HTTP静态文件服务器
Jul 18 NodeJs
Nodejs Express4.x开发框架随手笔记
Nov 23 NodeJs
Windows 系统下设置Nodejs NPM全局路径
Apr 26 NodeJs
nodejs个人博客开发第三步 载入页面
Apr 12 NodeJs
详解nodejs微信公众号开发——6.自定义菜单
Apr 13 NodeJs
解析NodeJS异步I/O的实现
Apr 13 NodeJs
详解nodeJS之路径PATH模块
May 31 NodeJs
基于nodejs res.end和res.send的区别
May 14 NodeJs
解决nodejs的npm命令无反应的问题
May 17 NodeJs
NodeJs项目中关闭ESLint的方法
Aug 09 NodeJs
详解nodejs http请求相关总结
Mar 31 NodeJs
nodejs利用readline提示输入内容实例代码
Jul 15 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分页类集锦
2014/11/18 PHP
盘点PHP和ASP.NET的10大对比!
2015/12/24 PHP
总结一些js自定义的函数
2006/08/05 Javascript
Javascript执行效率全面总结
2013/11/04 Javascript
JavaScript实现鼠标滑过图片变换效果的方法
2015/04/16 Javascript
JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题如何解决
2016/11/11 Javascript
基于javascript实现的购物商城商品倒计时实例
2016/12/11 Javascript
jQuery阻止事件冒泡实例分析
2018/07/03 jQuery
微信小程序实现分享到朋友圈功能
2018/07/19 Javascript
angularJs select绑定的model取不到值的解决方法
2018/10/08 Javascript
提升node.js中使用redis的性能遇到的问题及解决方法
2018/10/30 Javascript
微信小程序实现留言板
2018/10/31 Javascript
Javascript之高级数组API的使用实例
2019/03/08 Javascript
微信公众平台 发送模板消息(Java接口开发)
2019/04/17 Javascript
layui使用数据表格实现购物车功能
2019/07/26 Javascript
JS继承定义与使用方法简单示例
2020/02/19 Javascript
JavaScript大数相加相乘的实现方法实例
2020/10/18 Javascript
Python实现模拟登录及表单提交的方法
2015/07/25 Python
Python机器学习logistic回归代码解析
2018/01/17 Python
Python接口自动化测试框架运行原理及流程
2020/11/30 Python
CHARLES & KEITH台湾官网:新加坡时尚品牌
2019/07/30 全球购物
美国厨房和园艺工具网上商店:Nestneed
2019/08/24 全球购物
在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则
2012/01/13 面试题
六十岁生日答谢词
2014/01/10 职场文书
人力资源经理的岗位职责
2014/03/02 职场文书
构建高效课堂实施方案
2014/03/13 职场文书
委托公证书
2014/04/08 职场文书
大型公益活动策划方案
2014/08/20 职场文书
2014光棍节单身联谊活动策划书
2014/10/10 职场文书
党的群众路线教育实践活动党员个人整改措施
2014/10/27 职场文书
先进工作者个人总结
2015/02/15 职场文书
2016应届毕业生自荐信范文
2016/01/28 职场文书
导游词之贵州百里杜鹃
2019/10/29 职场文书
Pytorch 实现变量类型转换
2021/05/17 Python
Pandas搭配lambda组合使用详解
2022/01/22 Python
Python实现视频自动打码的示例代码
2022/04/08 Python