var connect = require('connect');
connect.createServer(
connect.static('../angularjs')
).listen(5000);
就这么一句代码,控制台一直 TypeError: connect.static is not a function
报错,然后我输出connect,没问题,但是createServer方法就报错,一次使用nodejs,按照书上来的,怎么一直不行呢?
声明一点,我已经npm install connect模块了!!!!!!
pro angularJS?
我当时看这本书的时候也遇到过,楼上说的对,高版本的NodeJs不支持connect,需要加入这个
这是是我当时看的答案,
http://stackoverflow.com/questions/24346161/nodejs-connect-cannot-find-static
解决别忘给个采纳啊
版本已经更新了,看看新版本的吧!
你执行了npm inatall connect
了吗?你可以在第二行加一句console.log(connect)
看看,感觉是undefined
那是因为 这行代码运行需要引入 connect模块
根据提示connect.static is not a function
就是找不到这个模块嘛
一般来说 你需要执行上一步 npm install connect
放到本地。
安装的express版本与书上写的不一致,很有可以书已经过时,还是3.X,而现在都是4.X了!
现在技术更新的太快了,看书的话一定要记得看版本,因为你正常安装的,都会默认安装最新的稳定版本,有极大的可能会跟书上的版本不一致,如果更新幅度小还好,更新幅度大,书上的代码很可能就废掉了!
所以: 学技术的正确姿势是:
首先看官方网站
看不懂的看国内的技术贴(注意看时间!太旧的时效性会降低)
看相关技术的论坛
不懂的就问~
原因是3.x的connect把很多非核心功能分离出去了, 由其他的middleware实现. 2.x的static方法, 在3.x中由serve-static实现. 你安装的是3.x的版本, 所以会报这个错.
解决办法, 在安装connect的时候指定使用2.x的connect
npm install connect@2.x
另:
其他被分离出去的功能参见connect的github主页.
你这本书似乎和现在的情况出入有点大. 如果可以, 尽量不要看中文书, 多看官网的wiki, 文档一类的.
connect的意义是中间件的思想. 可以学习expressjs, 然后再学个all in one类型的框架, 例如meteor, sails等等.