express 入门
什么是 Express?
官网介绍:Express 是基于 Node.js 平台,快速、开放、极简的 Web 开发框架。 个人理解:我们都知道 node.js 是后端版本的 js 语言实现,自然 Express 更加注重的是后端的处理,它的页面是通过数据与模版渲染而成,注重的是逻辑的交互。与其它常见的前端框架不同,像 Vue、React 等基本思想都是数据驱动视图,我们不必去关注后台是怎么实现的,只注重数据的操作。而 Express 恰恰相反。
写一个 hello word
安装
安装 node.js 后,在工作目录下运行一下命令
|
|
hello word
创建一个 app.js 文件,内容如下
|
|
然后在在浏览器中打开 http://localhost:3000/,就可以看到网页了,就这么简单。
Express application generator
Express 提供给我们一个可以快速创建一个应用的骨架的应用生成器:express-generator。它可以帮助我们快速建立一个网站基本需要的所有文件。
本地安装
|
|
创建应用
通过命令 express -h 可以查看可用的命令参数,其中-f
强制在非空目录下创建应用,-v
表示 view 的模版引擎。
|
|
表示在强制(-f)在当前目录(.)下创建 view=ejs( -e 模版引擎) 的应用。根目录下会生成下述文件:
基本运行
运行命令
|
|
然后在浏览器中打开 http://localhost:3000/ 网址就可以看到这个应用了。
我们在 package.json 文件中可以看到 npm start 是命令 node ./bin/www 的缩写,实际运行了 bin/www 文件,打开 www 文件我们会发现会去运行根目录下的 app.js 文件。
在 app.js 文件中,重要的如下几行代码:
设置模版引擎与路由跳转,当页面跳转至不同的路由时,运行 router 下对应的文件,获取数据与 view 下的模版结合渲染页面。看看 router 目录下的 index.js 文件,响应的同时,通过 render 函数对数据与模版的结合渲染页面。
Express 的 MVC
我们仔细观察目录会发现,express 具有 MVC 的思想:
- routes 控制路由的跳转,逻辑行为操作:C
- view 是页面的模版,视图:V
- 应该还有一个获取数据的 model
这样看来,结构与思想上都具备 MVC 的思想。