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
浙公网安备 33010602011771号