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

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

2019-05-14 21:03 323 查看

如何用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 }` )

})
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: