UNPKG

cross-magic

Version:

跨平台公共模块

96 lines (80 loc) 2.91 kB
`注意:node版本 >= 8.9` ### 注意事项 ``` 1. 项目在抹平平台差异时,尽量保证web端用户能够无缝衔接。 2. 项目中不能直接引入vue,vue-router,vuex库(如果引入的话,虽然依赖包放在dev依赖上,但是 webpack依然会将引入的包打包进代码里,这样会让使用库的人重复引入代码) 如果需要类型,则可以引用vue/types vue-router/types ``` ## 代码规范 ``` 项目使用eslint的ts版本作为代码规范,但是项目中可能还有些eslint不易检查的一些规范, 这里稍微列举一下。 1.项目中所有文件名以小写驼峰命名(例:applicationConfig.ts)。 2.项目中class以大写驼峰命名(例:Application) 3.项目中尽量使用type来定义数据结构,interface定义class接口 4.项目中尽量对所有使用到的class,methods,enum,type,interface等书写注释,尽量浅显易懂,也为了更好的生成doc文档(项目中使用typedoc来生成doc文档) 5.项目中尽量不要添加dependencies类型的依赖,如有,请提出,并与大家商量。 6.项目中尽量不要有重复代码,如有,请尽量抽取出来。 ``` ## Project setup ``` // XXX为当前实际地址 git clone npm install ``` ### 项目打包 ``` npm run build 执行打包会将代码打包到dist目录下:cross-common.js ``` ### 项目发布 ``` npm run publish-patch 项目发布修补版本 npm run publish-minor 项目发布小版本 ``` ### 项目文档生成 ``` npm run doc 会对src下的代码生成api文档放置到docs目录下 ``` ### Lints and fixes files ``` npm run lint 修复src下的代码 npm run lintAll 修复整个项目中的代码,会去除.eslintignore中的目录 npm run format 对src下的代码进行美化 ``` ### 文件结构 ``` +-- src/ | +-- common/ // 公用资源 | | +-- constants/ // 公共常量 | | +-- utils/ // 常用函数 | +-- core/ // 项目核心代码 | | +-- app/ // app类 | | +-- base/ // 提供项目中的基础类 | | +-- mgrs/ // 项目中的重点部分,各个管理器 | | +-- runtime/ // 运行时对象 | | +-- utils/ // 项目中的工具函数等 | +-- main.ts // 项目入口 | | ............ | | |-- .gitignore // git的排除目录 |-- .eslintignore // eslint的排除目录 |-- .eslintrc.js // eslint 配置文件 |-- babel.config.js // babel 配置文件 |-- package.json // 项目包文件 |-- prettier.config.js // prettier配置文件 |-- tsconfig.json // typescript 配置 |-- webpack.common.js // webpack通用配置 |-- webpack.dev.js // webpack dev配置 |-- webpack.prod.js // webpack prod配置 ``` ### 文档 [TypeScript文档](https://www.tslang.cn/docs/home.html) [webpack] [babel] [eslint] [typedoc] ...