我有一个index.html页面,其中包含:
d:\ GITProjects \代码实验室\完整\第一步\ index.html在
我试图通过节点执行D:\ GITProjects \ codelab \ complete \ step1 \ server.js文件:
“C:\ Program Files \ nodejs> node.exe D:\ GITProjects \ codelab \ complete \ step1 \ server.js”
Server.js代码:
var static = require('node-static');
var http = require('http');
var file = new (static.Server)("D:\GITProjects\codelab\complete\step1");
var app = http.createServer(function (req, res) {
file.serve(req, res);
}).listen(2011);
当我去点击:http://localhost:2011/我看到空页 . 知道为什么吗?
控制台显示“http://localhost:2011/无法加载资源:服务器响应状态为404(未找到)”
1 回答
你需要在
req.addListener()
内保留file.serve(req,res)
此外,你还有其他几个选择(如果你不想坚持使用
node-static
)Option-1: 使用
fs
模块读取文件并根据请求发送Option-2:
使用像
express()
这样的Web应用程序框架 . 它提供了几个很好的功能来简化节点的功能 . 然后你可以为'/'定义一个特定的路线来发送你的index.html
或直接提供您的静态资产:
__dirname
是当前正在执行的脚本所在的目录 . 由于server.js
和index.html
处于同一级别,__dirname
将指向* D:\ GITProjects \ codelab \ complete \ step1 *