浅谈Nodejs应用主文件index.js
前言
经过之前的文章 《浅谈Nodejs应用的主文件index.js的组成部分》 ,终于认识了 Node 妹子的容颜,然后好像上呀<( ̄︶ ̄)>。呦西~这次让本屌在她胴体上游走一番,想想也是不错滴。嗯哼,YY到此为止。
正文
这篇文章主要以组成部分为单位了解一下 index.js 这个主文件...皮肤有多滑( ̄▽ ̄)~
既然之前说过了index.js的组成部分,那么这次就一个组一个组的说。没错!本帅的手,怎么能放过你的每一寸肌肤!
一、引入依赖模块
嗯..就像这样:
var express = require('express'); var path = require('path'); var favicon = require('serve-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser');
其实啊,依赖模块就是字面的意思。
用前端工程师的话来说,就是$("#id").attr("class","active")这句代码没有Jquery就转不起来。
用动物的话来说,没有食物就活不下去了。
用本屌的话来说,没有妹子也活不下去了。
嗯哼~综上所述,依赖就是 为接下来要做的事做好能完成该事的准备 。所以上面那些“拼音”都是扮演这种角色的..
二、设置相关配置
献上该组相关代码:
// 视图引擎设置 app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'jade');
额..就两行代码,胸比较小(  ̄﹏ ̄),毕竟萝莉嘛,啊哈哈哈。
上面两行代码就是设置试图目录并设置 jade 为试图引擎。设置的多少取决于你要用哪些模块,有的模块也有默认设置,但为了自己编写方便,肯定会设置成自己喜欢的样子。
三、中间件
//中间件 app.use(favicon(path.join(__dirname, 'public', 'favicon.ico'))); app.use(logger('dev')); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false })); app.use(cookieParser()); app.use(express.static(path.join(__dirname, 'public')));
中间件,严格来说index.js中每一行都是中间件,我估计好多兄弟虽然知道中间件这个词,但还是不了解到底是什么意思,它主要是干嘛的。
所以,本屌亲自着手画了一幅宇宙仅有的一张图:
我相信聪明的人一下就能看懂了,毕竟本屌的画拿出去卖也能值个5毛钱。
正经话:左边大箭头是指代码执行顺序,谁都知道 Js 是从上往下执行的,这里为了好解释中间件,把大箭头看成水流。
而在水流往下流的过程中,有个类似滤网的东西在中间卡了一层,本屌突然想到了处女膜是不是也这样(啊呸,思想又不正了 ̄▽ ̄)。
黑色的滤网,就是上面那段代码,中间件的作用就是在执行主线代码过程前、过程中、过程后的警察、门卫或者引导者。举个栗子,比如使用 bodyParser 中间件,它的作用就是解析 HTTP 请求的 body 数据解析,方便在路由中使用, cookie-parser 也是一样的道理。
在图中两个滤网中间部分,一般为路由,由它来负责返回客户端想要的页面。
这时候,眼尖的就问了,下面那个中间件为什么是红色的?而且为什么要放在路由后面执行?
问的好!我正要说呢。 熟悉Node开发的小伙伴都知道,大部分中间件一般写在路由之前,但是有时候避免不了一些不确定的错误,比如用户访问的页面不存在怎么办?开发版本错误或者正式版本错误了怎么办? 这个时候就轮到“红色”中间件出场了,没错,它主要负责善后的,一般用来处理可能发生的错误。
四、路由
//路由 app.use('/', routes); app.use('/users', users);
路由可是个好人啊,客户端只需发送请求,路由就会根据请求 url 尽力的去帮你解决请求,它可以用不同的方式( get 、 post 、 put 、 del ...)去处理数据或者返回你想要的页面。总之是个有问尽力回的好银~ 其实路由也是中间件,只是它应该作为一个独立的组成部分更好。
五、开启服务
//启动服务 http.createServer(app).listen(app.get('port'), function () { console.log('服务启动成功,端口为:'+app.get('port')); });
啊哈哈哈哈,终于到高潮了,Node妹子快不行了<( ̄︶ ̄)>
额。。。好像也没什么好说的,就是开启服务了。。。。。。好吧,开启服务前,要通过 http.createServer() 创建一个服务,然后调用 listen() 方法即可开启。这样整个应用就开启啦~~~ 本屌那幅神图中的大箭头也可以顺畅的捅进去了。。进去了。。去了。。了。
- nodejs实现遍历文件夹并统计文件大小
- nodejs文件操作模块FS(File System)常用函数简明总结
- NodeJS学习笔记之FS文件模块
- nodejs 实现模拟form表单上传文件
- Nodejs中读取中文文件编码问题、发送邮件和定时任务实例
- nodejs批量修改文件编码格式
- Nodejs如何复制文件
- NodeJS Web应用监听sock文件实例
- 实例详解Nodejs 保存 payload 发送过来的文件
- NodeJs读取JSON文件格式化时的注意事项
- NodeJS与HTML5相结合实现拖拽多个文件上传到服务器的实现方法
- NodeJS使用formidable实现文件上传
- NodeJS遍历文件生产文件列表功能示例
相关文章
从零开始学习Node.js系列教程三:图片上传和显示方法示例
这篇文章主要介绍了Node.js图片上传和显示方法,结合实例形式分析了nodejs基于http传输图片文件及显示图片的相关实现步骤与操作技巧,需要的朋友可以参考下2017-04-04从零开始学习Node.js系列教程六:EventEmitter发送和接收事件的方法示例
这篇文章主要介绍了Node.js EventEmitter发送和接收事件的方法,结合实例形式分析了EventEmitter发送和接收事件的原理、实现方法与相关操作技巧,需要的朋友可以参考下2017-04-04使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详解
nodeJS中fs模块对系统文件及目录进行读写操作,本文将详细介绍nodejs中的文件操作模块fs的使用方法2020-02-02
最新评论