初级菜鸟了解NodeJs这位神秘的“小哥”简单回顾

  前两天简单的折腾了一下NodeJs,在这里简单回顾整理下,也仅代表菜鸟级的观点,不供参考。NodeJs模块的版本问题着实让人头痛,其中的各种折腾也不轻松,编程入门确实不建议选它。

  NodeJs很早以前就知道这位“小哥”的名字,不过一直对这位神秘的“小哥”没有太多的了解,印象最深的就是他是“在服务器端运行的Js运行环境”,至于他的什么高并发和异步I/O完全特性没有概念,其它的更是一无所知了,不过最近国内的GIT服务兴起,和各大技术网站对他的推崇,让我也关注起他来了,前两天正好清闲在git.oschina.net逛,看到有不少的开源NodeJs小项目,就选择了一个NodeJs开源博客来学习研究一下。

  这个博客系统是基于Node.js+Express+MySql+Bootstrap构建的,之前对于NodeJs这块的完全没有认识,所以对于这个Express是完全不了解,不仅这样,就连Node的项目怎么运行起来也都不清楚,在选定这个NodeJs项目之前也下载过其它的一些项目,不过都不知道怎么让项目跑起来,选定这个NodeJs项目也是因为他有详细的项目说明,项目配置文件项目也很清淅,更重要的是这个项目有个运行项目的bat批处理文件,这对于一个刚开接触NodeJs的人来说是多么贴心的一件事。通过简单的配置之后就把项目跑起来了。项目是跑起来了,不过好像问题没有这么简单,开源项目无不折腾,也许是因为我还不熟悉开源。项目说明文件没有写明名Express的版本,不过这个好歹还有个详细的说明,很多网上下的项目都没有什么说明,我写下这篇文章也是想让和我一样的初级菜鸟不被挡在门槛上,以后在开源代码这块有所研究后,再整理一下关于怎么分析开源项目配置和环境搭建这块的文章,这有点扯远了。

引用:

Express:这货呢,就是Node的一种框架,Node有很多的开源框架,Express是一个大神开发的(这尊神已经移驾到go语言的开发去了)。Express可以让你更方便的操作Node(因为原生的Node写起来比较麻烦,而且因为Node是事件驱动的,所以有很多异步回调,写多了就看着晕...)

  开源项目更新得快应该是他的一个优势,但有些时候会给初级菜鸟带来很多麻烦和困扰,更新得快也就存在一些版本的兼容问题,初级菜鸟往往对项目了解不够,很容易就被卡住。好的编程语言离不开丰富的组件和类库的支持,但往往配置这些组件和类库的时候也会让你伤透脑筋,尤其对初级菜鸟来说,当你了解NodeJs之后你发现NodeJs在这块做得还是比较优秀的,NodeJs有一套很好的包管理机制,借助NPM工具,你可以轻松下载项目所依赖的包。也会你会发现很多Linux下的应该软件或是编程IDE都有一套模块管理机制,这应该是他们的一种特性,就像我们常见的FireFox和Chrome浏览器可以安装不同的插件,通过扩展插件根据需求来定制你的浏览器,让你的浏览器变得更强大,更适合于你。开源项目很多配置都需要用到命令提示符来操作,然而在命令提示符这方面WIN平台一直都没有做太大的改进,这里推荐一下PowerCmd工具,这是一个命令提示符增强工具,他的优势我这里就不作详细的说明了,大家用了之后就会自然的发现了。

  首先我们通过以下命令来指定全局包安装的位置:

  npm config set prefix "C:\Program Files\nodejs\node_global"
  以及
  npm config set cache "C:\Program Files\nodejs\node_cache"

  如果NodeJs目录下没有node_global,node_cache这两个文件夹新建就可以了

  设置好全局包安装的目录后,可以通过npm config get prefix命令来查看当前设置的目录

  上面的操作配置好后,我们就可以开始Express的安装了,现有我们先来个全局安装

  npm install -g express --安装命令中的 “-g” 表示全局(global)
  npm install -g express-generator --4.0以后的版本要安装express-generator

  Express安装完之后我们可以通过执行命令 express -V查看其版本号。

  如果提示“express不是内部或外部命令”,这样问题就来了,这是什么原因呢?

  有两种可能:

  一、在第二步安装Node是没有添加环境变量,这种情况把Node添加的环境变量即可解决。
  二、express 4.x版本中将命令工具分出来了,需要再安装一个命令工具,执行命令“npm install -g express-generator”完成后再测试就可以了。

  这里我们要学会的是全局安装。

  下面我们来学习一下神奇的依赖包安装。当你安装完Express之后测试项目还是报一些关于Express的错误,这很有可能是为是用的是Express4.x版本的问题,因为Express4.x对部分依赖包进行了分离,包括bodyParser,cookieParser和session等。通过翻阅项目的代码你会发现package.json文件配置着一些项目的基本信息,其中就包括前面提到过的各个依赖包以及依赖包的版本信息,网上资料中了解到package.json是项目依赖配置及开发者信息,node_modules文件夹则是存放项目的依赖库。同时网上资料中也提到通过package.json文件你可以轻松下载配置依赖包,切换到项目目录文件夹下执行npm install命令就可以自动根据package.json配置信息下载项目所依赖的包文件,是不是很神奇。

  如果到这就轻松完成了整个项目的基础环境配置就显示不出NodeJs有什么折腾性来了。前面说过Express在4.0以后分离了一些依赖包, 所以把项目依赖包和Express都安装好后,项目可能还是会报错,拿我现在的测试的博客项目来说,Express的路由没有问题,问题是出在后台管理登陆提交上,一提交登录信息就报错,对于我这个初级菜鸟来说,会一直以为是安装Express版本有问题,经过网上搜索资料多次不断尝试以后发现问题依旧,静下心来,把错误的信息网络搜索了才发现是因为Express4.0以后部分依赖包分离的原因,首先是负责客户端请求数据提交格式化的bodyParser,然后是session,然后是cookies,不过你会发现整个过程资料很少,国内的资料又是通篇一律,唯一资料上齐全一点的就是Express官网和Stack Overflow,不过这些网站都是英文资料,还是要有点英语基础和耐心看才能看得明白,这可以说明很多国内没有完全普及的技术,资料很少,只有在国外的技术论坛去学习解决问题,你也会发现国外很少技术类型的文章,都是以官方详细的文档说明以及论坛模式呈现占多数,不知道是搜索的关键词问题还是国外流行这样的模式的问题还是其它什么原因。回想整个过程大部分的原因是因为对这位小哥的不了解,对开源程序的整个机制模式不熟悉,花了大量时间在找资料和熟悉开源特性上。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值