mk-js,一个基于react、nodejs的全栈框架
前言
在这个前端技术爆炸的时代,不自己写套开源框架出门都不好意思跟别人说自己搞前端。去年年初接触的react,16年7月份在github开源了一套针对react、redux探索的项目,近期和伙伴们一起重构了这个项目,等待大伙拍砖。。。搞不明白为什么一发布到首页区就会被移除。。。
框架介绍
- mk框架 = monkey king框架 = 齐天大圣框架
- 基础技术栈:react、redux、immutable、antd、webpack、nodejs、hapi、sequelize、node-zookeeper-dubb等
- 框架核心思想:js全栈、应用化
介绍网址
https://ziaochina.github.io/mk-docs
特点
- 将网站分成多个独立app,每个app开发模式完全一致,并且可以克隆npmjs发布模板app
- 将后台服务分成多个独立service, 每个servie开发模式完全一致, 并且可以克隆npmjs发布的模板service
- 开发者自己做的app,service可以发布到npmjs开源给其他开发者使用,成为一个生态化的框架
使用
- 步骤一、使用mk命令建立网站
$ npm i -g mk-tools //安装mk
$ mk website my-demo && cd my-demo //创建空网站
$ mk clone mk-app-root apps/ //克隆root应用
$ mk clone mk-app-login apps/ //克隆登录应用
$ mk clone mk-app-portal apps/ //克隆门户应用
$ mk clone mk-app-person-list apps/ //克隆列表应用
$ mk clone mk-app-person-card apps/ //克隆卡片应用
$ mk clone mk-app-complex-table apps/ //克隆复杂表格应用
$ mk clone mk-app-editable-table apps/ //克隆可编辑表格应用
$ mk clone mk-app-tree-table apps/ //克隆左树右表应用
$ mk compile website //编译网站
- 步骤二、配置
//修改文件:my-demo/config.js
//也可以直接进apps目录根据自己需求修改app内容
...
_options.apps && _options.apps.config({
//'*': { webapi } //正式网站应该有一个完整webapi对象,提供所有web请求函数
'mk-app-root': {
startAppName: 'mk-app-login'
},
'mk-app-login': {
goAfterLogin: {
appName: 'mk-app-portal'
}
},
'mk-app-portal': {
menu: [{
key: '1',
name: 'about',
appName: 'mk-app-portal-about',
isDefault: true
}, {
key: '2',
name: 'apps',
isExpand: true,
children: [{
key: '201',
name: '列表',
appName: 'mk-app-person-list'
}, {
key: '202',
name: '卡片',
appName: 'mk-app-person-card'
},{
key:'203',
name:'复杂表格',
appName: 'mk-app-complex-table'
},{
key:'204',
name:'可编辑表格',
appName: 'mk-app-editable-table'
},{
key:'205',
name:'树表',
appName: 'mk-app-tree-table'
},{
key: '206',
name: '柱状图',
appName: 'mk-app-bar-graph'
}]
}]
}
})
...
- 步骤三、按需修改代码,实现自己功能要求
- 步骤四、运行 npm start
DEMO截图
按照上面的步骤可以得到如下截图样子的一个网站
可以在线访问我已经做好的一个demo,网址:https://ziaochina.github.io/mk-demo








