问题解决方法参考链接:http://stackoverflow.com/questions/24346161/nodejs-connect-cannot-find-static
这个问题是我在学习AngularJS,也就是做《AngularJS高级程序设计》(Adam Freeman著)这本书上第一章的例子时遇到的。
原文服务器端代码如下:
var connect = require('connect');
connect.createServer(
connect.static("../angularjs")
).listen( 5000);
运行会产生如下错误:
connect.createServer(connect.static("../angularjs")).listen( 5000);
^
TypeError: undefined is not a function
错误的意思是找不到static方法。
产生这个错误的原因是最新的nodejs的connect包已经移除了static方法,书上用的nodejs是2.x.x版本。
解决方法:
1、安装旧版本的connect包,也就是2.x.x版本
npm install connect@2.x.x
2、继续使用当前最新版本的connect,但是要安装serve-static包
npm install serve-static
使用了serve-static的代码如下:
var connect = require('connect'),
serveStatic = require('serve-static');
var app = connect();
app.use(serveStatic("angularjs"));
app.listen(5000);
至此,问题得到解决。