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

时间:2021-02-21 00:21:23

花了一个上午看完[转载]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/