node.js express框架1

一、安装node.js开发环境

下载地址:Node.js

查看是否安装成功:node -v

安装express:

npm install -g express-generator

查看是否安装成功:

express --version

其他扩展包:

npm install art-template -S  //html格式模板引擎
npm install express-art-template -S  //html模板引擎
npm install async -S  //异步处理方法库
npm install mysql2 -S  //Mysql数据库支持
npm install sequelize -S  //操作Mysql的ORM框架

二、创建项目

express hello

三、替换模板引擎

app.set('view engine','jade')

替换成:

app.engine('.html',require('express-art-template'));
app.set('view engine', 'html');

四、新增路由

const IndexController=require('../controllers/index');
router.get('/',IndexController.getList);

五、新增controller

在根目录创建controllers文件夹,创建index.js文件

六、新增配置文件(根目录下)

config.js

const config={
    DEBUG:true,
    MYSQL:{
        host:'',
        port: '',
        database:'',
        username:'',
        password:''
    }
}

module.exports=config;

db.js

var Sequelize=require('sequelize');
var CONFIG=require('./config');

var sequelize=new Sequelize(
    CONFIG.MYSQL.database,
    CONFIG.MYSQL.username,
    CONFIG.MYSQL.password,

    {
        host:CONFIG.MYSQL.host,
        port:CONFIG.MYSQL.port,
        dialect:'mysql',
        logging:CONFIG.DEBUG?console.log:false,

        pool:{
            max:5,
            min:0,
            idle:10000
        },
        
        timezone:'+08:00'
    }
);

module.exports=sequelize

七、新增model文件

根目录下新建models文件夹,建立user.js

const Sequelize=require('sequelize');
const db=require('../db');

const User=db.define('User',{
    id:{type:Sequelize.INTEGER,primaryKey:true,allowNull:false,
           autoIncrement:true},
    username:{type:Sequelize.STRING(255),allowNull:true}
},{
    underscored:true,
    tableName:'user',
});

module.exports=User;

八、view渲染

{{list}}  //绑定

九、controller层获取数据库数据

const UserModel=require('../model/user')
const async=require('async')

let exportObj={
    getUserList
}

function getUserList(req,res){
    
    let tasks={
        query:cb=>{
            UserModel.findAll({limit:10,order:[['id','DESC']]}).then(function(result){
                
                let list=[];

                result.forEach((v,i) => {
                    let obj={
                        id:v.id,
                        username:v.username
                    };

                    list.push(obj);
                })

                cb(null,list)
            }).catch(function(err){
                console.log(err)
            })
        }
    }

    async.auto(tasks,function(err,result){
        
        if(err){
            console.log(err)
        }else{
            res.render('index',{
                list:result['query']
            });
        }
    })


    
}

module.exports=exportObj;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值