位置: 编程技术 - 正文

Node.js和Express简单入门介绍(node和javascript)

编辑:rootadmin

推荐整理分享Node.js和Express简单入门介绍(node和javascript),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:nodejs和express的关系,node.js和js,node与express开发,node.js和js,nodejs与express,node.js和js,nodejs与express,node.js和node,内容如对您有帮助,希望把文章链接给更多的朋友!

仅仅入门如何用Node.js和Express搭建一个web服务器,没有说明太多概念性的东西。

一、 Nodejs简介

&#; ==Node是JavaScript语言的服务器运行环境。==

&#; 所谓“运行环境”有两层意思:首先,JavaScript语言通过Node在服务器运行,在这个意义上,Node有点像JavaScript虚拟机;其次,Node提供大量工具库,使得JavaScript语言与操作系统互动(比如读写文件、新建子进程),在这个意义上,Node又是JavaScript的工具库。

&#; Node内部采用Google公司的V8引擎,作为JavaScript语言解释器;通过自行开发的libuv库,调用操作系统资源。

二、Node.js的下载和安装

2.1 Node.js下载

node.js官网下载: 安装

&#; 下载成功之后是一个msi文件,双击安装即可。安装成功后,相应的环境变量都会自动配置,不需要我们再去手动配置。

&#; 一路next就可以安装成功。

2.3 测试Node.js是否安装成功

安装成功之后,可以在window控制台查看是否安装成功。

输入下面的命令查看node的版本。

直接输入node然后回车,就可以让node去执行我们的js代码了。

2.4 使用Node.js运行JavaScript代码

新建一个nodeproject目录,新建一个js文件。_hello.js

在windows控制台中,切换目录到js文件所在目录。然后输入

node _hello.js

三、Node.js中的一些基本概念澄清

3.1 Node.js不是JS应用、而是JS运行平台

&#; 看到Node.js这个名字,初学者可能会误以为这是一个Javascript应用,事实上,Node.js采用C++语言编写而成,是一个Javascript的运行环境。

&#; 既然不是Javascript应用,为何叫.js呢?因为Node.js是一个Javascript的运行环境。提到Javascript,大家首先想到的是日常使用的浏览器,现代浏览器包含了各种组件,包括渲染引擎、JavaScript引擎等,其中Javascript引擎负责解释执行网页中的Javascript代码。作为Web前端最重要的语言之一,Javascript一直是前端工程师的专利。不过,Node.js是一个后端的Javascript运行环境(支持的系统包括Linux、Windows),这意味着你可以编写系统级或者服务器端的Javascript代码,交给Node.js来解释执行,

3.2 Node.js与JavaScript的关系

&#; JavaScript包括3个部分:ECMAScript-、BOM、DOM。BOM与浏览器相关,DOM和HTML页面相关。Node.js中只是包括了ECMAScript-。所以我们以前的一些关于BOM的操作和DOM的操作都是基于浏览器端运行的,在Node.js中是无法使用的。

3.3 Node.js中几个全局变量

global:表示Node所在的全局环境,类似于浏览器的window对象。需要注意的是,如果在浏览器中声明一个全局变量,实际上是声明了一个全局对象的属性,比如var x = 1等同于设置window.x = 1,但是Node不是这样,至少在模块中不是这样(REPL环境的行为与浏览器一致)。在模块文件中,声明var x = 1,该变量不是global对象的属性,global.x等于undefined。这是因为模块的全局变量都是该模块私有的,其他模块无法取到。 process:该对象表示Node所处的当前进程,允许开发者与该进程互动。 console:指向Node内置的console模块,提供命令行环境中的标准输入、标准输出功能。

3.4 Node.js中的几个全局函数

setTimeout():用于在指定毫秒之后,运行回调函数。实际的调用间隔,还取决于系统因素。间隔的毫秒数在1毫秒到2,,,毫秒(约.8天)之间。如果超过这个范围,会被自动改为1毫秒。该方法返回一个整数,代表这个新建定时器的编号。 clearTimeout():用于终止一个setTimeout方法新建的定时器。 setInterval():用于每隔一定毫秒调用回调函数。由于系统因素,可能无法保证每次调用之间正好间隔指定的毫秒数,但只会多于这个间隔,而不会少于它。指定的毫秒数必须是1到2,,,(大约.8天)之间的整数,如果超过这个范围,会被自动改为1毫秒。该方法返回一个整数,代表这个新建定时器的编号。 clearInterval():终止一个用setInterval方法新建的定时器。 require():用于加载模块。 Buffer():用于操作二进制数据。

3.5 Node.js的核心模块

如果只是在服务器运行JavaScript代码,用处并不大,因为服务器脚本语言已经有很多种了。Node.js的用处在于,它**本身**还提供了一系列功能模块,与操作系统互动。这些核心的功能模块,不用安装就可以使用,下面是它们的清单。

http:提供HTTP服务器功能。 url:解析URL。 fs:与文件系统交互。 querystring:解析URL的查询字符串。 child_process:新建子进程。 util:提供一系列实用小工具。 path:处理文件路径。 crypto:提供加密和解密功能,基本上是对OpenSSL的包装。

三、搭建web应用

&#; 使用Node.js搭建web服务器,一般使用一些框架来帮助完成。

&#; express 是一个开源的node.js项目框架,初学者使用express可以快速的搭建一个Web项目,express中已经集成了Web的http服务器创建、请求和文件管理以及Session的处理等功能,所以express是非常适合初学者的入门学习。

3.1 安装Express框架

使用node.js自带的包管理器npm安装。

创建一个项目目录,Node_Hello。进入该目录,创建一个package.json文件,文件内容如下:

上面代码定义了项目的名称、描述、版本等,并且指定需要4.0版本以上的Express。

Node.js和Express简单入门介绍(node和javascript)

==从控制台首先进入刚才的项目目录==,然后输入如下命令,则会开始下载Express。

下载完成

3.2 创建启动文件

&#; 在上面的项目目录下,新建一个启动文件,名字暂叫 ==index.js== 。书写如下代码:

3.3 运行index.js文件

node index.js

3.4 使用浏览器访问

在浏览器输入下面的地址就可以访问我们刚刚搭建的web网站了。

web应用

&#; 使用webstorm搭建Node.js应用更加方便。

4.1 下载WebStorm,并安装

下载Webstorm: 创建Node + Express应用

4.3 Project目录结构

app.js:启动文件,或者说入口文件

package.json:存储着工程的信息及模块依赖,当在 dependencies 中添加依赖的模块时,运行 npm install ,npm 会检查当前目录下的 package.json,并自动安装所有指定的模块

node_modules:存放 package.json 中安装的模块,当你在 package.json 添加依赖的模块并安装后,存放在这个文件夹下

public:存放 image、css、js 等文件

routes:存放路由文件

views:存放视图文件或者说模版文件

bin:存放可执行文件(www)

4.4 各个主要文件的说明

4.4.1 app.js

4.4.2 bin/www

4.4.3 routes/index.js

4.4.4 对路由写法的优化

&#; 在前面的==app.js中==,每个模板都有添加一次路由比较麻烦,其实应该把添加路由的事情专门交给index.js来做。也就是可以把多个路由放在一个路由文件中。

可以改成:

==index.js==文件优化成: 这样管理起来就方便很多

4.4.5 ejs模板

模板引擎(Template Engine)是一个将页面模板和要显示的数据结合起来生成 HTML 页面的工具。如果说上面讲到的 express 中的路由控制方法相当于 MVC 中的控制器的话,那模板引擎就相当于 MVC 中的视图。

模板引擎的功能是将页面模板和要显示的数据结合起来生成 HTML 页面。它既可以运 行在服务器端又可以运行在客户端,大多数时候它都在服务器端直接被解析为 HTML,解析完成后再传输给客户端,因此客户端甚至无法判断页面是否是模板引擎生成的。有时候模板引擎也可以运行在客户端,即浏览器中,典型的代表就是 XSLT,它以 XML 为输入,在客户端生成 HTML 页面。但是由于浏览器兼容性问题,XSLT 并不是很流行。目前的主流还是由服务器运行模板引擎。

