位置: 编程技术 - 正文

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

  • 个人服务费发票几个点
  • 出售股东
  • 收到商业汇票计入科目
  • 公司收到借款利息收入要交增值税吗
  • 增值税负数发票可以作废吗?
  • 个人购买商业保险怎么抵扣个税
  • 工业会计成本核算分录
  • 公司名下没有车可以开运输发票吗
  • 为别人开发票先收的税金怎么入帐?
  • 过路费去年的票还可以用吗
  • 企业短期贷款进什么科目
  • 外籍人士享受满五唯一吗
  • 抵免税款收益算其他收益吗
  • 增值税免税标准30万含不含税
  • 购买预付卡账务处理
  • 企业销售使用过的汽车如何开票
  • 如何设置电脑关机时清理使用痕迹
  • 信息化生产力是指什么
  • 行政事业单位向企业借款违反了什么规定
  • 系统之家一键重装系统步骤
  • 企业车间承包合同的法律效力
  • 公司注销不清算可以吗
  • 苹果官网
  • 产品成本计算的分类法适用于( )
  • 海康威视web开发接口文档
  • 不合规发票入账违反了什么纪律
  • f12开发者工具调试打不开
  • 今日元宵节图片
  • 房地产预缴所得税怎么算
  • 处理固定资产怎么交税
  • php单链表使用场景
  • iis部署javaweb
  • php抢红包功能思路
  • 员工持股平台合伙企业
  • 命令行mkdir创建文件夹
  • 微信认证费是什么意思
  • 增值税发票退回重开期限
  • 错误凭证如何修改?所有的错误的凭证都能修改吗?
  • 小型微利企业如何进行税收筹划
  • 一般纳税人好不好
  • 织梦cms怎么样
  • mysql数据类型怎么判断
  • 进项税额漏报处理办法
  • 合营企业和联营企业的概念
  • 赊销应收款余额怎么算
  • 优惠的会计分录
  • 购进商品的运费计入什么科目
  • 查账征收与核定征收在哪里看
  • 公司利润如何
  • 财政补助资金是什么意思
  • 可供出售金融资产和交易性金融资产
  • 待认证进项税额期末怎么办
  • 在建工程转固后计提折旧
  • 购买设备怎么开专票
  • 商品流通企业会计第三版答案倪明辉
  • 短期投资怎么记账
  • sql server字段
  • windows蓝屏代码大全及解决方案
  • centos源码安装软件
  • win10命令提示符哪里打开
  • win8如何进入高级启动项模式
  • 新买的笔记本电脑需要做什么
  • 我是如何从0开始做到年入1000+万的
  • 如何短时间内学会打字
  • cocos2dx lua在sublime下的插件安装及查看定义
  • word-wrap在firefox中不起作用的解决方法
  • android aidl binder
  • data命令
  • windows的安装类型
  • android入门视频教程
  • c语言 ls
  • unityhub安装unity出错
  • jquery获取页面元素
  • jquery弹出窗口
  • Android屏幕适配分屏
  • 山西税务官网登录
  • 进项税和销项税怎么抵扣举例说明
  • e福州怎么帮家人登记
  • 什么是解放思想?请阐述解放思想和实事求是之间的关系
  • 报税日期2023年
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设