nodejs+express+vue搭建图片预览网站+python爬取糗百图片

以下文章建立在以正确安装必要软件及包的前提下

概要

本项目是使用node做服务端,从mysql中查询数据然后由vue渲染到页面。其中数据由python爬虫从糗百成人版抓取。主要有三个文件:express-demo.js、mysql.js、index.html。一个入门项目,没做分层。

一、用到的软件及包:

1、node

2、python

3、express

4、内嵌到html中的vue各组件

二、开始编码

1、创建项目:pic-view是项目名称

2、安装mysql

1、npm安装太慢,用淘宝镜像cnpm

npm --registry https://registry.npm.taobao.org install express

2、安装mysql

3、在根目录下新建express-demo.js、index.html、mysql.js文件

express-demo.js

const express = require('express')
var mysql = require('./mysql')

var app = express()
app.use(express.static('public'))

app.get('/', (req, res)=>{
    res.sendFile(__dirname+'/index.html');
})

app.get('/getItems', (req, res)=>{
      let currentPage = req.query.page > 0 ? req.query.page : 1;
      let start = (currentPage-1)*req.query.pageSize
      let end = req.query.pageSize*currentPage
      
    mysql.query('select * from qiushi order by id desc limit '+start+","+end)
        .then(result=>{
            res.json(result)
        },err=>{
            console.log(err);
        });
})
var server = app.listen(80, ()=>{
    var host = server.address().address
    var port = server.address().port

    console.log("应用实例,访问地址为 http://%s:%s", host, port)
})

mysql.js

mysql.js
const mysql = require('mysql');
//创建数据库连接
const connPool = mysql.createPool({
    host: 'locahost',
    port: 3306,
    user: 'root',
    password: '12345678',
    database: 'qiubai',
    connectionLimit: 10,
});
function query(sql, params){
    return new Promise((resolve, reject)=>{
            connPool.getConnection((err, connection)=>{
                if(err){
                    console.log(err)
                }else{
                    connection.query(sql, (err, result)=>{
                        connection.release();
                        if(err){
                            reject(err);
                        }else{
                            resolve(result)
                        }
                    })
                }
            })
        });
}
exports.query=query

index.html




    最美图
    
    


    
{{o.title}}

三、启动

1、命令行启动

2、后台启动(守护进程)

这里要介绍一个nodejs进程管理工具——PM2. PM2是很多繁琐的nodejs应用管理变得更加简单,例如性能监控、负载均衡、自动重启等
1、PM2安装

2、用pm2启动


会输出很多启动日志,最后输出如下信息表示启动成功:

也可以使用命令查看一下80端口:

浏览器输入域名就可以访问了,本地的话直接输入localhost就可以访问了。我这边是直接部署到阿里云服务器上了:

你可能感兴趣的:(vue.js,express,python爬虫,node.js)