我正在尝试使用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脚本,但是当我启动页面时它们没有被加载。我该怎么办?
答案 0 :(得分:1)
您通常会将任何公共资源(JavaScript文件,CSS文件,图像等)放在目录中(默认情况下,Express将其命名为 public ),然后使用express.static
middleware在app.configure
电话中:
app.configure(function () {
// Various other middleware functions...
app.use(express.static(path.join(__dirname, "public")));
});
这有效地运行一个静态文件服务器,它将返回 public 目录中的任何文件。目前,您的浏览器正在请求您的JS文件,但Express服务器不知道如何处理它们。他们最终会超时。
如果您使用全局express
可执行文件生成应用程序的初始状态(如果您通过全局npm安装Express,则可用),它将为您设置大部分内容。