問題解決方法參考鏈接: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 [email protected]
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);
至此,問題得到解決。