首页>>前端>>Vue->脚手架创建简易vue2项目和基础配置(自用)

脚手架创建简易vue2项目和基础配置(自用)

时间:2023-11-30 本站 点击:0

项目初始化

基于 vue-cli 初始化 Vue2 模板的项目

初始化 vue-cli 的核心步骤:

Manually select features

*() Choose Vue version**(选择版本)

*() Babel**(js编译器)

( ) TypeScript

( ) Progressive Web App (PWA) Support

*() Router**(l路由)

*() Vuex**

*() CSS Pre-processors**(css预处理器)

*() Linter / Formatter**(风格规范)

( ) Unit Testing

( ) E2E Testing

Choose a version of Vue.js that you want to start the project with (Use arrow keys)

2.x(vue2.0)

3.x

Use history mode for router? (Requires proper server setup for index fallback in production) (Y/n)

n (路由不选择history模式)

Pick a CSS pre-processor (PostCSS, Autoprefixer and CSS Modules are supported by default): (Use arrow keys)

Sass/SCSS (with dart-sass)

Sass/SCSS (with node-sass)

Less (css选择用less)

Stylus

Pick a linter / formatter config: (Use arrow keys)

ESLint + Airbnb config

ESLint + Standard config (eslint标准规范)

ESLint + Prettier

Pick additional lint features: (Pressto select, to toggle all, to invert selection)

*() Lint on save** (保存的时候)

( ) Lint and fix on commit (commit 提交的时候)

Where do you prefer placing config for Babel, ESLint, etc.? (Use arrow keys)

In dedicated config files (把东西另外放在专用的配置文件)

In package.json ( 把东西都放package.json里)

Save this as a preset for future projects? (y/N)

N (保存为未来项目的预置)

首次运行项目

目的:检查项目是否初始化成功。

cd 项目根目录

npm run serve

梳理项目结构

重置 src/router/index.js 路由模块中的代码

import Vue from 'vue'import VueRouter from 'vue-router'Vue.use(VueRouter)const routes = []const router = new VueRouter({  routes})export default router

清空 src/components 目录和 src/views 目录。

把资料目录下的 images 文件夹(项目中需要用到的图片)和 global.less(项目中用到的全局样式),复制粘贴到 src/assets 目录下。

配置 element-ui

目的:为了提高页面布局的开发效率,因为 element-ui 提供了很多常用的 UI 组件。

参照 element-ui 的官方文档,进行安装、配置、使用:https://element.eleme.io/#/zh-CN/component/installation

npm 安装

推荐使用 npm 的方式安装,它能更好地和 webpack 打包工具配合使用。

npm i element-ui -S

引入 Element

你可以引入整个 Element,或是根据需要仅引入部分组件。我们先介绍如何引入完整的 Element。

完整引入

在 main.js 中写入以下内容:

import ElementUI from 'element-ui';import 'element-ui/lib/theme-chalk/index.css';Vue.use(ElementUI);

配置 axios

目的:为后面请求数据做准备。

安装 axios

npm i axios -S

在 main.js 中导入 axios

import axios from 'axios'

设置 axios 的请求根路径

axios.defaults.baseURL = 'http://www.liulongbin.top:3008'

把 axios 挂载到 Vue.prototype 上

Vue.prototype.$http = axios

把项目上传到码云仓库

目标:能够使用远程仓库管理本地项目

把本地项目的 master 分支进行 commit 提交

在码云中新建空白远程仓库

把本地仓库的 master 分支上传到码云仓库中

注册功能

创建登录分支并切换到登录分支上

git checkout -b reg

reg 分支的合并与提交

把 reg 分支进行本地的提交:

git add .git commit -m "完成了注册功能的开发"

把本地的 reg 分支,推送到码云仓库:

git push -u origin reg

把本地的 reg 分支,合并到本地的 master 分支:

npm i element-ui -S0

把本地最新的 master 分支推送到码云的 master 分支:

npm i element-ui -S1

删除本地的 reg 分支,并且新建 login 分支,准备开发登录功能:

npm i element-ui -S2

脚手架注意项

npm i element-ui -S3

注册表单的校验

目标:在项目开发中,能够使用 Form 表单的必填项校验、正则验证和自定义校验规则。

注意:使用elementUI的表单验证必须设置以下几个属性

el-form: model rules

el-form-item: prop

el-input: v-model

定义用户名的校验规则:

npm i element-ui -S4

定义密码的校验规则:

npm i element-ui -S5

定义确认密码的校验规则:

npm i element-ui -S6

并在,在 data 函数中声明自定义校验规则 samePwd 如下:

npm i element-ui -S7

实现注册功能

目标:理解注册功能的实现步骤,今后在实际开发中,能够独自实现注册的功能

点击注册按钮时,进行表单的预验证:

npm i element-ui -S8

声明点击事件处理函数:

npm i element-ui -S9

表单校验通过之后,发起注册用户的请求:

import ElementUI from 'element-ui';import 'element-ui/lib/theme-chalk/index.css';Vue.use(ElementUI);0

把登录成功后的 token 记录到 vuex 中

目标:能够理解为什么要把 token 记录到 vuex 中,以及如何实现进行记录。

src/store/index.js 中,定义 token 数据,以及更新 token 的 updateToken mutation 函数:

import ElementUI from 'element-ui';import 'element-ui/lib/theme-chalk/index.css';Vue.use(ElementUI);1

Login.vue 组件中,也就是登录页面登录成功之后,调用 vuex 中的 updateToken 函数:

import ElementUI from 'element-ui';import 'element-ui/lib/theme-chalk/index.css';Vue.use(ElementUI);2

持久化存储 vuex 中的数据

目标:能够理解为什么要持久化存储 vuex 中的数据,以及如何实现持久化存储。

运行如下的命令,安装持久化存储 vuex 中数据的第三方包:

import ElementUI from 'element-ui';import 'element-ui/lib/theme-chalk/index.css';Vue.use(ElementUI);3

src/store/index.js 模块中,导入并配置 vuex-persistedstate 包:

import ElementUI from 'element-ui';import 'element-ui/lib/theme-chalk/index.css';Vue.use(ElementUI);4

登录成功后跳转到后台主页

Login.vue 组件中,登录成功时,通过编程式导航 API,跳转到后台主页:

import ElementUI from 'element-ui';import 'element-ui/lib/theme-chalk/index.css';Vue.use(ElementUI);5

退出登录

目标:在实际开发中,能够根据思路实现退出登录的功能

点击退出按钮时,提示用户是否退出登录:

import ElementUI from 'element-ui';import 'element-ui/lib/theme-chalk/index.css';Vue.use(ElementUI);6

在 methods 中定义 logout 函数如下:

import ElementUI from 'element-ui';import 'element-ui/lib/theme-chalk/index.css';Vue.use(ElementUI);7

原文:https://juejin.cn/post/7099077291443453960


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Vue/3795.html