一个脚手架,主要用于快速生成框架代码
入口文件,里面主要实现了三个功能
服务的主要文件
//异常处理
var createError = require(‘http-errors‘);
var express = require(‘express‘);
var path = require(‘path‘);
var cookieParser = require(‘cookie-parser‘);
//日志处理模块
var logger = require(‘morgan‘);
var indexRouter = require(‘./routes/index‘);
var usersRouter = require(‘./routes/users‘);
var app = express();
// view engine setup
//指定模板存储的位置
app.set(‘views‘, path.join(__dirname, ‘views‘));
app.set(‘view engine‘, ‘ejs‘);
app.use(logger(‘dev‘));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, ‘public‘)));
app.use(‘/‘, indexRouter);
app.use(‘/users‘, usersRouter);
// catch 404 and forward to error handler
app.use(function (req, res, next) {
next(createError(404, ‘file not found!‘));
});
// error handler
app.use(function (err, req, res, next) {
// set locals, only providing error in development
//全局的配置信息
res.locals.message = err.message;
//根据当前环境差异化报错信息,区分开发环境和生成环境
res.locals.error = req.app.get(‘env‘) === ‘development‘ ? err : {};
// render the error page
res.status(500);
//参数是模板的名字
res.render(‘error‘);
});
module.exports = app;
一个简单高效的模板语言,通过数据和模板,可以生成html标记文本
一个JavaScript库,可以同时运行再客户端和服务器端
特点
Render(path,data,[option]):path是模板路径,data是传入模板的数据,option是配置选项
var app = require(‘express‘)();
//设置视图
// view engine setup
app.set(‘views‘, path.join(__dirname, ‘views‘));
app.set(‘view engine‘, ‘ejs‘);
//配置路由级中间件,在路由中测试
app.use(‘/test‘,testRouter);
module.exports = app;
var router = require("express").Router();
router.get(‘/include‘, (req, res) => {
//跳转到views目录下include.ejs
res.render(‘include‘, { user: [{ "name": "aaa" }, { "name": "bbb" }] });
})
module.exports = router;
<ul>
<% user.forEach((item)=>{ %>
<%- include(‘show‘,{user:item}) %>
<% })%>
</ul>
Express Generator Express生成器 EJS模板引擎
原文:https://www.cnblogs.com/ltfxy/p/12549462.html