发布网友 发布时间:2024-10-01 02:14
共1个回答
热心网友 时间:2024-11-23 15:24
项目初始化基于vue-cli初始化Vue2模板的项目初始化vue-cli的核心步骤:
Manuallyselectfeatures
*()ChooseVueversion**(选择版本)
*()Babel**(js编译器)
()TypeScript
()ProgressiveWebApp(PWA)Support
*()Router**(l路由)
*()Vuex**
*()CSSPre-processors**(css预处理器)
*()Linter/Formatter**(风格规范)
()UnitTesting
()E2ETesting
ChooseaversionofVue.jsthatyouwanttostarttheprojectwith(Usearrowkeys)
2.x(vue2.0)
3.x
Usehistorymodeforrouter?(Requiresproperserversetupforindexfallbackinproction)(Y/n)
n(路由不选择history模式)
PickaCSSpre-processor(PostCSS,AutoprefixerandCSSMolesaresupportedbydefault):(Usearrowkeys)
Sass/SCSS(withdart-sass)
Sass/SCSS(withnode-sass)
Less(css选择用less)
Stylus
Pickalinter/formatterconfig:(Usearrowkeys)
ESLint+Airbnbconfig
ESLint+Standardconfig(eslint标准规范)
ESLint+Prettier
Pickadditionallintfeatures:(Presstoselect,totoggleall,toinvertselection)
*()Lintonsave**(保存的时候)
()Lintandfixoncommit(commit提交的时候)
WheredoyoupreferplacingconfigforBabel,ESLint,etc.?(Usearrowkeys)
Indedicatedconfigfiles(把东西另外放在专用的配置文件)
Inpackage.json(把东西都放package.json里)
Savethisasapresetforfutureprojects?(y/N)
N(保存为未来项目的预置)
首次运行项目目的:检查项目是否初始化成功。
cd项目根目录
npmrunserve
梳理项目结构重置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?regreg分支的合并与提交把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:modelrules
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的updateTokenmutation函数:
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