本文结构

  1. 在初入前端的时候,一个项目中的文件夹会非常多,与Vue官网的简单demo相差非常大
  2. 这也是对前端项目文件组成和几个大的模块的一些介绍,文末还有一些不成文的代码规范

本文目录

  1. 项目代码组成
  2. 前端项目组成
  3. 前端的几大模块
  4. 项目编写规范

项目代码组成

  1. 先不谈前端项目,结合后端项目来看,项目之所以不是一个单纯的文件,很重要的思想就是,模块化和团队合作
  2. 编程中的模块化衍生出来的就是将不同功能的代码进行分类,放到不同的文件中,需要时再通过引入,拼接相应的功能,从这个角度出发,就能解释为什么会有这么多的文件夹,而且还是一层又一层的文件夹
  3. 还有就是为了和别人合作,需要将不同的功能隔离开来,进行并行开发,这样不同功能之间的耦合性会减少,项目结构是为了可持续开发,而不是随便写了一个文件,功能上虽然实现了,但维护起来甚是头疼,为了考虑方便维护和以后的功能的拓展,也是项目结构如此复杂的一个重要因素

项目结构的普遍特点

  1. 经常编写的文件通常在最底层,最深处
  2. 放在外面的文件却一般不怎么动
  3. 分工协作的话,分给你的代码通常只在一个小文件中编写
  4. 不懂项目结构也可以完成功能,但是懂会让你有更深的理解
  5. 除了自己功能的文件夹外,一般会有一个像总理一样的文件,管理所有功能

前端项目组成

  1. vue、react、angular三大前端框架的结构各有不同

Vue 开源项目结构

React 开源项目结构

Angular 开源项目结构

前端项目组成部分

  1. src 目录,是source 资源的简写,该文件夹是主要编写功能的地方
  2. static 目录,意为静止,静态,也就是存放html页面和图片等的静态文件夹
  3. .gitignore 文件,该文件是给 git 使用,用来选择哪些文件不要被git控制
  4. README.md 文件,GitHub的仓库介绍,使用markdown格式编写,github会把这个文件放在目录下面,并展示出来
  5. package.json 文件,该文件存储的是整个项目的依赖库的信息,还有npm 的一些设置,可以认为该文件是整个项目的最基础的配置文件
  6. package-lock.json 文件,该文件是package.json的辅助文件,用来记录更加详细的依赖库版本和库与库之间的关系,两者组合使用

Vue 前端项目结构

前端的几大模块

1. npm

  1. npm 是一个前端库的管理工具,与多数语言的包管理工具一样,功能相似,一般配有一个远程的官方的地方,包含所有的库
  2. npm 是nodejs的一个组成部分,nodejs 和 javascript 的关系
  3. nodejs 是一个解释器,也可以理解为一个javascript 的运行环境,浏览器自带一个解释器,不同的浏览器的解释器不同,chrome谷歌浏览器使用的是V8引擎,nodejs 是基于V8进行增强,舍弃了一些对浏览器的操作,增加了后端处理的功能
  4. nodejs需要安装到电脑中,方可使用

2. Typescript,ES6 ,Javascript

  1. typescript 是一种增强类型的面向对象的javascript语言,使用typescript的编译器可以将typescript翻译成JavaScript的代码,实质上都是javascript,不过是换了一种方式编写而已
  2. ES6, 全名为 ECMAScript6, 准确地来说,JavaScript是ECMAScript的别名,因为ECMAScript更加官方,感兴趣可以了解js 和ES的渊源
  3. 现在主流的javascript是ES5,ES6就是ES5的升级版本,现在主流的框架都是基于ES6进行开发,但ES6比较先进,很多浏览器还不支持,所以需要Babel库进行翻译,将ES6的代码翻译成ES5,然后再在浏览器上运行
  4. ES6 是JavaScript的重大更新,有兴趣可以继续了解ES6的语法

3. webpack

  1. 推荐观看视频,有一些前端基础的立马就知道用来干嘛的
  2. webpack 是为了解决文件引入过多,且不能通过编程来控制引入的库的问题的,以前为了引入js 文件需要写多个script标签,引入css文件需要写很多个style标签,但使用webpack将多个js文件和css文件打包在一个文件内,这样html页面就只需要引入一个文件
  3. 当然webpack的功能还不止这些,需要自行学习

4. eslint

  1. eslint 是一个代码风格检查工具,帮助团队协助时规范不同人员代码编写,可以强制控制代码结构

5. babel

  1. babel 是为了解决es6和浏览器不兼容的问题而诞生的,将ES6翻译为ES5,使得代码与浏览器能够兼容

6. css 相关的库

  1. less
  2. sess
  3. 两者都是对css进行改造,让css能够使用变量,流程控制语句等,像编程一样编写css,模块化设计

以上的这些,除css相关的以外,每一个都有相应的配置文件,学习这些需要有很多基础,基础打牢了才能走得更远

项目编写规范

  1. 在此处,eslint 需要重点强调,因为如果不会的话,eslint能从四面八方提醒你,叫你在某一行多加一个空格,异常难受

eslint 的主要功能

  1. 比javasript更严格的语法检查
  2. 各种标点符号,空格,缩进等代码风格的检查
  3. 使用插件控制不同前端框架的特定语法
  4. 恶心你

