Giter Club home page Giter Club logo

yundingbasejsprojectcli's Introduction

原生前端项目目录结构:

根目录下:

  • docs:存放项目文档,里面的文件一般都是markdown格式,比如前端架构设计说明,用户手册,测试文档,模块接口文档,后端接口文档等等,看项目情况即可
  • public:公共静态文件目录,比如项目icon(就是浏览器标签页的图标),多个页面公共的图片资源,项目的公共css(一般项目都要有公共css来抹平浏览器差异和对项目做个性化统一处理,比如统一设置文字颜色,字体大小,去掉a标签,input标签的默认样式等)
  • src项目核心代码目录
  • .gitignore:推送到git时不进行操作的文件(不会被推入仓库的文件)
  • index.html:上服务器时的入口文件
  • READEME.md:项目说明文件,仓库会根据这个markdown展示你的项目,最好好好写一下

src目录下

src目录下各目录作用:

  • api:对axios的封装和管理所有接口,负责请求层的业务逻辑,理论上业务代码中不应出现过多的请求代码
  • charts:保存所有echarts的配置,避免配置和业务代码耦合
  • components:组件,可以理解为需要用iframe引入的,复杂度较高的页面模块
  • mock:存放在对接前,前端自己模拟数据的json,json的字段可以提前找后端的同学协商
  • store:管理全局变量的模块,理论上项目中不应该出现未提前定义的全局变量,使用全局变量前应该先在$store中定义
  • utils:存放工具函数的文件夹,理论上业务逻辑中不应该出现个跟业务没有直接关系的函数,比如文件下载,格式校验等,这些方法最后统一抽进util中,在使用时进行调用即可。同时也方便复用,在项目中出现多次的函数也应该抽入utils中
  • view:保存各个页面的文件夹,里面按需求写各个页面即可,每个文件夹表示一个页面,里面有对应页面的css,js,image文件夹和html文件

推荐命名风格:

  • 全局变量以$开头

  • 常量都大写开头,比如CityList,变量驼峰,英文标注含义,比如userInfo

  • css变量最好用BEM命名法,具体自己搜一下趴

  • 每次提交代码时commit的风格:提交类型+具体修改的内容 提交类型如下:

      'feat', // 新功能 feature
      'fix', // 修复 bug
      'docs', // 文档注释
      'style', // 代码格式(不影响代码运行的变动)
      'refactor', // 重构(既不增加新功能,也不是修复bug)
      'perf', // 性能优化
      'test', // 增加测试
      'chore', // 构建过程或辅助工具的变动
      'revert', // 回退
      'build', // 打包
      'ci', //可持续集成(上线)
    

关于注释:核心方法或代码较长的方法必须写注释!!!代码较短的方法如果方法名表达清晰就可以不写

注释推荐使用JSdoc的写法,具体参考utils中函数的注释写法

yundingbasejsprojectcli's People

Contributors

salengnotlittlemeng avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.