花了一个上午看完[转载]Node入门 » 一本全面的Node.js教程

根据里面的Demo自己手动实现过程中还是遇到了些问题,特整理在此。

<1>.由于node.msi安装包已经自动添加了系统环境变量,所以可以在任意地方路径下运行node xxx.js。
<2>.确定2个环境变量是否已添加
(1)一个是PATH上增加node.exe的目录C:\Program Files\nodejs,(已自动添加)
(2)一个是增加环境变量NODE_PATH,值为C:\Program Files\nodejs\node_modules(该环境变量貌似不是必须的。)

但是C:\Documents and Settings\XXX\Application Data\npm 这个文件夹路径是必须要求的,需手动建立(貌似在node v0.12.2中通过npm安装时自动生成该路径了),否则执行npm 时会出现error :

Error: ENOENT, stat 'C:\Users\Administrator\AppData\Roaming\npm。

还有点要注意的是xp 和win7 对应的npm路径是不一样的,这个以运行npm时的错误信息里的路径为准。

<3>.通过npm安装模块需要注意的是,cmd要切换到项目所在的目标文件夹,如安装‘formidable’模块:
G:\Study\12.NodeJS\MyDemos\01.NodeJSBlog > npm install formidable
这样在当前项目文件下会生成\node_modules\formidable文件夹。

<4>.上传文件夹路径的问题

function upload(response, request) {
console.log("Request handler 'upload' was called."); var form = new formidable.IncomingForm();
form.uploadDir = "./tmp/"; //add:需设置上传文件夹相对路径
console.log("about to parse"); form.parse(request, function (error, fields, files) {
console.log("parsing done"); fs.renameSync(files.upload.path, "./tmp/test.gif");
response.writeHead(200, { "Content-Type": "text/html" });
response.write("received image:<br/>");
response.write("<img src='/show' />");
response.end();
}); }

至此,demo成功运行,文件上传并显示成功。

<5>. 好用的前端开发IDE

http://www.sublimetext.com/3 (轻便小巧)

http://www.jetbrains.com/webstorm/(功能强大,自带调试)

https://nodejstools.codeplex.com/ (VS2012/13的NodeJS插件)

<6>.NodeJS社区
http://cnodejs.org/
http://cnodejs.org/
http://yuan.rednode.cn/

