在桌面创建一个server.js文件并写下如下代码:
var fs = require('fs')
var url = require('url')
var port = process.argv[2]
if(!port){
console.log('请指定端口号好不啦?\nnode server.js 8888 这样不会吗?')
process.exit(1)
}
var server = http.createServer(function(request, response){
var parsedUrl = url.parse(request.url, true)
var path = request.url
var query = ''
if(path.indexOf('?') >= 0){ query = path.substring(path.indexOf('?')) }
var pathNoQuery = parsedUrl.pathname
var queryObject = parsedUrl.query
var method = request.method
/******** 从这里开始看,上面不要看 ************/
console.log('HTTP路径为\n' + path) //打印路径
response.write('HI') //响应"HI"
response.end() //响应结束
/******** 代码结束,下面不要看 ************/
})
server.listen(port)
console.log('监听 ' + port + ' 成功\n请用在空中转体720度然后用电饭煲打开 http://localhost:' + port)
运行node server 启动这个服务器
新开一个bash窗口 向服务器发送请求
响应
console.log('HTTP路径为\n' + path) //打印路径
if(path == '/'){ //如果路径为 / 返回HI
response.write('HI') //响应"HI"
response.end() //响应结束
}else if(path == '/index'){ //如果路径为 /index 返回以下内容
response.write('<!DOCTYPE>\n<html><head><body><h1> HELLO Node.js</h1></body></head></html>')
response.end()
}else{ //除了 '/' '/index' 外的其他路径 返回404
response.statusCode = 404
response.end()
}
没写Content-Type
写了Content-Type
如果写中文要写charset=utf-8 否则乱码(注意:中间不能有空格不然就凉凉~)
完成作业:
写一个server.js文件 满足以下要求
1.用户请求 / 时,返回 html 内容
2.该 html 内容里面由一个 css link 和一个 script
3.css link 会请求 /style.css,返回 css 内容
4.script 会请求 /main.js,返回 js 内容
5.请求 / /style.css /main.js 以外的路径,则一律返回 404 状态码
看答案戳这里:https://github.com/vicfun/node-demo/blob/master/server.js