返回顶部
首页 > 资讯 > 前端开发 > node.js >浅谈Nodejs应用主文件index.js
  • 465
分享到

浅谈Nodejs应用主文件index.js

主文浅谈js 2022-06-04 17:06:06 465人浏览 独家记忆
摘要

前言 经过之前的文章 《浅谈nodejs应用的主文件index.js的组成部分》 ,终于认识了 node 妹子的容颜,然后好像上呀<( ̄︶ ̄)>。呦西~这次让本?旁谒?靥迳嫌巫咭环??胂胍彩遣淮淼巍`藕撸?

前言

经过之前的文章 《浅谈nodejs应用的主文件index.js的组成部分》 ,终于认识了 node 妹子的容颜,然后好像上呀<( ̄︶ ̄)>。呦西~这次让本?旁谒?靥迳嫌巫咭环??胂胍彩遣淮淼巍`藕撸?Y到此为止。

正文

这篇文章主要以组成部分为单位了解一下 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就转不起来。

用动物的话来说,没有食物就活不下去了。

用本?诺幕袄此担?挥忻米右不畈幌氯チ恕?/p>

嗯哼~综上所述,依赖就是 为接下来要做的事做好能完成该事的准备 。所以上面那些“拼音”都是扮演这种角色的..

二、设置相关配置

献上该组相关代码:


// 视图引擎设置
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中每一行都是中间件,我估计好多兄弟虽然知道中间件这个词,但还是不了解到底是什么意思,它主要是干嘛的。

所以,本?徘鬃宰攀只?艘环?钪娼鲇械囊徽磐迹?/p>

查看图片

我相信聪明的人一下就能看懂了,毕竟本?诺幕?贸鋈ヂ粢材苤蹈?毛钱。

正经话:左边大箭头是指代码执行顺序,谁都知道 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() 方法即可开启。这样整个应用就开启啦~~~ 本?拍欠?裢贾械拇蠹?芬部梢运吵┑耐苯?チ恕!=?チ恕!Hチ恕!A恕?/p>

--结束END--

本文标题: 浅谈Nodejs应用主文件index.js