如何关闭它

  1. 直接在文件的开头使用注释,eslint 看到这条注释就会乖乖绕道走开

    • 查看详情
  2. 全局设置
    1. YourProject/build/webpack.base.conf.js 中找到搜索 config.dev.useEslint, 将这行注释
    2. 同理,在YourProject/config/index.js 下,有一个useEslint参数,将其改为 false
      [外链图片转存失败
    3. Yourproject/.eslintignore 文件中,在此文件中增加忽略的文件或文件夹

如何设置规则

  1. 如果你觉得不想关闭eslint,又不想被报错困扰,不如就学习一下eslint吧
  2. eslint 的规则包括两种,一种基本的一些配置,另一种是各种框架特有的配置

vue, react, angular 等框架特有的配置

  1. Yourproject/.eslintrc.js 中,找到plugins这一项,填写合适的插件名

    • https://s2.ax1x.com/2019/07/04/ZNHJc4.jpg
  2. 然后需要不同插件的官网查询详细的规则
    • Vue 插件
    • React 插件
    • Angular 插件
  3. 推荐模式和基础模式
    • 使用 vue/basevue/recommanded 来替代 vue这一项
    • 详情请访问官网查询

eslint 基础的一些规则

  • eslint 规则官网
  • 在上图的位置,rules这一项里面填写即可,不需要的可以直接注释掉
"off"或者0    //关闭规则关闭
"warn"或者1    //在打开的规则作为警告(不影响退出代码)
"error"或者2    //把规则作为一个错误(退出代码触发时为1)
  • eslint 规则基础使用

vue前端项目的结构以及组成部分相关推荐

  1. Vue前端项目【尚品汇】

    Vue前端项目[尚品汇] 1. 说明 2. 对项目创建 3.结构 4. 项目运行起来时,浏览器自动打开 5.关闭ESLint校验功能 5.路由分析 6.路由元信息 7. 路由传参 7.1 路由的跳转方 ...

  2. VUE项目学习(一):搭建VUE前端项目

    VUE项目学习(一):搭建VUE前端项目 1.安装node.js环境 (1)下载node.js,下载地址为:https://nodejs.org/en/ (2)按照默认选项安装node,检查安装版本 ...

  3. vue 前端项目部署阿里云服务器

    vue 前端项目部署阿里云服务器 one 前期准备 two 代码打包 扔服务器 one 前期准备 首先两个软件应该下载(Xftp Xshell),如果有其他类似的软件也可以. 打开xftp,新建一个会 ...

  4. html 项目 目录架构,前端项目目录结构规范.pdf

    前端项目目录结构规范 前前端端项项目目目目录录结结构构规规范范 简简介介 该文档主要的设计 目标是项 目开发的目录结构保持一致,使容易理解并方 构建与管理. 要要求求 在本文档中,使用的关键字会以中文 ...

  5. cmd搭建vue前端项目详细过程

    cmd 搭建vue前端项目 下载nods.js node.js下载(Windows版本) next 安装完毕! 配置node.js环境变量 进入找到Path进入 这里填你的node.js的安装路径 验 ...

  6. Vue前端项目-Vuex实战使用

    目录 1.创建 vue-cli 脚手架项目 2.安装 vuex 3.将 store 实例注册到 Vue对象 4. store 实例对象 5.将 store 分割成模块化(Module) 6.项目中的模 ...

  7. Vue前端项目自适应布局

    Vue前端项目自适应布局 一.单位尺寸 二.基于rem实现自适应布局 一.单位尺寸 px % vw.vh: 窗口 em: 针对父元素的font-size rem:"root em" ...

  8. 为什么vue前端项目要使用nodejs

    一.传统的JavaScript 传统的js是运行在浏览器上的,因为浏览器内核分为两个部分: 渲染引擎---渲染HTML和CSS, JavaScript 引擎---负责运行 JavaScript 随着技 ...

  9. B站云E办Springboot+vue——前端项目完整版(含源码)

    一.项目简介 项目背景:受疫情的影响,许多企业由线上办公转为线下办公.随着线上办公的人数的增多,线上办公的优点逐步凸显:通过实现工作流程的自动化.节省企业办公费用.实现绿色办公,同时提升办公效率. 项 ...

  10. vue php项目目录结构,vue的项目结构须知

    这次给大家带来vue的项目结构须知,vue项目结构须知的注意事项有哪些,下面就是实战案例,一起来看一下. 新建一个项目之后,我们来看一下项目的目录结构 几个主要文件的内容 index.html文件(入 ...

最新文章

  1. ginkgo测试介绍
  2. springboot web项目_Vue、Spring Boot开发小而完整的Web前后端分离项目实战12
  3. 4.5管道实现机制和模拟构建管道「深入浅出ASP.NET Core系列」
  4. Tcp keepalive详解
  5. Python一些很实用的知识
  6. 会返回两次_毅力号火星车上的这些采样管,十年后将返回地球
  7. Redis详解(三)——Redis持久化
  8. 呆瓜半小时入门python数据分析_金融和生物信息学多个实战案例
  9. Eclipse中文版代码自动补全设置
  10. android获取网络时间工具类,Android检测网络接口访问速度,ping接口获取访问时间平均值...
  11. 推荐多款好看的报表图表配色方案(适用于PPT,大屏可视化分析)
  12. Java 根据贷款年限对应的不同利率计算月供
  13. Vue实战篇一: 使用Vue搭建注册登录界面
  14. mysql中英文姓名按照首字母排序_mysql 汉字根据首字母排序
  15. [Clickhouse 入门到精通]-单机安装部署
  16. 还在为取快递而烦恼吗?智宇物联助力自动快递柜
  17. 有道云笔记如何修改全局默认字体样式
  18. HP Chromebox G1刷Coreboot Bios
  19. c语言如何初始化程序,浅谈C语言的初始化
  20. 学习《图说设计模式》建造者模式

热门文章

  1. 计算机组成原理期末复习【超实用】
  2. 数学建模算法体系分类
  3. 高等代数第3版下 [丘维声 著] 2015年版_书籍推荐 | 关于数学分析和高等代数
  4. java加密与解密(一)
  5. 软件著作权申请教程模板材料下载
  6. VsCode 配置java环境(详细教程)
  7. 基于大数据的消费者洞察
  8. ps怎么制作流体_PS制作流体效果的字体
  9. 小米平板2可以装鸿蒙系统,小米平板2为何不能再其他软件上下应用呢
  10. B站上这些Python和数据分析视频真香!