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的前后端分离的思考与实践(五)多终端适配
Sep 26 NodeJs
nodejs中转换URL字符串与查询字符串详解
Nov 26 NodeJs
Nodejs实现的一个静态服务器实例
Dec 06 NodeJs
NodeJs中的VM模块详解
May 06 NodeJs
nodejs 的 session 简单使用
Jun 06 NodeJs
windows 下安装nodejs 环境变量设置
Feb 02 NodeJs
nodejs中使用HTTP分块响应和定时器示例代码
Mar 19 NodeJs
nodejs个人博客开发第一步 准备工作
Apr 12 NodeJs
用Nodejs搭建服务器访问html、css、JS等静态资源文件
Apr 28 NodeJs
深入理解nodejs中Express的中间件
May 19 NodeJs
nodejs socket实现的服务端和客户端功能示例
Jun 02 NodeJs
nodejs简单读写excel内容的方法示例
Mar 16 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
模仿OSO的论坛(四)
2006/10/09 PHP
php强制用户转向www域名的方法
2015/06/19 PHP
JS 文字符串转换unicode编码函数
2009/05/30 Javascript
修改jQuery.Autocomplete插件 支持中文输入法 避免TAB、ENTER键失效、导致表单提交
2009/10/11 Javascript
ExtJs GridPanel简单的增删改实现代码
2010/08/26 Javascript
如何在JavaScript中实现私有属性的写类方式(一)
2013/12/04 Javascript
调整小数的格式保留小数点后两位
2014/05/14 Javascript
jQuery自制提示框tooltip改进版
2016/08/01 Javascript
js获取浏览器高度 窗口高度 元素尺寸 偏移属性的方法
2016/11/21 Javascript
浅谈Node.js:Buffer模块
2016/12/05 Javascript
学习使用bootstrap的modal和carousel
2016/12/09 Javascript
解析ajaxFileUpload 异步上传文件简单使用
2016/12/30 Javascript
微信小程序实现顶部选项卡(swiper)
2020/06/19 Javascript
基于Vue的SPA动态修改页面title的方法(推荐)
2018/01/02 Javascript
关于jquery中attr()和prop()方法的区别
2018/05/28 jQuery
angularjs1.5 组件内用函数向外传值的实例
2018/09/30 Javascript
jQuery 获取除某指定对象外的其他对象 ( :not() 与.not())
2018/10/10 jQuery
微信小程序实现笑脸评分功能
2018/11/03 Javascript
jQuery实现的移动端图片缩放功能组件示例
2020/05/01 jQuery
nuxt 页面路由配置,主页轮播组件开发操作
2020/11/05 Javascript
[03:15]2014DOTA2国际邀请赛 专访国士无双信心满满
2014/07/12 DOTA
python多线程编程中的join函数使用心得
2014/09/02 Python
Python中字典的基本知识初步介绍
2015/05/21 Python
python 数据清洗之数据合并、转换、过滤、排序
2017/02/12 Python
python实现遍历文件夹修改文件后缀
2018/08/28 Python
Python进程池Pool应用实例分析
2019/11/27 Python
python标识符命名规范原理解析
2020/01/10 Python
python+selenium+PhantomJS抓取网页动态加载内容
2020/02/25 Python
详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据
2020/12/13 Python
口腔工艺技术专业毕业生自荐信
2013/09/27 职场文书
军训教官感言
2014/03/02 职场文书
施工质量承诺书范文
2014/05/30 职场文书
运动会方队口号
2014/06/07 职场文书
高中生学习计划书
2014/09/15 职场文书
奖金申请报告模板
2015/05/15 职场文书
Vue过滤器(filter)实现及应用场景详解
2021/06/15 Vue.js