位置: 编程技术 - 正文

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开发文档)

  • 营业额超500万会罚款吗
  • 金蝶迷你版年结怎么操作
  • 委托付款税务认可吗
  • 会议费怎么做会计分录
  • 房改房增值税
  • 公司房产税如何征收税率
  • 预提返利的会计处理
  • 合伙企业工资薪金申报
  • 小规模纳税人收入账务处理
  • 企业所得税季报弥补以前年度亏损怎么填
  • 一般纳税人的进项税额计入成本吗
  • 滴滴顺风车发票图片大全
  • 实收资本印花税税率多少
  • 应纳税所得额和应纳税额的区别
  • 物业公司怎么开发票
  • 所得税费用按月还是按年算
  • 工资计税基数
  • 公司用自己的设备投资怎么交税呢怎么做账
  • 企业支付宝收款码怎么申请
  • 免征的税额当月计入营业外收入吗
  • 企业的污水处理设备可以间断性运行么
  • 发票金额大于实际支付金额如何报账
  • 全额抵免的计算
  • 进货折让会计分录
  • 苹果电脑的删除
  • mac怎么更换默认打开方式
  • 会计估计变更的会计处理方法
  • 税金及附加怎么登明细账
  • 无法启动个人热点iphone
  • 苹果手机送修了会给备用机吗
  • PHP:mb_convert_case()的用法_mbstring函数
  • 一般纳税人企业注销流程
  • 递归 php
  • php生成zip压缩包
  • 商企预提待付费什么意思
  • LNMP部署laravel以及xhprof安装使用教程
  • flask 教程
  • python打印type
  • ps怎么把文字单独抠出来
  • 客户购买商品的条件?
  • mongodb集群开启auth认证
  • sqlserver 数据迁移
  • 金税盘抵扣税款分录怎么做
  • 借款与报销流程设计
  • 以前年度损益调整借贷方向
  • 社保和公积金个人和单位缴纳比例
  • 职工教育经费是否可以抵扣进项税
  • 房地产营业税率是多少
  • 同时知识产权专利,其做账是?
  • 待认证进项税额是二级科目还是三级科目
  • 招标付款条件及比例
  • 企业改制后如何管理
  • 存货核算的含义
  • mysql8 存储引擎
  • mysql复制命令
  • centos7基本环境选哪个
  • 安装sqlserver2016步骤
  • 服务器时间和电脑时间
  • 通过注册表删除脱机打印机
  • win10设置设备
  • 趣谈linux系统
  • Linux系统中修改文件权限
  • hppusg.exe
  • 如何找?
  • 列举css的三种应用方式
  • 不得不佩服自己的搞笑说说
  • Android开发中遇到的问题及解决方案
  • content provider
  • javascript可以写算法吗
  • nodejs 路由
  • js跨域请求的三种方法
  • eclipse显示错误提示
  • listview添加数据
  • mac配置android开发环境
  • 申请电子发票需要去税务局吗
  • 北京户籍网官方网站
  • 怎么查询开票信息呢
  • 最新设立税务师事务条件
  • 残疾人交房产契税有优惠吗
  • 美国对中国企业的政策
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设