设为首页 收藏本站
查看: 965|回复: 0

[经验分享] 初步NodeJS in Windows:从安装到入门

[复制链接]

尚未签到

发表于 2017-2-22 11:58:02 | 显示全部楼层 |阅读模式
  上周末开始看NodeJS,一路下来从安装到入门代码都遇到了一些问题,今天总算解决了一点,写下来分享一下:
  安装部分:
  1.  首先我的系统是windows 8,所以这里只拿node在windows下的安装步骤跟大家讲。node的下载地址是:http://nodejs.org/download/
       可以看到windows系列有两类安装文件可以使用:exe文件和msi文件。区别是msi需要安装,而且安装后会把相关的执行文件写到系统环境变量,并且
       还集成了其它的node插件,比如NPM。
       但是当我装完msi文件,再去安装express的时候,就遇到问题了。所以如果大家不想折腾那就跟我一样,下载一个node.exe文件。
  2.  在D:\ 创建文件夹NodeJS把下载到的node.exe放到该文件夹下面。纯纯的一个node环境就算装完了,接下来在当前目录下 按住shift并点击鼠标右键,
       选择在当前目录下打开命令行工具。
       > node -v   输出版本信息,验证安装是否成功。
       > node -h    查看帮助,列出了几个简单指令的使用。
       试着把 路径 D:\NodeJS写入系统环境变量的path中就可以在任意地方执行node命令了。
  3.  安装npm。这个工具应该是个插件的管理工具,后面安装插件时会依赖它,所以要先把它安装好。
       下载这个文件:https://github.com/isaacs/npm/zipball/v1.0.104 在D:\NodeJS\下创建npmjs目录,下载的文件解压到npmjs,如下图。
DSC0000.jpg

       其中有个node_modules文件夹,里面的文件夹都是空的,从 这里 下载一个新的node_modules,替换前面那个。
  4.  在 D:\NodeJS\npmjs文件夹下打开命令行工具 执行 >node install npm -gf (当我做这一步时,提醒我版本不对,应该用0.4、0.5、0.6版,
       所以我换成了0.6版的node.exe, 这样就安装好nmp了)
       执行 >npm -v 查看版本,验证是否成功安装。
  5.  安装express。在D:\NodeJS 目录打开cmd,执行 npm install express -g 。注意,安装过程有点长,耐心等待,不要觉得没反应就是失败了。
       执行 >express -V 查看版本验证安装是否成功。特别注意这里的V是大写的。
      上面的几步大多是借鉴园友 Sean Lv 的 文章 ,但由于照搬操作还是遇到了一些问题,所以重新组织了一下,也顺便加了几个自己发现的问题。

  6.  这一步是来安装一个小工具:formidable。我在下面的练习中用到了,所以也在这儿写一下吧。
       执行 > npm install formidable 命令完成安装,注意一点:如果使用的Node.exe版本过高会安装失败的,需要0.9及以下版本。
  NodeJS入门:
       下面开始讲如何入门nodejs,这里我推荐一本在线书籍《Node入门》地址:http://www.nodebeginner.org/index-zh-cn.html其实很多人都会推荐这
       本书,写的不错的。但让人很不爽的是好多国内同胞直接粘贴人家的文章到自己的博客里装B。其实我今天晚上刚看完这本书,现在主要是就里面遇到的
       问题跟大家分享一下,如果大家不是看这本书来入门的,那下面的内容就可以绕过了。
  1.  书中讲到下面这个函数:



function sleep(milliSeconds) {
var startTime = new Date().getTime();
while (new Date().getTime() < startTime + milliSeconds);
}

  其中的 while (new Date().getTime() < startTime + milliSeconds);我有点蒙,while循环还能这样写,是不是代码错了,执行后发现这没问题,只是每
       次循环都只判断没操作。
  2.  server.listen(8888).来监听端口,但是当你多次重复请求操作时会产生冲突,导致node指令报错,这时改一下端口号就行了,我改过8821、8823等。
  3. 在做非阻塞处理时有exec("find /",function(error,stdout,stderr){...})。其中的一个参数"find /"指的是linux下的指令当然还有"ls -lah",如果是在
       windows下操作的话,这个地方一定报错,可以把它换成"dir"试一下。
  4.  在后面那个上传图片的例子中执行var form = new formidable.IncomingForm();时总是执行不通过,后来发现又是版本问题,我下载了1.0版本的
       覆盖了之前的,这个地方就能通过了。
  5. 同上的例子fs.renameSync(files.upload.path,"/temp/test.png");报错,把renameSync改为rename就好用。真正的原因下面的文章里有讲。
       最后,我刚把所有的代码都调出来了,结果从网上查到一篇文章,是专门分析这本书不足之处的。要是早看到该多好啊,哈哈。下面是链接,推荐大家:
       http://cnodejs.org/topic/4f348e5ec420ea662d026df2
       最后,俺也是刚开始尝试写node,希望跟大家多多交流啊,俺的微博是:http://weibo.com/319111988
   --------------------------------------------------------------更新-------------------------------------------------------------
  旅行回来重新开始折腾node,发现上面的安装过程已经不好使了,更新新的方式如下:

  1.    直接下载msi文件,点击安装后会自带把npm工具也安装上了,在node_modules下面会发现npm文件夹。
  2.    npm install express -g 安装express工具。
         -g的作用是把express安装到全局的环境下,具体的意思就是把express文件夹(内含相关组件)安装在了 用户\AppData\Roaming\npm\node_modules下面,而不是安装在当前目录下面的node_modules下面,这样做的作用是只对命令行操作有好处,无论在哪个目录下打开命令行都能执行express操作。但问题是在具体的express项目中不会自定引入express组件。
  3.   express -V 查看版本号。
  4.    express hello 创建一个hello项目。cd hello ; node app.js此时出现错误。原因就是在第2步中所说的问题了,express不会自动导入到具体的项目中,现在的解决方法 1.再安装一遍express这次用npm install express 指令,不加-g。2.直接从用户\AppData\Roaming\npm\node_modules位置把整个express文件夹放到nodejs文件夹下的node_modules中。
  5.    有时也会报缺少jade错误,npm install jade即可!
  -----------------------------------------继续跟进 2014.3.28-----------------------------------------
  NND,msi文件的64位在windows上无法安装了。32bit的一切正常

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-345733-1-1.html 上篇帖子: 初识NodeJS,一个基于GoogleV8引擎的Javascript运行环境 下篇帖子: 大熊君大话NodeJS之------Connect中间件模块(第一季)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表