使用npm安装Express:
npm install express
在项目目录下创建一个app.js文件,输入以下代码:
const express = require('express');
const app = express();
app.listen(3000, () => {
console.log('Server started on port 3000');
});
这个应用监听在端口3000上,并且在控制台输出“Server started on port 3000”
在Express中,路由是处理Web请求的代码。创建路由的方法有两种:
以下是使用app.get()方法创建路由的示例:
app.get('/', (req, res) => {
res.send('Hello World!');
});
这个路由处理根路径(/)的请求,并返回“Hello World!”
控制器是MVC模式中的C(Controller),负责处理业务逻辑。在Express中,可以将路由处理函数作为控制器。
以下是一个控制器的示例:
exports.index = (req, res) => {
res.render('index', { title: 'Express' });
};
这个控制器使用res.render()方法渲染一个视图模板,并传递一个title变量。
视图是MVC模式中的V(View),负责呈现数据。在Express中,可以使用模板引擎来创建视图。
以下是使用EJS模板引擎创建视图的示例:
<% if (title) { %>
<title><%= title %></title>
<% } %>
<h1>Hello World!</h1>
这个视图使用if语句判断是否有title变量,并在<title>标签中输出title变量的值。<h1>标签中输出“Hello World!”
在Express中,可以使用app.set()方法设置模板引擎和视图目录:
app.set('view engine', 'ejs');
app.set('views', path.join(__dirname, 'views'));
这个代码将模板引擎设置为EJS,将视图目录设置为项目目录下的views文件夹。
使用app.get()等方法创建的路由可以直接连接控制器,如下所示:
app.get('/', indexController.index);
这个代码将根路径(/)的请求连接到indexController的index方法。
使用Router()方法创建的路由需要先在路由模块中连接控制器,再在应用中使用该路由模块:
在routes/index.js中:
const express = require('express');
const router = express.Router();
const indexController = require('../controllers/indexController');
router.get('/', indexController.index);
module.exports = router;
在app.js中:
const indexRouter = require('./routes/index');
app.use('/', indexRouter);
这个代码将根路径(/)的请求连接到routes/index.js中的indexController的index方法。
至此,一个基本的Express MVC应用就完成了。