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

花了一个上午看完[转载]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 这个文件夹路径是必须要求的,需手动建立,否则执行npm 时会出现error :

Error: ENOENT, stat ‘C:\Users\Administrator\AppData\Roaming\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成功运行,文件上传并显示成功。

 

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

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。