本文链接: https://lsjlt.com/news/12993.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 浅谈Nodejs应用主文件index.js
    前言 经过之前的文章 《浅谈Nodejs应用的主文件index.js的组成部分》 ,终于认识了 Node 妹子的容颜,然后好像上呀<( ̄︶ ̄)>。呦西~这次让本旁谒靥迳嫌巫咭环胂胍彩遣淮淼巍`藕撸Y到此为止...
    99+
    2022-06-04
    主文 浅谈 js
  • 浅谈JS和Nodejs中的事件驱动
    目录事件驱动和发布-订阅事件驱动是怎样用在浏览器中的JavaScript的?浏览器中的主题和观察者事件驱动如何用于 Node.js?了解 EventEmitterJavaScript...
    99+
    2024-04-02
  • 浅谈Nodejs中的作用域问题
    在JS中有全局作用域和函数作用域,而在Nodejs中也自己的作用域,分为全局作用域(global)和模块作用域。 js作用域: 以前学js的时候我们的全局对象是window,如: var a = 10;...
    99+
    2022-06-04
    浅谈 作用 Nodejs
  • 浅谈Python的文件类型
    Python的文件类型主要分为3种:源代码(source file)、字节码(byte-code file)、优化的字节码(optimized file)。这些代码都可以直接运行,不需要编译或者连接。这正是...
    99+
    2022-06-04
    浅谈 文件类型 Python
  • 浅谈文件上传漏洞
    前言 一、文件上传漏洞的原理 文件上传漏洞是指用户上传了一个可执行的脚本文件(php、jsp、xml、cer等文件),而WEB系统没有进行检测或逻辑做的不够安全。文件上传功能本身没有问题,问题在于...
    99+
    2023-09-10
    php web安全 安全
  • 浅谈Node.js:fs文件系统模块
    fs文件系统模块,这是一个非常重要的模块,对文件的操作都基于它。该模块的所有方法都有同步和异步两种方式,下面便介绍一下该模块的使用。 1、检测当前进程对文件的权限 使用fs.access(path[, mo...
    99+
    2022-06-04
    浅谈 文件系统 模块
  • 浅析 NodeJs 的几种文件路径
    一、挖坑 & 掉坑: 缘起一段这样的代码: fs.readFile('./docs/use.md', function (err, buffer) { if (err) { return co...
    99+
    2022-06-04
    几种 路径 文件
  • 浅谈如何在bat文件中调用另一个bat文件
    目录情景一:两个bat文件在同一个目录下情景二:两个bat文件不在同一个目录下情景三:开启一个新的cmd窗口来运行另一个bat文件情景一:两个bat文件在同一个目录下 有时候我们需要...
    99+
    2024-04-02
  • 浅谈Linux环境变量文件介绍
    在linux系统中,环境变量按照其作用范围不同大致可以分为系统级环境变量和用户级环境变量。 系统级环境变量:每一个登录到系统的用户都能够读取到系统级的环境变量 用户级环境变量:每一个登录到系统的用户只能够读取属...
    99+
    2022-06-04
    Linux环境变量文件 Linux环境变量
  • 浅谈Java文件被执行的历程
    目录Java的编译过程一个例子第一步第二步Java的编译过程 Java程序从源文件创建到程序运行要经过两大步骤 1、源文件由编译器编译成字节码(ByteCode) 2、字节码由ja...
    99+
    2024-04-02
  • 浅谈Docker如何自定义host文件
    目录一、命令二、docker-compose.yml三、dockerfile四、直接修改五、修改镜像总结1、问:我们的真正开发的时候数据库都是部署在内网的,而我们程序连接数据库的时候...
    99+
    2024-04-02
  • 浅谈redis在项目中的应用
    redis在项目中的应用 ps:PHP 会自动 关redis连接 不需要手动关 对于临时的数据 可以不经过数据库直接redis上操作 public function insertinfo(){ ...
    99+
    2022-06-04
    浅谈 项目 redis
  • 浅谈Rust += 运算符与 MIR 应用
    目录赋值表达式的求值顺序MIR单一实现下的强转两阶段借用的参与+= 运算符与 MIR 应用 本文 += 运算符部分整理自 Why does += require manual der...
    99+
    2023-01-31
    Rust += 运算符 Rust MIR 应用 Rust 运算符
  • 浅谈javap命令拆解字节码文件
    目的拆解分析反编译字节码 解析成人能够理解的结构 ,然后再对字节码文件进一步分析 源代码 public class test { private static int c...
    99+
    2024-04-02
  • 浅谈JVM之java class文件的密码本
    目录简介一个简单的classClassFile的二进制文件class文件的密码本magicversion常量池描述符access_flagsthis_class和super_clas...
    99+
    2024-04-02
  • 浅谈Python3中打开文件的方式(Withopen)
    目录0.背景知识1.常规方式:读取文件-----open()2.推荐方式:读取文件-----With Open1).读取方式2).常见的坑3).跳过第一行内容(字段名)3.写入内容-...
    99+
    2024-04-02
  • 浅谈文件包含之包含pearcmd.php漏洞
    文件包含之包含pearcmd.php漏洞 1.概念 pecl是PHP中用于管理扩展而使用的命令行工具,而pear是pecl依赖的类库。在7.3及以前,pecl/pear是默认安装的; 在7.4及以后,需要我们在编译PHP的时候指定--wit...
    99+
    2023-09-02
    php web安全 安全
  • NodeJS Web应用监听sock文件实例
    像 NodeJS 写的 TCP 服务可以监听在某个 sock 文件(Domain Socket) 上,它的 HTTP 服务也能这么干。虽然作为 HTTP 服务连接某个 sock 文件的意义不大,所以这里只算...
    99+
    2022-06-04
    实例 文件 NodeJS
  • 浅谈一种Laravel路由文件划分方式
    最初,我想到了利用路由组方法可以接收文件,这就是 laravel 在 RouteServiceProvider 处拆分路由的方式。 <?php namespace ...
    99+
    2024-04-02
  • 浅谈Java几种文件读取方式耗时
    目录BufferedReaderFiles.readAllBytesFiles.linesCommonIO::readFileToString项目中经常会遇到文件读写,不同的读写方式...
    99+
    2023-05-15
    Java 文件读取 Java 文件读取耗时
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作