美文网首页
课时78-课时81笔记.md

课时78-课时81笔记.md

作者: 九旬大爷的梦 | 来源:发表于2018-11-29 15:24 被阅读16次

课时78 Express-应用生成器上

快速生成一个Express工程目录
Express 应用程序生成器

65b626104bdbc6a7e30ff1745b47b71.png

Express 生成器
安装: npm install express-generator -g
选项列出所有可用的命令选项express -h
设置ejs为视图模板引擎:express --view=ejs demo1
进入目录cd demo1
安装所有依赖npm install

启动应用:
MacOS / Linux : DEBUG=myapp npm start
windoows : set DEBUG=myapp & npm start
(我的可能有问题,我明明是windoows 但是却使用MacOS的也命令启动的,具体看命令中的提示吧。Vscode中好像对命令总包含“*”“&”无法执行,)
成功后在浏览器打开 :
http:localhost:3000/

d437aaf615d8b9aa40b8e049ec0b214.png

如果出现错误:


可能是因为3000端口被占用。 关闭其他node进程启动即可

课时79 Express-应用生成器下

Express工程目录结构:


1c0428dc49a0e63021163689a0ea8e9.png

主要看一下app.js中的代码:

//引用包文件
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');
//生成Express实例
var app = express();

// view engine setup - 设置视图引擎为ejs
app.set('views', path.join(__dirname, 'views'));//视图引擎的目录
app.set('view engine', 'ejs');//使用ejs为视图引擎
//use=使用 使用Express一些方法
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 - 404错误处理 使用了中间件处理
app.use(function(req, res, next) {
  next(createError(404));
});

// 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(err.status || 500);
  res.render('error');
});

//把app.js暴露出去
module.exports = app;

课时80 Node进阶-Express-小撩-功能介绍

实现一个小案例:

  1. 可以登录、注册
  2. 使用websocket实现一个在线聊天机器人

添加页面步骤:

  1. 把视图文件(.html或.ejs)放在views文件中
  2. 把静态文件(css、js、images)放在public中
  3. 每增加一个页面还要去routes文件中添加路由,
  4. 在app.js中配置路由

课时81 Node进阶-Express-小撩-资源配置

新添加一个页面的步骤,以login.ejs为例:

  1. 把视图文件放在views文件中,这里在views文件夹中新建index.ejs:
  <body>
    <h1><%= title %></h1>
    <p>Welcome to <%= title %></p>
    <p><a href="/login">登陆</a> <a href="/register">注册</a></p>
  </body>
  1. 把index.ejs需要的静态文件如(css、js、images)放在public中
  2. 去routes文件中添加一个index.js路由文件:
var express = require('express');
var router = express.Router();

/* GET home page. */
router.get('/', function(req, res, next) {
  res.render('index', { title: 'xiaole主页' });
});

module.exports = router;

  1. 在app.js中配置路由login的路由,这里分两步:

4.1 引用路由

var indexRouter = require('./routes/index');

4.2 设施用户访问的路径

app.use('/', indexRouter);

注意:这里有个小坑,就是routes中的路由文件router.get后面的路由默认都是/, 不要错误以为是用户的访问的路径,用户的路径都在app.js中匹配好了。

相关文章

网友评论

      本文标题:课时78-课时81笔记.md

      本文链接:https://www.haomeiwen.com/subject/rdmgqqtx.html