我正在尝试使用Node.js服务器创建az ExtJS应用程序。我的服务器代码目前如下所示:
var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.sendfile(filedir + '/index.html');
});
app.get('/employees', function(req, res){
console.log("hello");
});
app.listen(3000);
当我在浏览器中打开localhost:3000时,html文件已加载,但不正确。检查firebug我看到它找不到html中的链接文件。例如
"NetworkError: 404 Not Found - http://localhost:3000/ext-4/ext-debug.js".
这很合乎逻辑,因为该URL上不存在该文件。我的问题是如何解决这个问题,所以它可以在我的文件系统上找到每个链接文件。
我显然做错了什么或遗漏了什么,我在节点上是全新的。
答案 0 :(得分:5)
看起来你不是在配置Express'静态文件处理程序。
尝试添加此代码:
app.configure(function() {
app.use(express.static(path.join(__dirname, 'public')));
app.use(express.bodyParser());
app.use(express.logger("short"));
});
它会像var app = ...
之后一样:
var express = require('express');
var app = express();
app.configure(function() {
app.use(express.static(path.join(__dirname, 'public')));
app.use(express.bodyParser());
app.use(express.logger("short"));
});
app.get('/', function (req, res) {
res.sendfile(filedir + '/index.html');
});
app.get('/employees', function(req, res){
console.log("hello");
});
app.listen(3000);
然后将静态文件放在./public
目录下。
答案 1 :(得分:3)
您需要使用一些静态中间件,例如:http://www.senchalabs.org/connect/static.html
注意表达继承连接,所以你可以
app.use(express.static(filedir));
或完整的事情:
var express = require('express');
var app = express();
app.use(express.static(filedir));
app.get('/employees', function(req, res){
console.log("hello");
res.send("hello");
});
app.listen(3000);