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 对象。如下图所示: