zoukankan      html  css  js  c++  java
  • 个人博客网站上线

    历时两周时间,我自己的个人博客网站终于搭建完成了

    以后个人博客可能就转到自己搭建的博客网站了

    先说一下技术栈吧:

      前端:

    • Vue全家桶(Vue、VueRouter、Vuex)
    • Element-ui
    • axios

      后端:

    • NodeJs
    • express
    • MongoDB、mongoose
    • cors(允许跨域请求)

    后台管理界面:

     (请无视我这迷人的审美)基于ElementUI

    • 文章管理(新建/编辑/删除/评论)

    • 留言板管理

    • 时间线管理

    后续会更新完善更多的功能

    切换黑暗主题:

    数据存储到 Vuex 中,通过动态绑定 class 实现

    全局滚动条设置:

    /* 滚动条 */
      ::-webkit-scrollbar {
        width: 6px;
        height: 10px;
       }
       /* 滚动条上的滑块 */
      ::-webkit-scrollbar-thumb {
        background-color: #c1c4ce;
        border-radius: 3px;
      }

    没有使用插件,只是使用的原生样式,兼容性不是很好(后期完善)

    切换路由,页面重置回顶部

    当你的项目有多个路由时,假如你在首页滑动到了页面中间,点击进入文章详情页,会发现此时滚动条中滑块的位置也在中间

    这其实是vue本身的问题,vue是单页面应用,所谓路由改变其实本质上就是处于活跃状态的组件改变了而已,页面是没变的,滚动条上滑块的位置自然也没有变,所以会出现路由切换时滚动条未在顶部的情况

    我们可以在进入的页面组件中

    mounted(){
      this.$nextTick(() => {
        document.querySelector("#app").scrollTop = 0
      })
    },

    页面加载时出现顶部进度条

    用了nprogerss插件

    下载

    npm install nprogress --save

    router.js

    import NProgress from 'nprogress'  //顶部进度条
    import 'nprogress/nprogress.css'
    router.beforeEach((to, from, next) => {
      NProgress.start()  //开启
      next()
    })
    router.afterEach(() => {
      NProgress.done()  //关闭
    })

    切换路由的过渡动画

    淡入淡出的效果

    <transition name="fade" mode="in-out">
      <keep-alive include="Home">
        <router-view></router-view>
      </keep-alive>
    </transition> 
    .fade-enter {
      opacity:0;
    }
    .fade-leave{
      opacity:1;
    }
    .fade-enter-active{
      transition:opacity .5s;
    }
    .fade-leave-active{
      opacity:0;
      transition:opacity .5s;
    }

    然后就是开发-上线中遇到的一些困难

    1、在腾讯云购买的Ubuntu服务器登陆默认不是root用户,在后期项目上传服务器可能会提示权限不足,解决方案:

    先运行命令:

    sudo passwd root

    会提示输入密码,输入两次密码,然后运行:

    su root

    就能获得Ubuntu的最高权限

    2、在打包之后axios请求的路径会发生错误

    在本地开发时一直请求的是本地的后台地址,在上线之后会更改

    所以在vue-cli中创建 .env.development 文件配置开发环境和生产环境的网络接口

    然后使用 process.env.NAME ,这里的 NAME 就是在 .env.devlopment 文件中定义的开发环境变量

    3、在做数据请求时,我一般会先在 data 函数中先声明好属性,

       但是初始值需要与后台 mongoose 中模型的数据类型一致,

       否则数据可能会发生错误,这算是踩的一个小坑吧,在这里记录下来。

    暂时就想到这么多,最后附上新博客链接地址:http://lshblog.top(备用:http://cn.lshblog.xyz),欢迎大家多多评论,留言哦。

  • 相关阅读:
    go module配置
    beego conf配置文件
    go string类型的特性
    go语言简单介绍,增强了解
    beego项目和go项目 打包部署到linux
    第一个go程序
    linux下vim编辑器查找 关键字
    配置ngnix下的虚拟主机
    PHP中文无乱码截取
    #1040
  • 原文地址:https://www.cnblogs.com/Object-L/p/14009882.html
Copyright © 2011-2022 走看看