用Node.js创建一个静态服务器

如何用Node.js创建一个静态服务器?

源代码:

var http = require( 'http' );//引入http模块

var port = 8080 ;//定义设置端口号

var hostname = '127.0.0.1'//设置服务器

var path = require( 'path' )  // 磁盘路径处理的模块

var fs = require( 'fs' ) // 操作文件、目录的模块

var url = require( 'url' ) // 处理url


//创建web服务器
var server = http.createServer( function ( request, response ) {

//__dirname获取当前文件夹,用join就行拼接
  var staticPath = path.join( __dirname,'static'  )

//将字符串转化成对象
  var urlObj = url.parse( request.url )
// console.log(urlObj);
/*   Url {
    protocol: null,
    slashes: null,
    auth: null,
    host: null,
    port: null,
    hostname: null,
    hash: null,
    search: null,
    query: null,
    pathname: '/static/css/index.css',
    path: '/static/css/index.css',
    href: '/static/css/index.css' }
*/
//判断进行拼接
if( urlObj.pathname === '/'){
  urlObj.pathname += 'index.html'
}

//console.log( urlObj.pathname )
  //拼接成完整路径
var filePath = path.join( staticPath, urlObj.pathname )

  // fs.readFile(路径,字符编码,错误优先的回调函数)

  
  fs.readFile( filePath,'binary',function( error,filecontent ) {
    if ( error ){//抛错。错误优先
      throw error 
    }else {//发送数据给前端
      response.write( filecontent, 'binary' )
      response.end()
    }
  })


})
// // 监听服务器 listen( port , hostname , callback)
server.listen( port , hostname , function () {

  console.log( `The server is runing: http://${ hostname }:${ port }` )

})
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值