我爱编程

笔记 脑子不够用

2017-11-13  本文已影响0人  嘣嘣嘣嘣

jade:(改名字了 现在是pug),网址教程{https://pug.bootcss.com/api/getting-started.html

nightmare: Nightmare 是一个用于node.js的浏览器自动化库,比Phantomjs更简单易用, 用于Web UI测试和抓取。类似的这种库还有{Phantomjs、slimerjs、casperjs}。URL=(https://github.com/segmentio/nightmare

mongoVue: 可视化的mongodb管理工具。

nodejs操作mongodb的第三方工具库{mongodb、mongoose、monk、mongolass}

nodejs工程 注册、登录持久化使用express中间件:express-session

首先安装express-session:npm i express-session --save;然后在入口文件引入并命名为全局使用

var session = require('express-session')

app.use(session({

secret: 'sessiontest',//与cookieParser中的一致

resave: true,

saveUninitialized:true

})

express-session的一些常用的方法:

Session.destroy():删除session,当检测到客户端关闭时调用。

Session.reload():当session有修改时,刷新session。

Session.regenerate():将已有session初始化。

Session.save():保存session。

同时,想要达到持久化还需要把session存到的值存储到重启项目不会丢失的地方,例如数据库或者本地cookie,因为之前存储到项目内存中,每次重启项目session就会丢失。所以现在假如存储到数据库(mongodb)还需要中间件(connect-mongo),安装之后全局引用,将上面的代码略微修改如下:{

const session = require('express-session');

const MongoStore = require('connect-mongo')(session);

app.use(session({

secret: 'sessiontest',//与cookieParser中的一致,

store: store: new MongoStore({ mongooseConnection: mongoose.connection })

})

前提是mongodb必须是处于连接状态,所以在入口文件app.js就需要提前连接数据库,在"app.use(session({"之前要把mongodb连接。插入代码如下:

const mongoose = require('mongoose')

mongoose.connect('mongodb://loachost/数据库名字',)

mongoose.Promise=global.Promise

superagent : 是一个超轻的ajax api,有着可读性强,高度灵活,学习曲线低的优点。最近在写爬虫,看了下node里面有啥关于ajax的模块,发现superagent这个模块灰常的好用。(参考:http://www.jianshu.com/p/98b854322260)

nodejs写爬虫:首先程序运行读取的第一个文件就是 robots.txt,这是一个协议,不是一个命令,该文件告诉爬虫在服务器上什么文件爱你可以被查看,所以爬虫程序就会根据这个协议内容来确定访问范围。

async 函数返回的是一个 Promise 对象。async 函数(包含函数语句、函数表达式、Lambda表达式)会返回一个 Promise 对象,如果在函数中 return 一个直接量,async 会把这个直接量通过 Promise.resolve() 封装成 Promise 对象。如下图所示:

上一篇下一篇

猜你喜欢

热点阅读