为了账号安全,请及时绑定邮箱和手机立即绑定

node建站攻略(二期)——网站升级

Scott 全栈工程师
难度高级
时长 6小时 0分
学习人数
综合评分9.50
56人评价 查看评价
10.0 内容实用
9.5 简洁易懂
9.0 逻辑清晰
  • 通过grunt-mocha-test模块来实现单元测试。 配置方法: 1、下载模块:npm install grunt-mocha-test --save 2、在gruntfile.js里加载模块:grunt.loadNpmTasks('grunt-mocha-test') 3、在gruntfile.js里注册一个任务:grunt.registerTask('名称', ['任务名']) 4、在grunt.initConfig({......})里定义任务: mochaTest: { options: { reporter: 'spec' }, // src为测试的路径,可指定多个路径,参数为数组形式 src: ['test/'] },
    查看全部
  • 通过mongoose的populate方法,实现mongodb表之间的关联。 具体参考以下url: http://segmentfault.com/a/1190000002727265
    查看全部
  • 可通过以下方法定义mongodb里表的结构class: var Schema = mongoose.Schema var ObjectId = Schema.Type.ObjectId var CommentSchema = new Schema({......})
    查看全部
  • express中间件的使用: 在controllers里定义各个业务模块的中间件方法(midware), 然后在routes.js里定义路由时,按次序定义多个待执行的方法。 例:app.get('/admin/userlist', User.signinRequired, User.adminRequired, User.list)
    查看全部
    0 采集 收起 来源:用户权限管理

    2016-01-03

  • 存放控制相关的逻辑 app.js -> routes.js -> controllers 在routes.js里指定每个路由所对应的controller方法 在controllers里的js里编写各种业务function(原来定义在app.js里各个路由的回调函数) exports.方法名= function(req, res) {......}
    查看全部
  • 优化压缩后的代码格式: app.locals.pretty = true 优化错误信息(在控制台打出调用的方法名、url、状态,以及数据库的操作信息): // 判断环境变量(判断是哪一种环境,app.get('env'):当前用户环境变量中NODE_ENV值) if ('development' === app.get.('env')) { // 设置打印错误信息 app.set('showStackErrot', true) // 设置log出力内容(方法名,url,方法执行状态) app.set(express.logger(':method :url :status')) // 打开mongodb的debug模式 mongoose.set('debug', true) }
    查看全部
    0 采集 收起 来源:配置入口文件

    2016-01-02

  • 模块分离(把路由从入口文件里分离出去) 1、追加一个config目录和routes.js文件 2、在routes.js里加上一个module.exports = function(app) {......(路由代码)}) 3、把app.js里的路由以及路由相关引入的模块移到routes.js里面 4、在app.js里定义对路由的引用: require('routes文件的相对路径')(app) app作为参数传入
    查看全部
  • 在路由器里定义: app.use(function(req, res, next) {......})方法是预处理方法。 next()是继续执行(执行下一个方法)的意思。
    查看全部
  • express session的机制图
    查看全部
  • express.session需要基于express.cookieParser来实现。 app.use(express.cookieParser()) app.use(express.session({ secret: '工程名'}) ....... req.session.对象 = 新对象 注:express 4.X 模块有变化: app.use(bodyParser.json()) app.use(cookieParser())
    查看全部
  • 通过req.param('userid')来拿参数时,参数的来源有优先级。 例: /user/signup/1111?userid=1112 {userid:1113} 1111:路由里的参数;1112:url里参数;1113:后台data里的参数 优先级顺序:1111 > 1113 > 1112
    查看全部
  • app.post()时,要拿到事件传过来的参数,有多种方法。 具体见图。
    查看全部
  • app.js -> models/js -> schemas/js -> DB
    查看全部
  • [bcrypt]:加盐的加密算法模块 可通过bcrypt.genSalt(安全等级, function(err,返回的盐对象){......})加盐。 通过bcrypt.hash(加密前的内容, 盐, 回调函数function(err,加密后的内容){......})
    查看全部
  • 通过new mongoose.Schema({......})来定义数据库的文档结构与数据类型
    查看全部

举报

0/150
提交
取消
课程须知
本课程针对从事前端开发 2~3 年,前端知识结构良好,对基础的nodejs/express等相关后端知识有所了解,但缺乏实际项目经验的中级前端工程师。
老师告诉你能学到什么?
1、express后台框架的深入使用 2、mongodb中关联文档的设计与查询 3、jade模板引擎的深入使用 4、前后端数据传递与视图展现的流程 5、借助会话与cookie进行用户识别和持久化 6、如何利用表单做图片的上传 7、测试框架mocha的安装及测试用例编写

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!