使用Node.js建立临时本地服务器,运行调试开发

作者:Zyao89;转载请保留此行,谢谢;


First

安装Nodejs,略(自行百度)

Second

安装必要组件;

npm install url fs http path --save

Final

在工程目录下创建新的app.js文件,并复制以下代码:

var url  = require("url"),
     fs=require("fs"),
     http=require("http"),
     path = require("path");
http.createServer(function (req, res) {
    var pathname=__dirname+url.parse(req.url).pathname;
    if (path.extname(pathname)=="") {
        pathname+="/";
    }
    if (pathname.charAt(pathname.length-1)=="/"){
        pathname+="index.html";
    }

    fs.exists(pathname,function(exists){
        if(exists){
            switch(path.extname(pathname)){
                case ".html":
                    res.writeHead(200, {"Content-Type": "text/html"});
                    break;
                case ".js":
                    res.writeHead(200, {"Content-Type": "text/javascript"});
                    break;
                case ".css":
                    res.writeHead(200, {"Content-Type": "text/css"});
                    break;
                case ".gif":
                    res.writeHead(200, {"Content-Type": "image/gif"});
                    break;
                case ".jpg":
                    res.writeHead(200, {"Content-Type": "image/jpeg"});
                    break;
                case ".png":
                    res.writeHead(200, {"Content-Type": "image/png"});
                    break;
                default:
                    res.writeHead(200, {"Content-Type": "application/octet-stream"});
            }

            fs.readFile(pathname,function (err,data){
                res.end(data);
            });
        } else {
            res.writeHead(404, {"Content-Type": "text/html"});
            res.end("<h1>404 Not Found</h1>");
        }
    });
}).listen(8080, "127.0.0.1");
console.log("Server running at http://127.0.0.1:8080/");

最后在终端运行:

node app.js

打开 Chrome 输入正确路径,如: http://127.0.0.1:8080/ ,即可进行调试了。


扩展,增加监听端口号服务,自动刷新浏览器。

(function initBrowserSyncConfig()
{
    // 监听本地服务器8080端口,也就是上面运行的端口
    browserSync.watch(['pages/', 'js/', 'css/', '*.html', '*.js', '*.css'])
               .on('change', browserSync.reload);
    browserSync.init(
        {
            proxy: "localhost:8080"
        }
    );
})();

最后,自动运行浏览器,打开监听的代理服务器

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 个人入门学习用笔记、不过多作为参考依据。如有错误欢迎斧正 目录 简书好像不支持锚点、复制搜索(反正也是写给我自己看...
    kirito_song阅读 7,204评论 1 37
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,508评论 19 139
  • https://nodejs.org/api/documentation.html 工具模块 Assert 测试 ...
    KeKeMars阅读 11,513评论 0 6
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,704评论 25 709
  • “其实,我每次发私信给你都是很很纠结,你知道吗,你给我的感觉是不易靠近的那样,我心生畏惧” 这是今天微博上一个互粉...
    妙蓉小童阅读 2,761评论 2 3