#前端# 万字总结!前端项目化超详细方法及思路!

#前端# 万字总结!前端整个项目超详细方法及思路!

文章目录

    • #前端# 万字总结!前端整个项目超详细方法及思路!
    • 第一部分:web/pc端
  • 一、项目开始前的准备工作
    • 1、vue-cli搭建开发环境
    • 2、新建vue项目文件
    • 3、vue项目目录解析
      • (1)vue项目目录全部版块解析
      • (2)vue项目常用版块解析及书写
    • 3、git使用
      • (1)git安装使用
      • (2)git 常用指令
      • (3)使用注意点
      • 3-1)如何通过git clone下载我们需要的代码?
  • 二、项目进行时(最开始)
    • 1、底层搭建
      • (1)配备全局的css/js(src-assets)
      • (2)配备http(src-assets/js)
    • 2、设置全局文档
      • (1)App.vue
      • (2)router路由的配备
      • (3)组件的使用(父子组件)
      • %: 子组件向父组件传值
      • %:父组件向子组件传值
  • 三、项目进行时(开始排版)
    • 1、文件标准化设置
      • (1)文件存放位置
      • (2)文件命名
      • (3)项目/代码规范
    • 2、排版常见问题
      • (1)页面组件
      • 1-1)头部 header
      • 1-1)导航栏 nav
      • 1-2)底部栏 footer
      • 1-3)轮播图 banner
      • 1-4)侧边栏 sidebar
      • 1-5)tab栏 (当前 态)
      • (2)常见小组件(可复用)
      • 2-1)个人登录页面-全部
      • 2-2)个人登录页面-左侧导航栏
      • 2-3)个人登录页面-右侧信息栏-修改昵称
      • 2-4)个人登录页面-右侧信息栏-修改头像
      • 2-5)个人登录页面-右侧信息栏-修改密码
      • 2-6)个人登录页面-右侧信息栏-校验邮箱
      • 2-7)个人登录页面-右侧信息栏-修改手机号
      • 2-8)个人登录页面-右侧信息栏-提交表单
      • 2-9)继续补充
      • (3)排版常见大坑
      • 3-1)css常用标签
      • 3-4)来回切换页面,数据错乱解决办法(watch)
      • 3-5)盒子里的数据可以上下滑动,滚动条隐藏
      • 3-6)点击tab,跳转到指定页面
      • 3-6)CSS页面底部固定
      • 3-6)继续补充
      • (4)动画(悬浮/上移/阴影等)
      • 4-1)鼠标移入时,切换样式/hover的使用(自身、父对子、子对父、兄弟)
      • 4-2)图片上移且有阴影
      • 4-3)文本超长时,展示为一行&省略号,并且用气泡展示全部文本
      • 4-4)鼠标的点击、移入、移出事件
      • 4-5)滑动加载
      • 4-6)继续补充
      • (5)语法常用技巧
      • 5-1)html
      • 5-2)CSS
      • 5-2-1)flex布局
      • 5-2-1)
      • 5-3)JS
      • 5-3-1)点击tab栏,跳转到指定的页面
      • 5-3-1)
      • 5-4)vue
      • 5-3-1)[vue知识大全](https://blog.csdn.net/unique_perfect/article/details/108820551)
      • 5-3-1)
      • (6)其他
    • 3、element的使用
      • (1) [使用安装](https://blog.csdn.net/acmman/article/details/112426303)
      • (2)[按需引入](https://blog.csdn.net/acmman/article/details/112724842)
      • (3)使用注意点
    • 4、库的使用
      • (1)Animate动画库
      • (2)Iconfont图标库使用
      • (3)蓝湖、json工具使用
      • (4)webstorm使用
  • 四、项目进行时(数据接口)
    • 1、网络接口
      • (1)[#vue# 超级详细步骤!vue项目封装网络请求接口思路及方法](https://blog.csdn.net/ZHENGCHUNJUN/article/details/117793066)
      • (2)接入数据后可全部刷新
      • (3)一些数据接口的技巧方法
  • 五、项目结束(bulid)
      • (1)打包项目
      • (2)域名切换

第一部分:web/pc端

一、项目开始前的准备工作

1、vue-cli搭建开发环境

跳转直接查看 ===> vue-cli搭建开发环境步骤

2、新建vue项目文件

跳转直接查看 ===>新建vue项目文件方法及步骤

3、vue项目目录解析

(1)vue项目目录全部版块解析

vue整个目录截图:
#前端# 万字总结!前端项目化超详细方法及思路!_第1张图片
以下为目录各个版块的解析:

1、build:构建脚本目录
#前端# 万字总结!前端项目化超详细方法及思路!_第2张图片

1)build.js ==> 生产环境构建脚本;

2)check-versions.js ==> 检查npm,node.js版本;

3)utils.js ==> 构建相关工具方法;

4)vue-loader.conf.js ==> 配置了css加载器以及编译css之后自动添加前缀;

5)webpack.base.conf.js ==> webpack基本配置;

6)webpack.dev.conf.js ==> webpack开发环境配置;

7)webpack.prod.conf.js ==> webpack生产环境配置;

2、config:项目配置

#前端# 万字总结!前端项目化超详细方法及思路!_第3张图片
1)dev.env.js ==> 开发环境变量;
#前端# 万字总结!前端项目化超详细方法及思路!_第4张图片
2)index.js ==> 项目配置文件;
#前端# 万字总结!前端项目化超详细方法及思路!_第5张图片
具体可查看#vue# 本地电脑如何配置host文件?

3)prod.env.js ==> 生产环境变量;

3、node_modules:npm 加载的项目依赖模块

4、src:这里是我们要开发的目录,基本上要做的事情都在这个目录里。
里面包含了几个目录及文件:

1)assets:资源目录,放置一些图片或者公共js、公共css。
这里的资源会被webpack构建;

2)components:组件目录,我们写的组件就放在这个目录里面;

3)router:前端路由,我们需要配置的路由路径写在index.js里面;

4)App.vue:根组件;

5)main.js:入口js文件;

5、static:静态资源目录,如图片、字体等。不会被webpack构建

6、index.html:首页入口文件,可以添加一些 meta 信息等

7、package.json:npm包配置文件,定义了项目的npm脚本,依赖包等信息

8、README.md:项目的说明文档,markdown 格式

9、.xxxx文件:这些是一些配置文件,包括语法配置,git配置等

(2)vue项目常用版块解析及书写

项目目录常用版块截图:#前端# 万字总结!前端项目化超详细方法及思路!_第6张图片
1)src 版块:

  • src ==> assets (内部配置) ==> css**(需要自己自行配置)
    #前端# 万字总结!前端项目化超详细方法及思路!_第7张图片

  • src ==> assets (内部配置) ==> js**(需要自己自行配置)
    #前端# 万字总结!前端项目化超详细方法及思路!_第8张图片

  • src ==> components (组件、可复用) ==> 组件文件夹**(需要自己自行配置)
    #前端# 万字总结!前端项目化超详细方法及思路!_第9张图片

  • src ==> page(页面) ==> 组件文件夹**(需要自己自行配置)
    #前端# 万字总结!前端项目化超详细方法及思路!_第10张图片

  • src ==> router ==> index

  • src ==> store ==> App.vue/main.js
    #前端# 万字总结!前端项目化超详细方法及思路!_第11张图片
    #前端# 万字总结!前端项目化超详细方法及思路!_第12张图片
    #前端# 万字总结!前端项目化超详细方法及思路!_第13张图片

3、git使用

(1)git安装使用

git的使用具体可查看:
#git#(代码管理工具)通俗易懂的用法
#git# 如何在git里创建一个项目?

(2)git 常用指令

#前端# 万字总结!前端项目化超详细方法及思路!_第14张图片

- 本地仓库:是在开发人员自己电脑上的Git仓库,存放我们的代码
(.git 隐藏文件夹就是我们的本地仓库)

  • 远程仓库:是在远程服务器上的Git仓库,存放代码
    (可以是github.com或者gitee.com 上的仓库,或者自己该公司的服务器)

  • 工作区: 我们自己写代码(文档)的地方

  • 暂存区: 在本地仓库中的一个特殊的文件(index) 叫做暂存区,
    临时存储我们即将要提交的文件

  • Clone:克隆,就是将远程仓库复制到本地仓库

  • Push:推送,就是将本地仓库代码上传到远程仓库

  • Pull:拉取,就是将远程仓库代码下载到本地仓库,并将代码 克隆到本地工作区

(3)使用注意点

  • #git# 一大避坑指令:git pull!
  • #git# git如何合并同步别人的分支?

3-1)如何通过git clone下载我们需要的代码?

情况:在远程仓库直接复制链接,一般是默认master分支,以及git clone +复制的地址,都是默认master, 但是我们提交的代码,一般是在其他分支,如果没有合并到master的话,master里面是没有东西的 所以我们在下载的时候,切记要进行切换到我们需要的那个分支里面
(通俗理解就是,我们的远程仓库相当于于一个放满零食的仓库,而我们就相当于整理零食的仓库整理员,那每个人都会负责相应的零食区域,而我们在只想要我们这个区域的零食,那当然也是把我们负责的这个区域的零食拿出来即可,如果想要别人的零食区域的东西,可以合并别人的东西,即系合并的别人的分支)
具体步骤如下:
(1) 在远程仓库里面,进行复制地址

(2)打开想要放置的文件夹里面,右键Git Bash Here
然后输入git clone -b +分支名 +远程仓库的地址
#前端# 万字总结!前端项目化超详细方法及思路!_第15张图片
(3)完成上面两步,就可以拿到项目的代码了,
在编辑器打开,记得先npm install一下就可以了

  • 1.1 环境配置
    当安装Git后首先要做的事情是设置用户名称和email地址
    这是非常重要的,因为每次Git提交都会使用该用户信息

#设置用户信息 
   git config --global user.name “itcast”
   git config --global user.email “[email protected]#查看配置信息
   git config --list
   git config user.name
   
#通过上面的命令设置的信息会保存在~/.gitconfig文件中

- 1.2 初始化本地仓库 init


# 初始化仓库带工作区
git init

# 初始化仓库不带工作区
git init --bare

- 1.3 克隆 clone


# 从远程仓库克隆
git clone 远程Git仓库地址 
例如: git clone https://gitee.com/itcast/gittest.git (shift+Ins)

-1.4 查看状态 status


# 查看状态
git status 

#查看状态 使输出信息更加简洁
git status –s 

- 1.5 add


# 将未跟踪的文件加入暂存区
git add  <文件名>  

# 将暂存区的文件取消暂存 (取消 add )
git reset  <文件名>  

- 1.6 commit


# git commit 将暂存区的文件修改提交到本地仓库
git commit -m "日志信息"  <文件名>  

- 1.7 从远程仓库获取代码


# 从远程仓库克隆
git clone <url> 

# 从远程仓库拉取 (拉取到.git 目录,不会合并到工作区,工作区发生变化)
git fetch  <shortname>  <分支名称>

# 手动合并  把某个版本的某个分支合并到当前工作区
git merge <shortname>/<分支名称>

# 从远程仓库拉取 (拉取到.git 目录,合并到工作区,工作区不发生变化) = fetch+merge
git pull  <shortname>  <分支名称>
git pull  <shortname>  <分支名称>  --allow-unrelated-histories  #  强制拉取合并

- 1.8 命令行-- 分支


# 默认 分支名称为 master
# 列出所有本地分支
git branch

# 列出所有远程分支
git branch -r

