0.0.4 • Published 3 years ago

@m_shine_ray/fecli v0.0.4

Weekly downloads
-
License
MIT
Repository
-
Last release
3 years ago

fecli

Front-End Command Line Interface

用途

    1、fe template (项目模板选择工具)方便开发人员根据业务选择对应的前端基础代码(脚手架)

使用说明

    npm i -g @m_shine_ray/fecli #全局安装
    
    fe create #创建项目

run && debug cli

    1、npm发布后全局执行
      * npm adduser # m_shine_ray
      * npm publish

    2、在cli内部调试
      * cd fecli
      * npm run fe create 

rules

  • 命名规范:template-客户端类型(pc、mobile、小程序)-主框架(vue、react)-ui-other

Knowledge Point

fecli check rules(TODO)

  • 解决方案
    • 基于eslint扩展
    • 基于directory-tree扩展
  • 规则详情
    • 校验目录结构
      • 是否缺失
      • 是否新增
      • 是否目录层级过深
    • 校验文件
      • 是否缺失
      • 校验文件内容
        • 是否被篡改
        • 是否缺失
        • 涉及的文件 readme.md package.json
    • 校验命名规范

      • 文件夹命名
      • 文件命名
      • vue组件命名
    • node生成目录结构数组

      • 忽略文件夹
      • 忽略文件
      • 递归遍历
      • 生成数组

Log

v0.0.3

  • add--命令--dir-tree(生成目录结构树)
    • 支持.js、.css、.vue、.html文件注释解析
    • 注释约定 文件第一行
      • /**@desc 注释内容*/
      • HTML注释\

v0.0.2

  • add--模板

v0.0.1

  • init

TODO

  • 完善命令
    • 校验规范相关命令
    • 校验开发环境
      • node版本
      • vue-cli版本
      • webpack版本
  • 完善模板
    • 如何动态注入到项目中?

Q&A

Q1: 如何实现生成一个文件(.md),文件内容是项目目录树状结构及对应的目录或文件说明, 能忽略统计目录(wwwroot、.idea、dist、node_modules、test)、文件(*.png) 参考:

|-- xxx.xxx.xx
    |-- .browserslistrc
    |-- .eslintrc.js
    |-- .gitignore
    |-- .prettierrc
    |-- README.md
    |-- babel.config.js
    |-- package-lock.json
    |-- package.json
    |-- postcss.config.js
    |-- vue.config.js
    |-- vue.config.proxy.js
    |-- vue.log.js
    |-- vue.mock.js
    |-- webpack.dll.conf.js
    |-- mock
    |-- public
    |   |-- css
    |   |   |-- common.css
    |   |   |-- iconfont.css
    |   |-- fesdk
    |   |   |-- v1.js
    |   |-- img
    |   |-- vendor
    |       |-- vendor-manifest.json
    |-- src
    |   |-- App.vue
    |   |-- main.js
    |   |-- router.js
    |   |-- assets
    |   |   |-- img
    |   |-- components
    |   |   |-- common
    |   |-- filters
    |   |   |-- index.js
    |   |-- mixin
    |   |   |-- index.js
    |   |-- store
    |   |   |-- index.js
    |   |   |-- module
    |   |-- util
    |   |-- views
    |   |   |-- index-bak.vue
    |   |   |-- index.vue
    |   |   |-- test.vue
    |-- wwwroot

Q2: 目录层级

 根目录|--
一级目录  |--
二级目录    |   |--

Q3: 生成的目录树,顺序与真实的顺序不一致

Q4: 根目录名称无法获得