2016-10-04 14 views
0

我看到,您可以使用connect使用在這樣的Node.js的HTTP服務器提供靜態文件:在HTTP服務器中包含CSS和JS?

var http = require('http'); 
var connect = require('connect'); 
var app = connect().use(connect.static(__dirname + path)); 
http.createServer(app).listen(8080); 

我將如何實現這個在我目前的處理程序?

var http = require("http"); 
var handler = function(request, response){ 
    // code 
} 
http.createServer(handler); 

這甚至可能嗎?如果是這樣,我該如何實現它?

+0

爲什麼不直接指定目錄來提供靜態文件?即app.use(express.static('public'))? – vincentjp

+0

@vincentjp因爲我沒有使用Express。 – baranskistad

+1

請參閱使用node.js作爲簡單的Web服務器:http://stackoverflow.com/questions/6084360/using-node-js-as-a-simple-web-server – Bruno

回答

0

除非您想要使用可能無法正常運行的舊版本connect,否則您必須安裝serve-static才能完成您正在嘗試執行的操作。看到這個答案https://stackoverflow.com/a/24347442/5382465

var finalhandler = require('finalhandler') 
var http = require('http') 
var serveStatic = require('serve-static') 

// Serve up public folder 
var serve = serveStatic('public', {'index': ['index.html', 'index.htm']}) 

// Create server 
var handler = http.createServer(function onRequest (req, res) { 
    serve(req, res, finalhandler(req, res)) 
}) 

// Listen 
handler.listen(3000)