虽说nodeJs已经出来5年了,已经算不上什么新的技术了,但是对我来说它仍等于0,想想5年前我在干什么,还在地里‘刨灰’。 说说自己这几天学习nodejs的感受吧。首先感觉上手还是挺容易的,环境搭建,入门教程都可以很愉快的走过。但是昨天开始感觉入坑了,原因是学习《nodejs指南》这本书的例子的时候,和大多数人一样,被connect-modo这个模块卡住了。当然我不愿意做“伸手党”,首先想到的是上github上看看这个模块的介绍,上面写的很清楚了,按照提示做了修改(express4),重新运行,然后就报这个错误 js\n var Store = require(‘connect’).session.Store; TypeError: Cannot read property ‘Store’ of undefined \n 当时感到很纳闷,然后重新查看github上的版本和我的版本 js\n Support Express up to 5.0 Support all Connect versions Support Mongoose >= 2.6, 3.x and 4.x Support native MongoDB driver >= 1.2 and 2.0 Support Node.js 0.10, 0.12, 4.x, 5.x and all io.js versions Support MongoDB up to 3.2 \n 发现只有nodejs的版本不一致(当时心急直接yum安装的,还是0.10的),github又说对此版本需做如下处理: console.log(“var MongoStore = require(‘connect-mongo/es5’)(session);”), 按照要求重新添加模块,安装,继续执行,惊喜的发现 错误变了(因为上面那个错误困扰我一会了),真是有时候换着换错误也是感觉蛮好的,至少让我感觉有进步了。。。。 js\n Error: Cannot find module ‘connect-mongo/es5’ \n 话虽这么说,但是到这里了还是让我有点崩溃的,因为我不知道接下来该检查哪里的错误了。。。 没有办法,开始在社区找资源,发现解答点和我做的改动基本是一样的,都是因为express的版本问题,,然后忧伤stack上面去找,绕了一大圈后发现问题仍然没有解决,,最重要的是肚子也饿了。。无奈啊 但有时候做事还是需要坚持一下的,又回到我的package下,我就想既然其他东西都改了,是不是就是connect-mogo自己的问题了,当然我这不是怀疑大牛写的有问题,我又看了一下我的connect-mogo版本,问题终于找到了,这个版本还是最老的版本(因为当时直接写的书上的,不动脑害死人啊),改成最新的重新开始,一切正常。。。。 至此,问题是终于解决了,给我的总结就是在看书的时候一定要动脑,不能死死的照着来;再就是package的模块版本一定要写明确了,不能模棱两可,这样这是会害死人的。。。
作者
作者其它话题
无
初学者弄清楚模块版本很重要