V0.1
文件目录
.|_ node_modules|_ dist|_ libs // 依赖文件夹|_ antd // 新版组件库|_src // 根目录的源文件|_lib // 包含库项目的逻辑和数据。像应用项目一样,库项目也可以包含组件、服务、模块、指令和管道。|_ component-name // 依赖与 ng-zorro 的组件或者自定义组件|- component-name.component.html|- component-name.component.scss|- component-name.component.ts|_ directives //指令文件夹|_ pipes // 管道文件夹|- antd.module.ts //|- index.ts // 导出|- karma.conf.js|- ng-package.json|- package.json|- README.md|- test.ts|- tsconfig.lib.json|- tsconfig.lib.prod.json|- tsconfig.spec.json|_ models // 组件的公用 interface 层面|_ component-name|- component-name.ts|- index.ts|- index.ts|_ utils // 公用的函数,函数式写法|- isFunction.ts|_ index.ts|_styles //库项目的样式|_assets // 静态文件
通用规则
文件夹,文件名:
- 采用中横线命名
- component-name.component.ts
- component-name.component.ts
- 文件内输出对外的命令
MdXxxxComponentMdXxxxDirectiveMdXxxxServiceMdXxxxModuleMdXxxxPipeSelector: md-component-name组件父级文件夹实现:- 单个组件是一个
module; - 包含:
index.ts、public-api.ts和 package.json,用于组件单独引用 - 组件分为基础组件和复合组件;
- 只包含实现的部分,其他归于
model - 组件附属
service - 包含了
directives,pipes - 文件夹正常命名
- 单个组件是一个
- utils:
- 函数式
- 函数式
- Model:
- 意义:更有一个公共的概念;方便导出去,作为公共的 interface;没有其他大问题都用公共的,如果有些功能只有 antd 有,继承公用的实现 antd,怎么判断只有 antd 有呢?两个框架的组件提供的功能,有差异的时候,没有对比,怎么可能知道;
- 包含:
- interface.ts
- type.ts
typeenumconstant- option.ts
- 为
interface的实现;不会有class了
- 为
- interface:
- 基础和通用
interface;
- 基础和通用
- interface.ts
- 意义:更有一个公共的概念;方便导出去,作为公共的 interface;没有其他大问题都用公共的,如果有些功能只有 antd 有,继承公用的实现 antd,怎么判断只有 antd 有呢?两个框架的组件提供的功能,有差异的时候,没有对比,怎么可能知道;
疑问:
- option 存疑;
