node.js學習筆記(二)簡單模塊化 文件編碼和響應頭和nodejs調用文件

筆記

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...')
})
發佈了136 篇原創文章 · 獲贊 14 · 訪問量 5813
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章