# 列出所有本地分支和远程分支
git branch -a

# 创建分支
git branch <分支名>

# 切换分支 
git checkout <分支名>

# 删除分支(如果分支已经修改过,则不允许删除)
git branch -d  <分支名>

# 强制删除分支
git branch -D  <分支名>

# 提交分支至远程仓库
git push <仓库简称> <分支名称> 
 
# 合并分支 将其他分支合并至当前工作区
git merge <分支名称>

# 删除远程仓库分支
git push origin –d branchName

二、项目进行时(最开始)

1、底层搭建

(1)配备全局的css/js(src-assets)

(2)配备http(src-assets/js)

2、设置全局文档

(1)App.vue

#前端# 万字总结!前端项目化超详细方法及思路!_第16张图片

(2)router路由的配备

#前端# 万字总结!前端项目化超详细方法及思路!_第17张图片
#前端# 万字总结!前端项目化超详细方法及思路!_第18张图片

(3)组件的使用(父子组件)

%: 子组件向父组件传值

组件传递过程:组件传值模板
也可以说这部分的内容是将组件的传递过程的关键代码给抽离出来了,
帮助大家更好的理解如何使用传值!
#前端# 万字总结!前端项目化超详细方法及思路!_第19张图片

子—>父
①属性emit

子组件:

1.利用插值表达式显示传递过去的数据:

<span>{{子组件数据}}</span>

2.将变量定义到data中

export default {

  data() {

    return {

      子组件数据: "子组件的数据"

    };

  },

}

3.点击事件进行传值,在template中添加组件:

<button @click="ok">OK</button>

4.向父组件传值,在methods下定义事件:

methods: {

    ok() {

      this.$emit("自定义事件", this.子组件数据);

    }

  }

};

父组件:

侦听自定义事件

1.利用插值表达式,将子组件传递过来的数据显示出来

<span>{{插值表达式}}</span>

2.将变量自定义到data中

export default {

data() {

    return {

      插值表达式: ""

    };

  },

};

3.父组件自定义方法侦听子组件传过来的值:

<子组件名称 @自定义事件="绑定的方法"></子组名称>

4.引用子组件:

import 子组件名称 from "子组件路径";

5.注册子组件,注册位置与methods同级:

components: {

    子组件名称

  },

6.在methods中侦听子组件传过来的值:

methods: {

    自定义事件(子组件数据) {

      this.插值表达式 = 子组件数据;

    }

  }

代码如下
父组件:

<template>
    <div class="header">

        <span>{{parseintMessage}}</span>
        <child @slist="plist"></child>


    </div>
</template>

<script>
import Child from './page/child'
export default {
    name: 'header',
    components: {Child},
    data() {
        return {
            parseintMessage:''
        }
    },
    methods: {
        plist(title) {
            this.parseintMessage = title;
        }

    }
}
</script>

<style scoped>

</style>

子组件:

<template>
    <span>{{插值表达式}}</span>
    <button @click="ok">点击</button>
</template>

<script>
export default {
    name: 'child',
    data() {
        return {
            title:'我是子组件里面的span标签',
        }
    },
    methods: {
        ok() {
            this.$emit("slist",this.title)
        }
    }
}
</script>

<style scoped>

</style>

%:父组件向子组件传值

点击查看教程>>>#vue# 【十三】 组件传值之父传子(超级通俗简单的思路!)

属性props
子组件利用props接收父组件传递过来的数据

指的是从外部设置的属性,需子组件设置props属性

注意:

props严格用于父组件与子组件之间的单向通讯,并且你不希望尝试直接在子组件中更改props的值。

否则,将收到类似这样的错误信息“避免直接修改某个prop,因为当父组件重新渲染时,该值将被覆盖” 这样的错误。

父组件:

1.点击事件进行传值,在template中添加组件

你可能感兴趣的:(前端体系(整个项目),web(pc端),大前端,javascript,vue.js,es6,webpack)