框架代号"vNext",目的是基于asp.net core集成优秀的技术框架,形成一套完善的前后端分离的跨平台开发的企业级开发框架。前端采用vue + typescript等技术,后台数据访问采用odata标准。
asp.net core mvc/webapi + odata + vue + typescript
- git clone https://github.com/GavinHome/TZ.vNext
- cd TZ.vNext
- dotnet restore
- cd TZ.vNext.Web
- npm install
- 安装vscode
- cd TZ.vNext
- 用以下命令打开项目:code .
- F5运行
- 前端采用kendo-vue & element ui,具体请前往各自官方技术网站参考学习
- 后台框架:asp.net core & odata,具体请前往各自官方技术网站参考学习
- 本项目可运行至win, mac, linux。win下请使用vs2017/vscode开发;mac下推荐vscode开发,毕竟mac下的vs太大,而且还不是很成熟;linux,鉴于此平台下属于高级玩家的范围,所以我个人建议使用一般的文本编辑器,使用命令编译运行,当然也可以使用vscode等工具,具体请google学习
- dotnet core 项目的编译运行等基础知识请前往微软技术网站参考学习
- EntityFrameworkProfiler: 抓sql工具,目前仅用于windows端;使用方法参考最后一部分列出的参考网址。
注:第五步之后,运行项目可能会报错误,是typescript的一个语法错误,此时需要修改两个文件: \TZ.vNext.Web\node_modules\vue-router\types\roueter.d.ts \TZ.vNext.Web\node_modules\vue-router\types\vue.d.ts 将这两个文件中的import Vue = require("vue")修改为import Vue from 'vue'
- Fork 本项目
- 新建 Feat_xxx 分支
- 提交代码
- 新建 Pull Request
- 权限控制,考虑使用token的方式,需要形成一套单独的机制,包括grid等组件权限控制机制等
- 日志,异常处理等基础性的工作
- 多数据库多环境
- 前后端打包配置,后端teamcity, 前端webpack已做了一部分工作,但是需要优化
- 框架级样式调整
- 公共组件开发:文件上传/下载,导入导出.....[后续补充]
- 一个长期的计划:所有框架的知识要点需要形成一个博客文章系列,不仅仅是介绍的形式,包括介绍,使用,以及进阶主题等等。
- 编译: dotnet build -c Release
- 发布: dotnet publish TZ.vNext.Web.csproj -c Release -f netcoreapp2.0 -o ./publish/
- 运行: dotnet TZ.vNext.Web.dll
-
element ui : http://element-cn.eleme.io/#/zh-CN/component/installation
-
kendo-vue : https://www.telerik.com/kendo-vue-ui/components/grid/
-
odata : http://odata.github.io/WebApi/
-
typescript : http://www.typescriptlang.org/docs/home.html
-
dotnet core : https://www.microsoft.com/net/learn/get-started/macos
-
asp.net core : https://docs.microsoft.com/zh-cn/aspnet/core/?view=aspnetcore-2.1
-
EntityFrameworkProfiler: https://www.hibernatingrhinos.com/products/efprof/learn
- 运行npm install,后运行出现错误:类似找不到Vue,此时请联系作者,告诉你如何修改npm代码后成功运行,或者你也可以自己google。
- 本项目服务端依赖"Telerik.UI.for.AspNet.Core", 如果还原包时报错,请添加手动添加nuget源:https://nuget.telerik.com/nuget, 并再次还原。