位置: 编程技术 - 正文

nodejs教程之环境安装及运行(node.js设置环境变量)

编辑:rootadmin

推荐整理分享nodejs教程之环境安装及运行(node.js设置环境变量),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:node.js 环境配置,nodejs环境变量配置,nodejs环境变量配置,nodejs运行环境,node js环境变量,nodejs配置环境变量 win10,node js环境变量,nodejs环境变量配置,内容如对您有帮助,希望把文章链接给更多的朋友!

让nodeJS跑起来

第一步当然是安装nodeJS环境了,现在windows安装nodeJS比较快了,直接下载即可:

为入口文件

package.json 为模块依赖文件,我们使用npm install时候他会以其配置在网上下载相关包

node_modules 为下载下来的模块文件(package.json)

public 存放静态资源文件

routes 存放路由文件

views 存放相关视图模板文件

这个样子,我们基本目录结构就出来了,我们这里先简单说下node_modules这个目录

node_modules/ejs

我们刚刚说了,这里面存放着下载下来的模块,说白了就是js文件集合

就如,我们这里使用到的ejs模板以及express模块,然后我们好奇的走进了ejs的程序看看究竟有何不同

打开,ejs.js后,我们抽一点代码出来看:这段代码我们比较熟悉,他与underscore的模板引擎代码思想一致,都是将模板解析为字符串

然后通过eval或者new Function的方法将之转换为函数,并且传入自己的数据对象好解析

至于具体工作流程,现在我们还不知道,只能放到后面点研究了,好了我们现在进入其他模块

app.js

作为入口文件,app.js扮演着举足轻重的角色:

我们通过require()命令加载express、http模块,并且会加载routes目录下index user等模板文件

app.set('port', process.env.PORT || )为设置启动时候的端口

app.set('views', __dirname + '/views')为设置存放模板文件的路径,其中__dirname为全局变量,存放当前脚本所在目录,我们这样可以查看:

至于这个__dirname是如何获得的,我们暂时也不需要关注

app.set('view engine', 'ejs') 为设置模板引擎为ejs

app.use(express.favicon())是设置图标想修改的话就自己去搞public下面的images文件

app.use(express.logger('dev')); express依赖于connect这里就内建中间件会输出一些日志

app.use(express.json()); 用以解析请求体,这里就会把字符串动态转换为json对象

app.use(express.methodOverride()); connect内建中间件,用以处理post请求,并可以伪装put等http方法

app.use(app.router); 调用路由器解析规则

app.use(express.static(path.join(__dirname, 'public'))); connect内建中间件,设置根目录下的public存放静态文件

这句话意思是开发状况下要输出错误信息

这两句都是访问时刻具体的处理文件了,比如这里直接访问时默认访问的是routes.index

然后其内部才真正解析模板数据:

最后会调用上述代码创建http服务器并监听端口,成功后便可在网页上访问了

路由

前面我们使用这个方法构建路由

上面代码可以使用这个代码取代(写在app里面)

这段代码的意思是访问主页时,调用ejs模板引擎,来渲染index.ejs模板文件

现在再做一点修改,以上代码实现了路由功能,但是我们不能将路由相关代码放到app中,路由多了后app就会变得臃肿,所以我们将相关配置放入index中

所以删除app中相关路由功能,在app结尾加入代码:

然后修改index.js

这个代码是怎么组织的现在还不清楚,也不去关注了,我们后面慢慢看

路由规则

express封装了多种http请求,我们一般使用get/post两种

第一个参数为请求路径,第二个参数为回调函数,还是两个参数为request与response

然后,对于req(request)又有以下规则

nodejs教程之环境安装及运行(node.js设置环境变量)

req.query 处理get请求,获取get请求参数

req.params 处理/:xxx形式的get或者post请求

req.body 处理post请求,获取post请求体

req.params 处理get和post请求,但查找优先级为req.params->req.body->req.query

路径规则还支持正则,具体我们以后再说......

添加路由规则

当我们访问不存在的链接时:

因为不存在/y的路由规则,他也不说public下的文件,所以就了

现在我们在index.js中添加相关路由:

这里我页面乱码了:

原因是下载下来后,我的文件是gbk的编码,我们要将他改成utf-8就可以了,模板引擎这块我们就不管他了,我们进入下一节

注册功能

这里我们跟着原博主一起做一个注册的简单功能,这里使用mongo db作为数据库,后面我们再依次完善功能

新建一个register路由,并且为其新建register模板,于是我们开始吧

① 在index中新建路由

这个样子,我们页面就形成了:

基本程序有了,我们现在需要数据库支持,于是我们要安装mongoDB环境

MongoDB

MongoDB是一个基于分布式文件存储的NoSQL的一种,由C++编写,MongoDB支持的数据结构松散,类似json,我们知道json可以支持任何类型,所以可以搞出很复杂的结构

安装MongoDB

首先去 install下载新的依赖包,这个样子与mongoDB相关的驱动就有了,要链接mysql等数据库还需要其他依赖包

这时在根目录下创建setting.js文件,保存数据库连接信息

db是数据库名称,host是数据库地址,cookieSecret用于cookie加密与数据库无关

接下来根目录下新建models文件夹,并在models文件夹下新建db.js

设置数据库名,数据库地址和数据库端口创建一个数据库实例,并通过module.exports导出实例,这样就可以通过require对数据库进行读写

需要成功写入数据库,服务器端程序就需要处理post信息,于是我们在models文件夹下新建user.js

这里一个写数据,一个读数据,处理程序有了,现在需要在index.js前面加上如下程序

再修改其中的app.post('/register')

然后点击注册后便会有反应了

如果此时不能确定是否写入数据库,便可进入数据库查询一番,首先切换至数据库目录

输入:

然后切换其数据库连接至blog

最后输入

我们大家就开心的看到数据写入了,于是今天的学习暂时告一段落

结语

今天我们跟着一篇博客完成了从安装到写入数据库的操作,明天让我们来将其它方面加入,逐步深化nodeJS的学习

nodejs教程之制作一个简单的文章发布系统 前言我们今天就来做一个简单的新闻发布系统,系统第一阶段不需要太难,主要有以下功能①新闻类型管理②新闻管理(具有图片上传功能)③新闻浏

node.js使用require()函数加载模块 详细说明均以写在注释之中,这里就不??铝耍?』锇槊亲约合晗缚窗桑??虮鸢勺⑹偷背煽掌?恕?/p>/*在node中,可以使用require()函数来加载模块.*require函数使用

node+express+ejs制作简单页面上手指南 1.建立工程文件夹my_ejs.2.首先利用npminstallexpress和npminstallejs下载这两个家伙.至于要不要设置成全局的,看习惯,我习惯性的下载到本项目中的文件夹中my_ejs

标签: node.js设置环境变量

本文链接地址:https://www.jiuchutong.com/biancheng/374245.html 转载请保留说明!

上一篇:nodejs教程之异步I/O(nodejs异步编程及原理)

下一篇:nodejs教程之制作一个简单的文章发布系统(nodejs制作网站)

  • 计提本月个人所得税
  • 离职人员补发工资怎么做账
  • 应纳税所得额是什么意思
  • 23年车辆购置税税率
  • 政府补贴的账务属于哪个科目
  • 提供维修业务的税率
  • 政府补贴需要缴纳企业所得税吗
  • 暂估成本跨年后收到票汇算清缴
  • 什么记在借方
  • 房地产行业企业所得税政策
  • 安置残疾人加计扣除
  • 企业对公账户转法人私户
  • 租房所得税是怎么处理
  • 契税缴纳企业所得税吗
  • 研发支出转入管理费用摘要
  • 新企业如何办理税务登记
  • 税务征收与管理
  • 国家电网的发票如何申请邮寄
  • 一般纳税人6个点和13点
  • 税收滞纳金算不算所得税
  • 残保金应减免错交了能退回吗
  • 电话充值卡如何变现
  • 税金及附加是否设二级科目
  • 营业外收入属于什么会计要素
  • 收到上月发票怎么写分录
  • 合伙企业 投资
  • 是否亏损看什么
  • 有进项没销项怎么处理,可以结转成本吗
  • 观察者模式 mvc
  • 硬盘最小的存储单位
  • 在php中,什么函数能将数组转化为字符串
  • 现金支付医保报销
  • 加计扣除的增值税,城建税怎么算
  • 原材料计入什么凭证
  • 钉钉工资表如何生成工资条?
  • Android 10.0 framework中关于Activitity的生命周期的源码讲解
  • 持有至到期投资是什么意思
  • Apsara Clouder云计算技能认证
  • node.js安装步骤
  • 多计提费用可以不用以前年度损益调整吗
  • 印花税申报未扣款在哪里查询
  • 公司出售房子怎么交税
  • 一般纳税人销售旧货适用征收率是?
  • 补发工资个人所得税税
  • mongodb创建库
  • 核定征收方式包括哪几种
  • 开具免税的发票,"税率"栏如何填开?
  • 哪个命令可以对mysql数据库做完全备份
  • 残保金是计入管理费用还是?
  • 新增项目和延续项目
  • 实收资本入账需要算设备安装费吗
  • 加息法实际利率计算公式
  • 增值税减免税款计入什么科目
  • 律师的行业
  • 工会经费如何申请返还
  • 饭店卖烟酒需要什么手续
  • 累计摊销可以做什么分录
  • 单位给员工购买公积金流程
  • 股票印花税是多少比例
  • 数据库语言主要有哪几种
  • mysql newid()
  • win7与ubuntu双系统
  • fedora怎么样
  • java操作windows的文件管理器
  • xp系统停止服务了还能用吗
  • win7彻底删除的文件怎么恢复
  • 邮件传输过程中都使用哪些协议
  • retail版win10
  • cocos creator 动画制作
  • node.js的作用是什么
  • 一个简单的灵魂福楼拜
  • android 属性动画改变view大小
  • javascript基于
  • unity保存项目
  • javascript快速入门
  • 迅雷继续下载
  • 国税局发票查验平台查询不到
  • 中国有多少人2022
  • 国税申报密码可以输几次
  • 江苏省国家税务总局电子税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设