Vue实战学习经验
- webpack运行时是 npm run serve
Webpack3与之前的版本不同了语法不同
- vue组件中的style标签加上 lang=”less” 代表支持less语法 加上scoped表示这段css代码只在当前组件生效 否则全局生效
<style lang="less" scoped>
</style>
- 盒子在屏幕中中间不用计算px的那种
position: absolute;
left:50%;
top:50%;
transform:translate(-50%,-50%);
- flex新样式
display: flex;
justify-content: flex-end;//内容尾部对其相对于flex盒子
justify-content: space-between;//自动两边对齐
- element-ui的input的密码属性 show-password
可以让你增加一个自动显示或者关闭显示密码的小框框但是得配合v-model使用
- 表单预验证
csdn直接搜索
- Session 做登陆和退出功能
1.window.sessionStorage
(1).生命周期为关闭浏览器窗口(关闭浏览器之后,所存储的数据也就随之清空)
(2).以键值对形式存取使用
(3).在同一窗口(页面)下数据可以共享
//存储数据
sessionStorage.setItem(key,val)
//获取数据
sessionStorage.getItem(key)
//删除数据
sessionStorage.removeItem(key)
//清除所有数据
sessionStorage.clear()
- 登陆退出 跳转功能
1.验证账号密码正确以后设立session
sessionStorage.setItem("zhuangtai",1);
this.$router.push("/home"); //跳转
- 通过导航守卫在全局设置一个
router.beforeEach((to,from,next)=>{
console.log("跳转前");
if(to.path=="/login")return next();
let zhuangtai=window.sessionStorage.getItem("zhuangtai");
console.log(typeof zhuangtai);
if(zhuangtai=="1"){next()}
else{
next("/login");
}
})
- 退出功能 消除session
sessionStorage.clear();
- 左侧菜单栏跳转路由
给el-menu 标签加上 router属性 路由跳转的话将会根据里面的index值来跳转
- 给选中的菜单栏加上高亮标志显示当前是哪个路由
给el-menu 菜单标签加上这个属性
:default-active="this.$route.path"
11 项目优化
- 通过 vue ui 面板进行过 npm run build 打包功能
- 通过vue.vonfig.js文件进行项目优化
12 项目上线
app.use(express.static("./dist"))
在nodejs后端app.js文件中
13 项目开启gzip压缩
var compression=require("compression")
app.use(compression());
app.use(express.static("./dist"))
顺序不能错 先注册中间件 compression() 然后再进行托管静态资源