KrakenJs start

KrakenJs 官网 http://krakenjs.com/

1. 创建 kraken 项目

yo kraken

然后填写项目名称,选择是否需要依赖等等之后。可能会由于众所周知的原因卡在安装依赖的界面。需要退出,然后通过 cnpm 命令安装一下依赖。

 

2. 集合 ejs 模板渲染

cnpm install ejs --save

修改成 ejs 模板

config/config.json 中,多添加 "view engines"

{
    "specialization": {
    },
    "middleware": {
        "static": {
            "module": {
                "arguments": [
                    "path:./.build"
                ]
            }
        },
        "router": {
            "module": {
                "arguments": [
                    {
                        "directory": "path:./controllers"
                    }
                ]
            }
        }
    },
    "view engines": {
        "html": {
            "name": "ejs",
            "module": "ejs",
            "renderer": "renderFile"
        }
    }
}

 

3.集成 sequelize

先全局安装一个 sequelize-cli 

sequelize-cli 文档 http://docs.sequelizejs.com/manual/tutorial/migrations.html#the-cli

cnpm install sequelize-cli -g

 

然后安装必要的模块

cnpm install sequelize --save
cnpm install mysql2 --save

 

最后初始化一下环境( 因为默认配置中的 config/config.json 是也是kraken的配置,故可以指定让其分开,这样子的话,后面使用 sequelize-cli 的话,都需要带上 --config 参数;也可以合到一起,暂没发现什么副作用)

sequelize init --config config/db.json

 

测试sequelize 是否已成功集合

sequelize model:create --name User --attributes first_name:string,last_name:string --config config/db.json --force --underscored

通常,直接在cli输入命令行有点太麻烦了,可以考虑先随便生成一个,然后到时候自己在IDE里面进行进一步的修改,不过记得要修改两份代码就对了 models/ 和 migrations/ 下的两份

 

然后进行 run command to migrate 

sequelize db:migrate --config config/db.json

 

然后再自己编码,看看能不能正常插入和查询就好

'use strict';
let models = require("../models/index");

module.exports = function (router) {
    router.get('/', function (req, res) {
        res.send("Here is /user");
    });

    router.get("/create", createUser);

    router.get("/all", findAllUsers);
};

function createUser(req, res) {
    let firstName = req.query.f_name ? req.query.f_name : "Tony",
        lastName = req.query.l_name ? req.query.l_name : "Parker";

    models.User.create({first_name: firstName, last_name: lastName}).then(function (result) {
        res.send(result);
    }).catch(function (err) {
        res.send(err);
    });
}

function findAllUsers(req, res) {
    models.User.findAll().then(function (result) {
        res.send(result);
    }).catch(function (err) {
        res.send(err);
    })
}

 

 

 

至此,kraken with ejs and phantomjs 配置完成,大家可以根据自己的业务要求,继续扩展

 

另附项目地址:

http://git.oschina.net/auwaiyung/kraken-ejs-sequelize

 

posted @ 2017-08-09 15:44  Au_ww  阅读(141)  评论(0编辑  收藏  举报