托管静态资源
在项目的根目录下,创建一个用于存放静态资源的目录,例如,public目录,并让Express帮我们托管目录中静态资源。
// 让Express帮我们托管目录中静态资源。
app.use(express.static('./public'))
在public目录下创建css目录,然后在css/目录下创建style.css文件
h1 {
color: red;
}
接下来,我们就可以在模板文件中使用这些静态资源
// 引入css文件
<link rel="stylesheet" href="/css/style.css">
<%# / 就代表 http://localhost:3000/public/ %>
// 引入图片文件
<img src="/images/photo.png" alt="沙滩">
拆分路由
随着项目的开发,app.js文件中的内容变得越来越多,逻辑越来越复杂,不利己后期调试和维护。为了解决这个问题,我们可以将业务相关的内容拆分到单独的文件中。
1、新建routes/文件夹,然后在文件夹中创建user-auth.js文件。
const express = require('express');
// 创建一个路由器对象
const router = express.Router();
// 在路由器对象中配置路由
router.get('/doLogin', (req, res) => {
res.render('login', { title: '欢迎登陆' })
})
router.get('/doLogout', (req, res) => {
res.render('logout', { title: 'About Page' })
})
router.get('/doRegister', (req, res) => {
res.render('register', { title: 'About Page' })
})
// 将路由器对象导出
exports = module.exports = router
2、在app.js文件导入user-auth.js文件
// 导入用户身份校验的模块
const userAuthRouter = require('./routes/users-auth.js');
3、使用app.use()启用userAuthRouter对象中配置的路由
app.use('/users', userAuthRouter)
4、在浏览器中访问时,完整的请求路径是由两部分拼接而成的。例如,访问登陆页面时,完整的路径为:
http://localhost:3000/users/doLogin
/users 位于 app.js 文件中
/doLogin 位于 user-auth.js 文件中