[整理]Node入门 » 一本全面的Node.js教程 - Demo实践所遇到的问题的更多相关文章

  1. [转载]Node入门 » 一本全面的Node.js教程

    http://www.nodebeginner.org/index-zh-cn.html 作者: Manuel Kiessling 翻译: goddyzhao & GrayZhang & ...

  2. 【第十周读书笔记】读node入门,一本全面的node.js教程

    我学到了路由的定义,路由就是解析URL然后转到相应的执行程序. 我们要为路由提供请求的URL和其他需要的GET及POST参数,随后路由需要根据这些数据来执行相应的代码(这里“代码”对应整个应用的第三部 ...

  3. 史上最全面的SignalR系列教程-5、SignalR 实现一对一聊天

    1.概述 通过前面几篇文章 史上最全面的SignalR系列教程-1.认识SignalR 史上最全面的SignalR系列教程-2.SignalR 实现推送功能-永久连接类实现方式 史上最全面的Signa ...

  4. 史上最全面的SignalR系列教程-2、SignalR 实现推送功能-永久连接类实现方式

    1.概述 通过上篇史上最全面的SignalR系列教程-1.认识SignalR文章的介绍,我们对SignalR技术已经有了一个全面的了解.本篇开始就通过SignalR的典型应用的实现方式做介绍,例子虽然 ...

  5. 史上最全面的SignalR系列教程-3、SignalR 实现推送功能-集线器类实现方式

    1.概述 通过前两篇 史上最全面的SignalR系列教程-1.认识SignalR 史上最全面的SignalR系列教程-2.SignalR 实现推送功能-永久连接类实现方式 文章对SignalR的介绍, ...

  6. 史上最全面的SignalR系列教程-4、SignalR 自托管全解(使用Self-Host)-附各终端详细实例

    1.概述 通过前面几篇文章 史上最全面的SignalR系列教程-1.认识SignalR 史上最全面的SignalR系列教程-2.SignalR 实现推送功能-永久连接类实现方式 史上最全面的Signa ...

  7. 史上最全面的SignalR系列教程-6、SignalR 实现聊天室

    1.概述 通过前面几篇文章对SignalR的详细介绍.我们知道Asp.net SignalR是微软为实现实时通信的一个类库.一般情况下,SignalR会使用JavaScript的长轮询(long po ...

  8. 史上最全面的SignalR系列教程-目录汇总

    1.引言 最遗憾的不是把理想丢在路上,而是理想从未上路. 每一个将想法变成现实的人,都值得称赞和学习. 致正在奔跑的您! 2.SignalR介绍 SignalR实现服务器与客户端的实时通信 ,她是一个 ...

  9. node入门(二)——gulpfile.js初探

    本文关于gulpfile.js怎么写,利于完成个性化需求.本文开发环境默认已安装node,详情参考<node入门(一)——安装>. 一.安装gulp npm install -g gulp ...

随机推荐

  1. 消息队列第二篇:MessageQueue实战(课程订单)

    上一篇:消息队列介绍 本篇一开始就上代码,主要演练MessageQueue的实际应用.用户提交订单(消息发送),系统将订单发送到订单队列(Order Queue)中:订单管理系统(消息接收)端,监听消 ...

  2. RabbitMQ使用笔记

    一.安装 1.下载所需安装包 下载服务端(原因在于RabbitMQ服务端代码是使用并发式语言erlang编写的):http://www.rabbitmq.com/install-windows.htm ...

  3. Beta阶段——4

    一.提供当天站立式会议照片一张: 二. 每个人的工作 (有work item 的ID) (1) 昨天已完成的工作: 完善了用户管理模式的功能 (2) 今天计划完成的工作: 对用户功能的添加. (3) ...

  4. #Leetcode# 817. Linked List Components

    https://leetcode.com/problems/linked-list-components/ We are given head, the head node of a linked l ...

  5. 将utf-8的中文或者字符都看成一个字符

    function utf8_strlen($string=null){ // 将字符串分解为单元 preg_match_all("/./us", $string, $match); ...

  6. node 加密音频文件 和 解密音频文件

    fs.readFile('./downsuccess/'+name+'', {flag: 'r+', encoding: ''}, function (err, data) {           c ...

  7. HDU3829_Cat VS Dog

    题目是这样的,给定一些人喜欢某只猫或者狗,讨厌某只猫或者狗.求最多能够同时满足多少人的愿望? 题目很有意思.建模后就很简单了. 对于同一只猫或者狗,如果有一个讨厌,另一个人喜欢,那么这两个连一条边.最 ...

  8. Xwork概况 XWork是一个标准的Command模式实现,并且完全从web层脱离出来。Xwork提供了很多核心功能:前端拦截机(interceptor),运行时表单属性验证,类型转换,强大的表达式语言(OGNL – the Object Graph NavigationLanguage),IoC(Inversion of Control反转控制)容器等。 ----------------

    Xwork概况 XWork是一个标准的Command模式实现,并且完全从web层脱离出来.Xwork提供了很多核心功能:前端拦截机(interceptor),运行时表单属性验证,类型转换,强大的表达式 ...

  9. java 常量 因为常量不依赖对象 所以一般都会将常量设置为 类属性

  10. 清华集训2015-Day 2

    校内测试做到了,于是就把解题报告发出来. 简单回路 一个 \(n\times m\) 的方格纸,有 \(k\) 个障碍点.\(q\) 次询问,每次询问 \((x,y)\) ,问有多少条简单回路经过 \ ...