位置: 编程技术 - 正文
推荐整理分享node通过express搭建自己的服务器,希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!
前言
为了模拟项目上线,我们就需要一个服务器去提供API给我们调用数据。这次我采用express框架去写API接口。所有请求都是通过ajax请求去请求服务器来返回数据。第一次用node写后端,基本就是摸着石头的过河,文中有什么不足不处欢迎指出。
安装express框架
传送门: express官方
然后介绍一下需要引入的中间件,node本身提供了一些库。我们可以直接通过require去引用,对于未提供的库,我们也可以通过手动npm去安装
接下来直接启用模块
准备工作做完可以开始动手写接口了。关于数据库可以模拟一个json,也可以真实模拟上线数据库。
下面会划成3块说明——数据库的对接、请求的操作、文件请求的操作。
数据库连接
这里我假设你已经安装了mongodb数据库并成功启用。仔细阅读express教程你会发现框架提供了对mongodb的支持,mongodb有非常多的扩展插件去使用该数据库 比如mongoose。这里我们使用express官方提供的mongoskin来链接数据库。
安装成功后 ,我们就首先把使用的数据库引入,代码如下
以上代码表示我们成功连接了blog数据库并且启用了私有ID,objectID是mongodb生成数据自动添加的ID。可以直接拿来用。到这里数据库和服务器就已经对接完毕了。
对前端发送的请求进行处理
处理get请求
以上代码就实现了对一个get请求的处理,通过参数模块获取了url的参数,db也就是已经连接的数据库。根据ID对‘articleList'的数据表进行搜索,处理完毕后 通过res.end()返回数据结束响应。
处理post请求
post请求的参数获取和get不同 可以直接通过req.body去获取前端传输的请求体。通过js对象的方式去获取参数。然后根据参数执行数据库操作。到此,基本的请求也就介绍完毕了。下面说下怎么处理图片的上传此类常见的文件操作需求。
对前端的文件请求进行处理
为了简化操作,我们可以引入multer模块来处理文件,代码如下
以上代码就成功引入了文件上传模块,通过该模块我们可以快速生成相应内容,具体使用方法可以查看官方文档。准备工作完成后,在项目中使用:
这里上传图片我们就直接使用了直接之前已经写好的upload模块,当该接口请求成功时 ,文件就已经上传成功了,如果你需要一个预览过程,那不应该直接调用上传接口 。通过原生node fs模块 我们也能对添加的文件进行删除,修改操作。
上线以及上线后遇到的history模式的刷新问题
上线过程我们可以当作就是换一台电脑跑程序,这里我用的是阿里云的服务器。在云服务器安装好环境好,把项目克隆进去 ,再装个forever之类的永久运行库,start ~ok 这样你的项目就永远在运行了。如果需要www访问 ,还需要买个dns解析 和域名,指向你的服务器。
以上我们如果在本地跑项目基本已经可以没问题。但项目上线后一刷新。啊啦??什么鬼?打开百度一查。那炉火多~~当前端启用hisory模式,后台也必须开启对history的支持。express 环境如下:
更新代码刷新~OK 完美!
总结
想学好一样东西,需要长久的积累。作为一个前端,一些服务器数据库的知识除了可以帮助我们更好的跟兄弟(后端)交流,对前端来说也是如鱼得水一般的存在。
下一篇文章准备写electron入门,electron是通过js构建桌面应用的框架,。共勉~~~~~
Github:
nodejs 图片预览和上传的示例代码 本文介绍了nodejs图片预览和上传的示例代码,分享给大家,具体如下:效果如下:前言一般在上传图片之前需要暂存在本地预览一下。前端图片预览用
Node.js微信 access_token ( jsapi_ticket ) 存取与刷新的示例 access_token微信文档里存在两种access_token:普通access_token和网页授权access_token。具体区别参考:
你应该知道的几类npm依赖包管理详解 前言大家都知道在一个Node.js项目中,package.json几乎是一个必须的文件,它的主要作用就是管理项目中所使用到的外部依赖包,同时它也是npm命令的入口
友情链接: 武汉网站建设