筆記
1.req.url用來獲取端口號之後的那一部分路徑
2.響應結果默認必須是字符串或者二進制數據
簡單模塊化
模塊:加載引用,獲取導出對象export
a.js
//require用來加載模塊,在node中有具名核心模塊,用戶自己編寫的文件模塊和第三方模塊三種
//require('package')
//在node中沒有全局作用域,只有模塊作用域這是弱語言的特性
var foo='aaa'
console.log('s start')
function add(x,y){
return x+y
}
var rst=require('./b.js')//後綴名可以省略
console.log('a end')
console.log(rst.foo)
//在每個文件模塊中都提供了一個對象export
//默認是一個空對象
console.log(rst.funs(10,30))//調用b中的函數
b.js
console.log('b被加載執行了')
//console.log(add(100,200))這句是錯的
var tmp='test'
//需要把所有被外部訪問的成員掛載到exports中
exports.foo='hello'
exports.funs=function(x,y){
return x+y
}
function funs(x,y){
return x-y
}
exports.tmp=tmp
文件編碼和響應頭
var http=require('http')
var server=http.creatServer()
server.on('request',function(req,res){
//content-type 用來告訴對方數據類型
var url=req.url
if(url==='/plain'){
res.setHeader('Content-Type','text/plain;charset=utf-8')
res.end('hello 世界')
}
else if(url==='/html'){
res.end('<p>hello html</p>')
}
})
server.listen(3000,function(){
console.log('server is running...')
})
nodejs調用文件
var http=require('http')
var fs=require('fs')
var server=http.creatServer()
server.on('request',function(req,res){
// //content-type 用來告訴對方數據類型
var url=req.url
if(url==='/plain'){
res.setHeader('Content-Type','text/plain;charset=utf-8')
res.end('hello 世界')
//文件讀取
fs.readFile('./resource/index.html',function(err,data){
if(err){
res.setHeader('Content-Type','text/html;charset=utf-8')
res.end('文件讀取失敗!')
}
})
}
else if(url==='/html'){
res.setHeader('Content-Type','text/html;charset=utf-8')
res.end('<p>hello html<a href="">點我</a>/p>')
}
else if(url==='/ab2.jpg'){
//圖片不需要指定編碼,常說的編碼是字符編碼
fs.readFile('./resource/index.html',function(err,data){
if(err){
res.setHeader('Content-Type','image/jpeg')
res.end('文件讀取失敗!')
}
})
}
})
server.listen(3000,function(){
console.log('server is running...')
})