Nodejs错误未定义不是函数

nodejs error undefined is not a function

本文关键字:函数 未定义 错误 Nodejs      更新时间:2023-09-26

我正在尝试使用node js创建一个简单的web服务器。这是我写的脚本。

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

我将脚本放在nodejs目录中,然后我尝试使用命令"node server.js"运行它,我得到以下错误

C:'Program Files'nodejs'server.js:4
       connect.static("../angularjs")
                     ^
TypeError: undefined is not a function
    at Object.<anonymous> (C:'Program Files'nodejs'server.js:4:22)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Function.Module.runMain (module.js:501:10)
    at startup (node.js:129:16)
    at node.js:814:3

我是javascript新手,请求您的指导。

谢谢,问候苏尼尔

您的connect版本在其属性中不包含static,您要么降级connect (2.xx)版本,要么尝试以下代码片段

var connect = require('connect'),
serveStatic = require('serve-static');
var app = connect();
app.use(serveStatic("../angularjs"));
app.listen(5000);

但在运行前

npm install serve-static 

因为static不是connect的属性。

根据短语

server -static -先前为static

我认为您使用的connect的版本比您代码指定的版本更新。

所以你有两个解决方案:

  • 使用旧版本的connect
  • 使用serve-static中间件代替static方法