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

用Node.js创建一个静态服务器,然后将一个项目部署在这个服务器中

2019-05-14 23:10 295 查看

用Node.js创建一个静态服务器,然后将一个项目部署在这个服务器中

源代码:

var http = require( 'http' );

var port = 8080 ;

var hostname = '127.0.0.1'

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

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

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

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

var staticPath = path.join( __dirname,'static'  )//__dirname总是指向被执行js文件的相对路径  staticPath:static//path.join合并两个路径片段

var urlObj = url.parse( request.url )//url.parse()可以将一个完整的URL地址,分为很多部分,常用的有:host、port、pathname、path、query。

/*   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 )

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

var filePath = path.join( staticPath, urlObj.pathname )

fs.readFile( filePath,'binary',function( error,filecontent ) {//三个参数:路径,二进制,回调函数
if ( error ){
throw error
}else {
response.write( filecontent, 'binary' )
response.end()
}
})

})

server.listen( port , hostname , function () {

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

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