《Node.js开发指南》微博程序中遇到的问题

本文档总结了使用EJS模板引擎及Express框架时遇到的一些常见问题,包括EJS中partial函数已被废弃、如何获取本地时间、启动Express项目的正确方式、数据库连接设置等,并给出了相应的解决办法。

做完才整理的,想到什么写什么,没有顺序

1.ejs中 partial()是已经被废弃的,要用include,否则会报变量未定义错;

2.new Date() 的时间是UTC时间,协调世界时(英:Coordinated Universal Time),比当前时区时间慢8小时,要用 new Date().toLocalString()

3.supervistor 启动express项目时不要启动 app.js (虽然书上这么写的),express现在启动的主函数(?是这么说)是 ./bin/www;

4.new Server(settings.host,27017,{}),{safe:true});
db.js 里面用到的这个函数第二个参数原文中是一个默认端口常量,现在版本应该没有了,所以直接写mongoDB端口号就行;

5.

var partials = require('express-partials')
var session = require('express-session');
var flash = require('connect-flash');
var MongoStore = require('connect-mongo')(session);

这些都是原文express2中自带的,现在版本要自己引入,注意MongolStore后面有参数session

6.

app.use(session({
  resave:true,
  saveUninitialized:true,
  secret: settings.cookieSecret,
  store: new MongoStore({
    url: 'mongodb://localhost/microblog' 
  })
}));

建立数据库连接这段,跟原文有差别,少了两个

    resave:true,
  saveUninitialized:true,

参数会报莫名其妙的错,new MongoStore应该有其他写法

7.layout ,默认是没有的,我也没查到现在版本怎么加上默认的layout,只能每次在render函数后面加上layout属性,e.g

res.render('index', { title: 'Express' ,layout:'layout',posts : posts});

8.原书中引用的bootstrap是五年前的版本,直接引用现在的版本会出现很怪的布局

以上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值