在前端开发中,我们常常使用 Node.js 的 Express 框架来进行 web 开发,而在快速开发的过程中,我们可能需要加入一些扩展的功能。在这种情况下,我们可以使用已经封装好的 npm 包来加快我们的开发进程。本文将介绍 npm 包 express-tweak 的使用方法,以及如何在你的项目中使用此包。
express-tweak 是什么?
Express-tweak 是个简化 Express 开发的工具包。它提供了一些对原生 Express 的补充,包含了一些常规的功能,如:错误处理、路由中间件、请求数据验证,网页模板渲染等。
express-tweak 的功能
express-tweak 主要提供了以下四种功能:
错误处理:express-tweak 抛出一些常见错误让你的代码变得更加健壮。同时,它也提供了统一的错误处理方式,便于管理和调试。
通用路由中间件:express-tweak 提供了许多常用且易于配置的中间件,如:跨域、请求参数解析、访问控制等。
请求数据验证:为了简化表单提交数据后端验证的麻烦,express-tweak 可以自动进行数据验证,并给出明确的错误信息。
网页模板渲染:express-tweak 可以自动将数据渲染到前端的 ejs 模板中。这意味着你可以更加专注于数据处理,而不需要关注如何渲染数据。
如何使用 express-tweak?
接下来我们将会介绍如何使用 express-tweak 轻松完成一个示例项目。
在本示例中,我们将会创建一个 todo 应用。它包含了在首页中展示所有的待办事项,以及通过点击跳转到某个待办事项详情页。
1. 安装 express-tweak
在你的项目根目录下,执行以下命令来安装 express-tweak:
npm install express-tweak
2. 准备数据
我们需要先准备好需要展示的数据。在本示例中,我们需要展示的数据是一个 todo 列表,包含了每个事项的 名称、描述 以及状态 三个属性。可以在本地文件中进行存储。
3. 配置 app.js 文件
在开始创建 app.js 文件前,我们需要先安装一下必要的依赖:
npm install ejs express body-parser
接下来,我们创建一个空的 app.js 文件,然后添加以下代码:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- ---------- - ----------------------- ----- --- - --------------- ----- - ---- - - ------------------------- ----- --- - ---------- -- -- --- ---- ---------------- ----------- ------------------ --------------- ------------- -------- ------- -- ------ ---------------------------------- -- ----- ------------------------------- --------- ---- ---- -- -------- ----------------- --------------------------- ---------------- -- -- - --------------------------- ------------------------ ---
这段代码:
- 首先引入了 express、body-parser、ejs 以及存储数据的函数
find
。 - 接下来我们使用了 EJS 来当成模板引擎。我们设置了 EJS视图模板的路径 和 引擎,让 app 在处理视图时自动加载。
- 我们使用了
app.use
函数来处理静态文件请求和解析请求体,以及处理 TODOS 路由的请求。
4. 添加路由
接下来我们来实现 todo 的路由,我们需要创建文件夹:routes
,然后创建一个 todos.js
文件,然后在 todos.js
中加入以下代码:
-- -------------------- ---- ------- ----- - ----------- ----------- ----------- ------------ - - -------------------------- ----- ------ - ---------------------------- --------------- ----- ----- ---- -- - ----- ----- - ----- ------- ---------------- --- ---------------- ----- ----- ---- -- - ----- - ----- ------------ ------ - - --------- ----- ---- - ----- ------------ ----- ------------ ------ --- --------------- --- ------------------ ----- ----- ---- -- - ----- - -- - - ----------- ----- - ----- ------------ ------ - - --------- ----- ---- - ----- -------------- - ----- ------------ ------ --- --------------- --- --------------------- ----- ----- ---- -- - ----- - -- - - ----------- ----- --------------- -------------------- --- ------------------ ----- ----- ---- -- - ----- - -- - - ----------- ----- ---- - ----- ----------------- --------------- --- -------------- - -------
我们在这个文件中定义了这个应用程序的各种路由,包括了:
- 获取所有的 todo 列表
- 向 todolist 中添加一个新的 todo
- 更新 todo 列表中某个 todo 的状态
- 删除 todo 列表中某个 todo
- 根据 todo 的编号获取 todo 详情
5. 渲染模板
最后,我们需要单独还需要创建需要用到的模板。我们需要在 views 文件夹下创建另一个文件夹,然后在文件夹中创建用于渲染指定 HTML 和 EJS 数据的模板。
在我们的在 app.js 中使用 app.set(‘view engine’,’ejs’)
函数时,Express 将默认在 views 文件夹下查找 view。因此,我们在创建 app.js 文件时,将 views 设置为 ./views
。我们需要在 views 文件夹下创建一个 todos 文件夹,然后在其中创建以下两个文件:
./views/todos/show.ejs
-- -------------------- ---- ------- --------- ----- ------ ------ -------------- ---- ---------- ------- ------ ---- --- --------- -- ----- --- --- ---------------- -- ---- --- --- ----------- -- ---- ------- -------
./views/todos/index.ejs
-- -------------------- ---- ------- --------- ----- ------ ------ -------------- ---- ---------- ------- ------ --------------- ------- ------- ---- ----------- ----------- ----------- ----- -------- ------- -- ------- ---- --------------- ---- - -- ---- ---- -- ---------------- ------------ ---- ---------------- -- ---- ----- ---- --- -------------------- -- ----- ---- --- --------------- -- ----- ----- -- - -- -------- -------- ------- -------
使用示例
使用 express-tweak 需要执行以下几个步骤:
$ npm install express-tweak
- require() express-tweak 并调用 init() 函数。
- 使用 express-tweak 提供的方法来简化你的代码。
接下来我们使用上面构建的示例程序,完成一个完整的网站。
比如,我们可以创建一个 app.js
文件,并在其中引入 express-tweak
:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- - ---- - - ------------------------- ----- --- - ---------- -- --- ------------- ---------- ---------- - ------ --- --------- --- -- ------ - --------- -- --- -- -- - -------------- --- -------- -- ------------ -- --- -- -- - ------------------ ------ -------- - - --- ------------ --------------------- ---------------- -- -- - -------------------- ------ --- ---------------- --
然后,我们在项目 routes 目录下创建一个 index.js
文件,其中包含了我们 baseRoute 和 router,代码如下:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- - ------ ------------ --------- - - ------------------------- ----- ------ - ----------------- ----- --------- - -------- -- -------- ---------- ------------------------ ------------------------------- --------- ----- ---- ---------------------- -- -------- ------ --------------------------- ----- ----- ---- -- - ----- ----- - ----- --------------------- ------------------------- --------- --- ------------------------------ ----- ---- -- - ------------------------ --- --------------------------------- ----- ----- ---- -- - ----- - ----- ----------- - - --------- ----- -------------------- ----- ----------- --- ------------------------ --- ----------------------------------- ----- ----- ---- -- - ----- - -- - - ----------- ----- ---- - ----- ------------------------ ------------------------ - ---- --- --- -------------------------------------- ----- ----- ---- -- - ----- - -- - - ----------- ----- - ----- ------------ - - --------- ----- ------------------------- - ----- ------------ --- ------------------------ --- ------------------------------------- ----- ----- ---- -- - ----- - -- - - ----------- ----- -------------------------- ------------------------ --- -------------- - -------
函数 store
来自 express-tweak
包。它可以让你快速地读取你在 config 中预配置的数据库、服务等。
最后,在项目的 views/todos
文件夹下,你就可以放置所有模板文件(比如: 'index.ejs', 'add.ejs', 'edit.ejs')以及 CSS 文件等。
这样就完成了我们的 todo 应用程序。使用 express-tweak,我们可以快速地搭建出我们需要的应用程序,省去了一些麻烦而不必要的代码。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60067368890c4f7277584044