在 MVC 架构中,模板引擎包含在服务器端。控制器得到用户请求后,从模型获取数据,调用模板引擎。模板引擎以数据和页面模板为输入,生成 HTML 页面,然后返回给控制器,由控制器交回客户端。

==ejs 是模板引擎的一种,它使用起来十分简单,而且与 express 集成良好。==

我们通过以下两行代码设置了模板文件的存储位置和使用的模板引擎:(app.js文件中进行的设置)

说明:

ejs 的标签系统非常简单,它只有以下三种标签:

<% code %>:JavaScript 代码。 <%= code %>:显示替换过 HTML 特殊字符的内容。(也就是说如果code中有标签,则会原样输出,不会让浏览器解析) <%- code %>:显示原始 HTML 内容。(如果有a标签,在浏览器端这则会看到一个超链接)

路由代码:

则生成的代码:

标签: node和javascript

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

上一篇:详解NodeJS框架express的路径映射(路由)功能及控制(nodejs orm框架)

下一篇:nodejs开发——express路由与中间件(nodejs开发文档)

  • 汇算清缴补交所得税会计分录小企业会计政策
  • 计提利息要计提手续费吗
  • 业务招待费税前扣除标准是
  • 赠送客户的产品计入销售费用的二级科目
  • 销售方记账凭证怎么做分录
  • 境外投资子公司审计报告人民币汇率
  • 土地整理项目如何提取地块的坐标
  • 电子承兑背书一般多久到账
  • 付了电费当月没有收到发票
  • 银行罚息怎么入账
  • 税务登记时要财务确认吗
  • 一般纳税人年度开票限额
  • 盈余公积什么时候提取
  • 应收票据借方表示负债吗
  • 减免所得税额明细表
  • 为什么查询发票显示查无此票
  • 房产税应当计入什么科目
  • 写着个人的发票能下账吗
  • 影响固定资产折旧的有
  • win7无法使用管理员权限
  • 鸿蒙系统怎么看运行程序
  • 即征即退的增值税需要缴纳企业所得税吗
  • 税控服务费政策
  • 营改增之前的建筑业税率是多少
  • windows 安装
  • 新的磁贴
  • window10进程
  • 资金占用利息会计处理
  • print-js
  • 应收款减少怎么做账
  • 会计人员填制的记账凭证并不是登记账簿的唯一依据
  • 待安置期间生活补助费多少钱
  • 详解php处理字符的方法
  • thinkphp框架介绍
  • php正则表达式验证网址
  • css设置3d
  • 我初次尝试制作的英文怎么写
  • 智能优化算法主要内容
  • nerf新手入门
  • ngnix 命令
  • php多线程编程
  • 充电桩折旧年限是多少年
  • 手工账结转
  • 分类信息有哪些网站
  • db2原理
  • 季报利润总额怎么算
  • mysql数据查询慢
  • 期末账项调整的内容包括
  • 药品进销差价会计科目
  • 上市公司限制性股票个人所得税
  • 施工仪器的主要类别
  • 研发费用是否包含增值税
  • 收到退留抵税额会计分录
  • 香港发票在内地认可吗
  • 公司赠送客户礼品怎么做账
  • 建账需要准备什么东西
  • 企业如何建账之类的账目
  • 总结sql执行进展怎么写
  • 深度技术win11
  • ubuntu更换版本
  • win8 资源管理器
  • diskgenius分区linux
  • 微软官方屏蔽更新工具
  • window高级启动会怎么样
  • 消除类策略游戏
  • javascriptj
  • android游戏开发框架
  • jquery validation plugin
  • python xml.etree
  • macos moja
  • 莱鸟人集团
  • python 在线运行环境
  • 公司加油卡充值需要带什么
  • 一般纳税人按季申报的行业
  • 昆山市税务分局领导名单
  • 停车定额费发票还能用吗
  • 紧缩性财政政策有哪些
  • 浙江国税网上报税
  • 西安市个税证明去哪里打印
  • 当月专票作废流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设