问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间: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

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 vue-admin-tamplate项目 Quasar CLI 框架 Vuex 入门教程(2018年) 为什么有的电话接通了,却一直没有声音 为什么电话打进来,没声音。 现在剑网三新手玩什么职业比较好 棉拖鞋属于哪类垃圾 扬州哪个幼儿园招后勤 孙道林渡江侦察记是主演吗 度江侦察记电影全剧演员表 iOS开发 经典错误之 library not found for -xxxl 或'xxx.h'file not... 喜欢小动物的人心肠软,不喜欢小动物的人心肠硬,你同意这个观点吗? 男孩子为什么喜欢小动物? 恐龙有哪些?10种以上!我还需要详细资料。谢谢! 【职场技能】自媒体行业的“两微一抖” 两微一抖是指什么意思 两微一端一号一抖 两微一抖是指什么 女人决定放弃一个男人的说说 退出一段感情的句子 女人抛弃男人的句子 形容一个被老婆抛弃的男人的词或句子 女人霸气甩男人的句子 豆芽和什么一起炒最有营养 生日快乐歌下载微信生日快乐歌下载mp3 10至19世纪中叶,与欧洲相比中国科技水平所处的地位发生了什么变化 女生运动一分钟心跳多少下,呼吸多少次 一秒脉搏能跳多少次 正常时候心跳1秒两下,没吃早饭的话跑几步一秒就有三下左右而且很重,现... 清晨文案短句 早晨美好的文案短句 和好友用手机QQ视频,不想听到任何声音,只想看到对方,该怎么关声音呀... 追逐阳光的少年是谁唱的? 早安最美一句话(150句) 为什么苹果耳机能听到声音麦克风没声音? 葛家庄村属于哪个省哪个市 我家的耳机能听到声音,但是麦克风没有声音 耳麦插上去了! 可是麦克风不能讲话!耳机能听到声音怎么调? 如果在行驶过程中前轮突然爆了,应该采取什么有效的应急措施? 2000元左右15匹空调哪个牌子好推荐8款空调 人在路边,大卡车车轮脱落,因轮胎爆炸,车轮钢圈飞出撞到路边人大腿,造成... 格力空调1000元以内的型号推荐? 我把手机内置的字体给弄丢了 怎么办 2021正能量网名