Introduction
项目介绍
旨在搭建一套简单易用的前端框架, 便于各项目使用, 方便统一; 以解决网络上各种框架不同的设计思路及使用方式的不一致性而造成项目混乱, 且可以随时根据项目需求调整不同的UI组件.
目前一期项目为innis使用, 使用vuejs进行开发; 后期支持微前端框架时, 再调整为与具体架构无关.
项目暂时命名为 bpui
1 | 例如: |
框架的设计思路及优先级
- 移动优先, 移动端及pc端的使用方式一致.
- 框架完整性: 支持大多数常用组件
- 易用性: 尽量做到少阅读使用文档时就能够使用. 使用方式向原生组件靠拢.
- 兼容性,可扩展性。样式图标独立.
- 性能
- 支持微信小程序
- 微前端
IDE
目前主流的IDE为 vscode
开始工作前按以下进行一些准备工作.
常用插件
建议搜索并安装如下的扩展插件.
- Babelrc
- Code Outline
- Code Runner
- CSS Class Hint
- Debugger for Chrome
- Git History
- GitLens
- JavaScript (ES6) code snippets
- Node Debug 2
- npm
- npm intellisense
- TSLint
- TypeScript Toolbox
- Vetur
- prettier
可以使用 prettier 进行代码格式化. (ctrl+shift+F 格式化文档, 或 ctrl+K,ctrl+F 格式化选择的代码片段)
code snippet
需要在vscode中设置 javascript, typecript, vue 等文件的 code snippet
配置, 以便添加文件版本等内容.
点击 设置
->用户代码片段
, 分别输入 vue.json
, javascript.json
, typescript.json
设置如下内容.
- 设置自文件头版权信息.
bpheader
是快捷键, 键入后会自动输出body字段中的信息.
1 | "bpheader": { |
注: vue.json
文件头版权信息注释应该从 /* */
改为 <!-- -->
可以使用 vue code snippet 这个完整的snippet.
编码规范
需要按照如下的编码规范进行编码:
- 优先使用
typescript
- 以下按照
.vue
文件按顺序进行代码规范说明 - 为保持模块独立性, 尽量不使用
vuex
.
文件头版权说明.
1 | <!-- |
vue文件使用 <!-- -->
注释, ts/js文件使用 /* */
模板
1 | <template> |
脚本
优先选择typescript.
1 | <script lang="ts"> |
代码归类
相同类型的代码应该放在一起, 例如, @Prop 属性应该都放置在一起, @Emit 事件触发等放置在一起; 自定义方法放置在一起.
不要出现代码随意放置的问题.
使用驼峰命名法.
例如 getName
原则上应该以 动词
在前, 名称
在后; 便于理解.
名称归类.
当类中的方法较多时, 例如超过10个时, 处理同一个子模块的方法应该前缀统一
, 并且放置在一起
, 方便后续维护.
例如: 同一个页面中处理树形结构逻辑代码统一命名,
tree_onClick,tree_addChildNode, tree_removeNode 等;
同样, 私有变量以及data同样应该使用这个规则;
事件触发类的方法应该以
on
开头
例如, 按钮click事件触发的方法命名为: onClickLogin
, onClickOk
等
使用on开头表明是由其他触发引起的.
方法注释.
大多数方法都应该以以下方式进行注释
1 | /** |
异步方法使用如下方式:
1 | /** |
样式
使用 scss
1 | <style lang='scss' scoped> |
Git使用规范
开发中git的使用必须按照如下规则: