首页 > 为什么我按照书上的实例一直报错,connect.static is not a function这么简单的语句唉

为什么我按照书上的实例一直报错,connect.static is not a function这么简单的语句唉



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了!


现在技术更新的太快了,看书的话一定要记得看版本,因为你正常安装的,都会默认安装最新的稳定版本,有极大的可能会跟书上的版本不一致,如果更新幅度小还好,更新幅度大,书上的代码很可能就废掉了!

所以: 学技术的正确姿势是:

  1. 首先看官方网站

  2. 看不懂的看国内的技术贴(注意看时间!太旧的时效性会降低)

  3. 看相关技术的论坛

  4. 不懂的就问~


原因是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等等.

【热门文章】
【热门文章】