【问题标题】:Node / connect issue Object function createServer has no method static [duplicate]节点/连接问题对象函数createServer没有静态方法[重复]
【发布时间】:2014-06-01 10:08:55
【问题描述】:

我正在尝试使用 AngularJS 书籍 (server.js) 中的示例启动我的节点服务器。

var connect = require('connect');
connect.createServer(
connect.static("../angularjs")
).listen(5000);

最初我得到“对象没有静态方法”,所以我重新安装了连接包含,现在当我这样做时:node server.js 我在 CMD(Windows)中得到一个闪烁的光标,并且从我的浏览器。

各位有什么想法吗?

谢谢!

【问题讨论】:

  • 嗨,我找到了那篇文章并使用了建议的代码 - 我仍然得到“Cannot GET /”
  • 我想你和我读的是同一本书。连接模块已重新组织。执行 npm install connect 和 npm install serve-static。之后你的 server.js 可以写成: var connect = require('connect'); var serveStatic = require('serve-static'); var 应用程序 = 连接(); app.use(serveStatic('../angularjs')); app.listen(5000);
  • @KnarfaLingus 这对我有用,谢谢!是的,我们正在读同一本书:)
  • 读同一本书。将其添加到 Apress 上图书的勘误表中
  • 我遇到的问题是在浏览器中输入localhost:PORTNUM 时,我必须在后面加上文件名,例如localhost:8000/test.html。否则,是的,它查找的默认文件是 index.html,在我们这本书的例子中,在 /angularjs 文件夹中

标签: javascript node.js connect


【解决方案1】:

您的应用程序运行良好。您只需指定要从 URL 中的静态文件夹访问的文件的名称。例如,如果您有一个名为 app.html 的文件,您需要通过以下方式访问它:

http://localhost:5000/app.html

请注意,如果您只使用根 URL,它将导致连接查找默认文件名,默认为 index.html。您可以更改 by passing new default file name in options:

connect.static("../angularjs", {default: "app.html"});

【讨论】:

  • 奇怪,在我将 server.js 文件放入 angularjs 文件夹之前,我遇到了同样的“无法获取”错误 - 然后一切正常!好像由于某种原因它无法深入到 angularjs 文件夹中
  • 从 connect@3.X.X 开始,静态中间件已移至单独的模块中。查看stackoverflow.com/questions/28830902/…的更新
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-09
  • 1970-01-01
  • 1970-01-01
  • 2015-12-29
  • 2018-08-02
  • 1970-01-01
相关资源
最近更新 更多