mk-js,一个基于react、nodejs的全栈框架的更多相关文章
- 【招聘App】—— React/Nodejs/MongoDB全栈项目:socket.io&聊天实现
前言:最近在学习Redux+react+Router+Nodejs全栈开发高级课程,这里对实践过程作个记录,方便自己和大家翻阅.最终成果github地址:https://github.com/66We ...
- 【招聘App】—— React/Nodejs/MongoDB全栈项目:登录注册
前言:最近在学习Redux+react+Router+Nodejs全栈开发高级课程,这里对实践过程作个记录,方便自己和大家翻阅.最终成果github地址:https://github.com/66We ...
- 【招聘App】—— React/Nodejs/MongoDB全栈项目:项目准备
前言:最近在学习Redux+react+Router+Nodejs全栈开发高级课程,这里对实践过程作个记录,方便自己和大家翻阅.最终成果github地址:https://github.com/66We ...
- 【招聘App】—— React/Nodejs/MongoDB全栈项目:消息列表
前言:最近在学习Redux+react+Router+Nodejs全栈开发高级课程,这里对实践过程作个记录,方便自己和大家翻阅.最终成果github地址:https://github.com/66We ...
- 【招聘App】—— React/Nodejs/MongoDB全栈项目:个人中心&退出登录
前言:最近在学习Redux+react+Router+Nodejs全栈开发高级课程,这里对实践过程作个记录,方便自己和大家翻阅.最终成果github地址:https://github.com/66We ...
- 【招聘App】—— React/Nodejs/MongoDB全栈项目:信息完善&用户列表
前言:最近在学习Redux+react+Router+Nodejs全栈开发高级课程,这里对实践过程作个记录,方便自己和大家翻阅.最终成果github地址:https://github.com/66We ...
- 且看这个Node全栈框架,实现了个Cli终端引擎,可无限扩充命令集
背景介绍 一般而言,大多数框架都会提供Cli终端工具,用于通过命令行执行一些工具类脚本 CabloyJS提供的Cli终端工具却与众不同.更确切的说,CabloyJS提供的是Cli终端引擎,由一套Cli ...
- RSuite 一个基于 React.js 的 Web 组件库
RSuite http://rsuite.github.io RSuite 是一个基于 React.js 开发的 Web 组件库,参考 Bootstrap 设计,提供其中常用组件,支持响应式布局. 我 ...
- 基于NodeJS的全栈式开发
前言 为了解决传统Web开发模式带来的各种问题,我们进行了许多尝试,但由于前/后端的物理鸿沟,尝试的方案都大同小异.痛定思痛,今天我们重新思考了“前后端”的定义,引入前端同学都熟悉的 NodeJS,试 ...
随机推荐
- MySql三大范式与数据库设计和表创建常用语句
[数据库设计的三大范式] 1.第一范式(1NF First Normal Fromate):数据表中的每一列(字段),必须是不可拆分的最小单元.也就是确保每一列的原子性. 例如: userInfo: ...
- PS-前端切图教程(切jpg图和切png图)
微微一运功,把家底都抖出来了. 不过,作为一个设计出身的前端来说,摸ps就和摸键盘一样了 所以可能教程中还是有没用过ps的人看不懂的地方, 欢迎加群讨论:613512106... ---------- ...
- a链接返回上一页
<a href="javascript:void(0);" onclick="javascript:history.go(-1);" style='mar ...
- JAVA基础——方法笔记
java方法_学习笔记 由于我本人对java方法已经比较熟悉了,java方法的定义和使用也比较简单,这里只列举了基于我自身容易搞错的地方,希望对大家的学习有帮助!! 方法的参数可以是基本数据类型,如 ...
- sql将一列数据拼成一个字符串的方法
SELECT STUFF(CONVERT(VARCHAR(500), ( SELECT TOP 10 ',' + BG_Country FROM dbo.BS_Budget FOR XML PATH( ...
- HTML DOM元素关系与操作
<html> <head><title>DOM元素关系与操作</title></head> <body> <!-- div ...
- 极客圈(一)树莓派3B协同Python打造个性化天气闹钟
人生苦短,我用Python~ 一直想自己折腾些极客的东西出来,供自己使用或者是供他人使用.一则可能对自己的生活是一种帮助,二则是对自己技能的提高,三则显得高大上,一直努力,一直提高,一直Happy!~ ...
- 浅析CQRS的应用部署
CQRS,中文翻译命令和查询职责分离,它是一种架构,不仅可以从数据库层面实现读写分离,在代码层面上也是推荐读写分离的.在接口上可以更为简单 命令端定义 ICommandResult Execute(I ...
- 自画一张linux基础架构学习框架图
草图一张,仅供参考,学习并掌握下面这张图的技能只是个开始--
- Java中的二进制及基本的位运算
Java中的二进制及基本的位运算 二进制是计算技术中广泛采用的一种数制.二进制数据是用0和1两个数码来表示的数.它的基数为2,进位规则是"逢二进一",借位规则是"借一当二 ...