NodeJs新手学习笔记练习项目大纲

简介:

NodeJs新手学习笔记练习项目大纲

  • 导言
  • NodeJs的个人看法
  • 练习项目大纲

导言

毕竟已经不是第一次学编程了,所以就想着折腾点好玩的东西,去NodeJS官网和CnodeJs转一圈以后,慢慢的有点感觉了,把学习过程中的点点滴滴记录下来当做一个一个存档或者为nodejs做一份贡献吧.

NodeJs的个人看法

NodeJs里面最经典的例子莫过于那个http服务器了,也是目前而言最成熟的nodejs学习的案例.在学习nodejs的过程中发现,很少发现有Nodejs 更移动客户端打交道的资料,个人愚见,nodejs的异步IO模型非常适合用于在移动客户端的领域里面,举个不太严谨的例子,例如上传一张图片,在当前的移动互联网速很慢的时候的,服务器不可能为了等待你的一张图片上传,不断的慢慢等待.在这里使用异步IO的话,服务器只管接受图片上传就行了,其它的什么都不用管.以上是我对nodejs的应用范围的一点愚见.

所以,这次的练习项目就是简单的仿照时下热门的Instagram

练习项目的规划

这里的目的毕竟不是要完全的模仿Instagram所以,设计就非常随便了.

让我们想想Instagram的主要功能

  1. 客户端部分

    1. 进行图片获取
    2. 将图片上传
  2. 服务端播放

    1. 接收图片
    2. 保存图片

我把Instagram的功能做了一个面目全非的精简,我们实现的目标只需要

1.客户端能拍照上传

2.服务端能接收图片上传

第一期的练习项目就是完成以上两个目标.

客户端部分

经过两个小时的编码终于有个雏形了并打包成apk可以安装在手机上,因为这里是nodejs社区,对客户端有兴趣的话可以关注我的博客 我的博客 在以后的某段时间,我也会把客户端的开发的进程也记录下来.

服务端

nodejs + express 3.x

这次服务端要做的事情比较简单,说白了只不过是要支持文件上传而已,用express 实现起来十分简单

片段一:

// 获得文件的临时路径

var tmp_path = req.files.thumbnail.path;

这里要特地说一下,win下和,linux下的区别.win下的文件系统不像linux那样所有的路径都可以基于 /xxx/xx完成,所以在win下express里面改变文件默认上传的目录的话,最好还是填绝对路径.

片段二

// 将临时文件移动到目标文件夹

`fs.rename(temppath, targetpath, function(err) {if(err) throw err;

//删除临时文件

fs.unlink(temp_path, function() { if(err) throw err; }); });`

更多细节还是app.js看源代码47行 - 54行

就这么完了?当然不会了,接下来有得是折腾,不过暂时让我歇一歇吧,有兴趣的朋友就持续关注吧,不过,期望不要太高,毕竟俺只是兴趣而为而已

github传送门 https://github.com/youxilua/nodejsfileUpload


本文转自 liam2199 博客,原文链接:  http://blog.51cto.com/youxilua/1012818 如需转载请自行联系原作者


相关文章
|
2月前
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
45 0
|
4月前
|
数据采集 资源调度 JavaScript
Node.js 适合做什么项目?
【8月更文挑战第4天】Node.js 适合做什么项目?
234 5
|
5月前
|
开发框架 JavaScript 测试技术
nodejs使用eggjs创建项目,接入influxdb完成单表增删改查
nodejs使用eggjs创建项目,接入influxdb完成单表增删改查
85 0
|
5月前
|
JavaScript 关系型数据库 MySQL
创建nodejs项目并接入mysql,完成用户相关的增删改查的详细操作
创建nodejs项目并接入mysql,完成用户相关的增删改查的详细操作
69 0
|
2月前
|
SQL JavaScript 关系型数据库
node博客小项目:接口开发、连接mysql数据库
【10月更文挑战第14天】node博客小项目:接口开发、连接mysql数据库
|
2月前
|
JavaScript Linux 网络安全
VS Code远程调试Nodejs项目
VS Code远程调试Nodejs项目
|
3月前
|
JavaScript 应用服务中间件 Linux
宝塔面板部署Vue项目、服务端Node___配置域名
本文介绍了如何使用宝塔面板在阿里云服务器上部署Vue项目和Node服务端项目,并配置域名。文章详细解释了安装宝塔面板、上传项目文件、使用pm2启动Node项目、Vue项目打包上传、以及通过Nginx配置域名和反向代理的步骤。
617 0
宝塔面板部署Vue项目、服务端Node___配置域名
|
3月前
|
JavaScript Linux 开发工具
如何将nodejs项目程序部署到阿里云服务器上
该文章详细描述了将Node.js项目部署到阿里云服务器的步骤,包括服务器环境配置、项目上传及使用PM2进行服务管理的过程。
|
4月前
|
JavaScript
成功解决node、node-sass和sass-loader版本冲突问题、不需要降低node版本。如何在vue项目中安装node-sass,以及安装node-sass可能遇到的版本冲突问题
这篇文章介绍了在Vue项目中安装node-sass和sass-loader时遇到的版本冲突问题,并提供了解决这些问题的方法,包括在不降低node版本的情况下成功安装node-sass。
成功解决node、node-sass和sass-loader版本冲突问题、不需要降低node版本。如何在vue项目中安装node-sass,以及安装node-sass可能遇到的版本冲突问题
|
4月前
|
数据采集 资源调度 JavaScript
Node.js 适合做高并发、I/O密集型项目、轻量级实时应用、前端构建工具、命令行工具以及网络爬虫和数据处理等项目
【8月更文挑战第4天】Node.js 适合做高并发、I/O密集型项目、轻量级实时应用、前端构建工具、命令行工具以及网络爬虫和数据处理等项目
62 5