您的位置:首页 > Web前端 > Node.js

使用node.js搭建一个简单的本地服务器

2017-04-19 16:43 1191 查看
//注:此代码只能作为文件服务器.

//当静态网页服务器时,在访问的资源不是html时,需要返回正确的content-type,如css文件返回

Content-Type:

text/css

//否则,浏览器不能正确识别资源,不能根据content-type,做出正确的处理

//使用node.js写一个简单的本地服务器
var http = require('http');
var fs = require('fs');//引入文件读取模块

var documentRoot = 'E:/work/nserver';//需要访问的本地文件的存放目录

var server = http.createServer(function (req, res) {

    var url = req.url;
    //客户端输入的url,例如如果输入
    // http://localhost:8889/index.html
    //那么这里的url == /index.html 

    //以下三行代码可已配置默认访问页面为index.html
    // if (url == '/') {
    //     url = '/index.html';
    // }

    var file = documentRoot + url;
    console.log(url);

    //参数1:要读取的文件路径;
    //参数2:回调函数,读取失败的信息在err中,err为空表示没有错误.data为读取到的文件数据
    fs.readFile(file, function (err, data) {
         if (err) {
            res.writeHeader(404, {'content-type': 'text/html;charset="utf-8"'});
            res.write('<h1>404错误</h1><p>你要找的页面不存在</p>');
            res.end();

        } else {
            res.writeHeader(200, {'content-type': 'text/html;charset="utf-8"'});
            res.write(data);
            res.end();}
    });
}).listen(8889);// 此处的8889是监听的端口号,可以根据自己的需要配置,注意不要和本地的一些应用程序使用的端口号冲突

 console.log('服务器开启成功');
 //把此代码保存为js_server.js
 //打开终端 执行命令:   node  js_server.js
 //打开浏览器输入http://localhost:8889/[你要访问的html文件]
 //例如:http://localhost:8889/index.html
 //localhost 可以使用127.0.0.1代替
 //参考:http://blog.csdn.net/u014420383/article/details/47945819
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息