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中自定义事件实例
Jun 20 NodeJs
使用nodejs、Python写的一个简易HTTP静态文件服务器
Jul 18 NodeJs
NodeJS制作爬虫全过程
Dec 22 NodeJs
Nodejs如何搭建Web服务器
Mar 28 NodeJs
nodejs实例解析(输出hello world)
Jan 03 NodeJs
Nodejs 发送Post请求功能(发短信验证码例子)
Feb 09 NodeJs
NodeJs测试框架Mocha的安装与使用
Mar 28 NodeJs
详解nodejs通过代理(proxy)发送http请求(request)
Sep 22 NodeJs
nodejs 简单实现动态html的方法
May 12 NodeJs
深入理解nodejs搭建静态服务器(实现命令行)
Feb 05 NodeJs
NodeJs操作MongoDB教程之分页功能以及常见问题
Apr 09 NodeJs
Nodejs异步流程框架async的方法
Jun 07 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 中使用随机数的三个步骤
2006/10/09 PHP
Ubuntu中支持PHP5与PHP7双版本的简单实现
2018/08/19 PHP
详解PHP的抽象类和抽象方法以及接口总结
2019/03/15 PHP
自动生成文章摘要的代码[JavaScript 版本]
2007/03/20 Javascript
为jquery.ui.dialog 增加“在当前鼠标位置打开”的功能
2009/11/24 Javascript
JavaScript splice()方法详解
2020/09/22 Javascript
收集json解析的四种方法分享
2014/01/17 Javascript
原生js与jQuery实现简单的tab切换特效对比
2015/07/30 Javascript
javascript中alert()与console.log()的区别
2015/08/26 Javascript
Jquery插件仿百度搜索关键字自动匹配功能
2016/05/11 Javascript
js获取鼠标点击的对象,点击另一个按钮删除该对象的实现代码
2016/05/13 Javascript
JS实现经典的中国地区三级联动下拉菜单功能实例【测试可用】
2017/06/06 Javascript
Ionic2开发环境搭建教程
2020/08/20 Javascript
js学习总结之DOM2兼容处理顺序问题的解决方法
2017/07/27 Javascript
详解如何在Angular优雅编写HTTP请求
2018/12/05 Javascript
Vue 实现从文件中获取文本信息的方法详解
2019/10/16 Javascript
nodejs各种姿势断点调试的方法
2020/06/18 NodeJs
微信小程序之滑动页面隐藏和显示组件功能的实现代码
2020/06/19 Javascript
[01:06] DOTA2英雄背景故事第三期之秩序法则光之守卫
2020/07/07 DOTA
python 递归遍历文件夹,并打印满足条件的文件路径实例
2017/08/30 Python
浅析python实现scrapy定时执行爬虫
2018/03/04 Python
python: 自动安装缺失库文件的方法
2018/10/22 Python
在PyCharm中实现关闭一个死循环程序的方法
2018/11/29 Python
python+numpy实现的基本矩阵操作示例
2019/07/19 Python
Python 模拟动态产生字母验证码图片功能
2019/12/24 Python
Python3实现发送邮件和发送短信验证码功能
2020/01/07 Python
浅谈pytorch池化maxpool2D注意事项
2020/02/18 Python
Python3+SQLAlchemy+Sqlite3实现ORM教程
2021/02/16 Python
芝加哥牛排公司:Chicago Steak Company
2018/10/31 全球购物
印度民族服装购物网站:BIBA
2019/08/05 全球购物
.NET面试10题
2014/02/24 面试题
艺术教育实施方案
2014/05/03 职场文书
党的群众路线批评与自我批评范文
2014/10/16 职场文书
上市公司董事长岗位职责
2015/04/16 职场文书
思想工作总结范文
2015/08/12 职场文书
SQL CASE 表达式的具体使用
2022/03/21 SQL Server