使用带有node.js和express的JS提供HTML页面

时间:2013-02-11 10:58:27

标签: node.js express

我正在尝试使用node.js和express来提供带有链接js脚本的html页面。 这是提供页面的服务器:

var express = require("express");
var app2 = express();
app2.get('/', function(req, res) {
   res.sendfile('./index.html');
});
app2.listen(process.env.VCAP_APP_PORT || 3000);

这是页面:

<!DOCTYPE html>
<html>
<head>
    <title>Demo</title>
</head>
<body>
    <h1>Demo</h1>
    <script src="/js/socket.io.js"></script>
    <script src="/js/codice.js"></script>
</body>

正如您所看到的,我的js文件夹中有两个js脚本,但是当我启动页面时它们没有被加载。我该怎么办?

1 个答案:

答案 0 :(得分:1)

您通常会将任何公共资源(JavaScript文件,CSS文件,图像等)放在目录中(默认情况下,Express将其命名为 public ),然后使用express.static middlewareapp.configure电话中:

app.configure(function () {
    // Various other middleware functions...
    app.use(express.static(path.join(__dirname, "public")));
});

这有效地运行一个静态文件服务器,它将返回 public 目录中的任何文件。目前,您的浏览器正在请求您的JS文件,但Express服务器不知道如何处理它们。他们最终会超时。

如果您使用全局express可执行文件生成应用程序的初始状态(如果您通过全局npm安装Express,则可用),它将为您设置大部分内容。