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),欢迎大家多多评论,留言哦。

  • 相关阅读:
    MSSQL大量数据时,建立索引或添加字段后保存更改超时该这么办
    POJ 3261 Milk Patterns (后缀数组)
    POJ 1743 Musical Theme (后缀数组)
    HDU 1496 Equations (HASH)
    694. Distinct Substrings (后缀数组)
    POJ 1222 EXTENDED LIGHTS OUT (枚举 或者 高斯消元)
    POJ 1681· Painter's Problem (位压缩 或 高斯消元)
    POJ 1054 The Troublesome Frog (hash散列)
    HDU 1716 排列2
    HDU 4405 Aeroplane chess (概率DP & 期望)
  • 原文地址:https://www.cnblogs.com/Object-L/p/14009882.html
Copyright © 2011-2022 走看看