最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • Node系列学习之简单博客前台

    正文概述 掘金(前端二师兄)   2021-06-22   483

    这是我参与更文挑战的第21天,活动详情查看:更文挑战

    全局安装VueCli

    npm install -g @vue/cli
    

    初始化项目

    vue create tmier-blog
    

    Node系列学习之简单博客前台

    简单运行

    cd ./tmier-blog
    npm run serve
    

    看到下面这个界面便是运行成功, 项目初始化完成。

    Node系列学习之简单博客前台

    安装插件

    npm i element-ui axios
    

    Element使用

    src/main.js

    import Vue from 'vue'
    import App from './App.vue'
    import router from './router'
    import store from './store'
    // 完整引入Element-UI
    import ElementUI from 'element-ui';
    import 'element-ui/lib/theme-chalk/index.css';
    Vue.config.productionTip = false
    // Vue.use
    Vue.use(ElementUI);
    new Vue({
      router,
      store,
      render: h => h(App)
    }).$mount('#app')
    

    Axios二次封装

    src下新建 utils 文件夹, 然后新建 src/utils/request.js

    import axios from 'axios'
    const request = axios.create({
      baseURL: 'http://127.0.0.1:1996/', // 配置基础路径
      timeout: 1000 * 15,
      headers: {
        "Content-type": "application/json;charset=UTF-8",
      }
    })
    // 请求拦截器
    request.interceptors.request.use(
      request => {
        return request
      },
      error => {
        // 如果报错,对错误进行处理
      }
    )
    // 想要拦截器
    request.interceptors.response.use(response => {
      return response
    }, error => {})
    export default request
    

    然后在 src下新建 api 文件夹, 新建 src/api/login.js

    import request from '@/utils/request.js'
    export function LoginAPI (username, password) {
      return request({
        url: `/api/user/login`,
        data: {
          username,
          password
        }
      })
    }
    

    删改路由

    router/index.js

    import Vue from 'vue'
    import VueRouter from 'vue-router'
    import Home from '../views/Home.vue'
    
    Vue.use(VueRouter)
    
    const routes = [
      {
        path: '/',
        name: 'Home',
        redirect: {name: 'login'}
        // component: Home
      },
      {
        path: '/login',
        name: 'login',
        component: () => import('@/views/Login/index.vue')
      }
    ]
    
    const router = new VueRouter({
      routes
    })
    
    export default router
    

    src/views下新建 Login 文件夹, 并在其下新建 index.vue

    <template>
      <div class="tmier-login">
        <h1>登录</h1>
        <el-input class="tmier-login-input" v-model="username"></el-input>
        <el-input class="tmier-login-input" v-model="password" type="password"></el-input>
        <el-button type="primary" class="tmier-login-input" @click="clickLogin">登录</el-button>
      </div>
    </template>
    
    <script>
    //import x from ''
    import {LoginAPI} from '@/api/login.js'
    export default {
      components: {},
      data() {
        return {
          username: '',
          password: ''
        }
      },
      computed: {},
      methods: {
        async clickLogin() {
          await LoginAPI(this.username, this.password)
        }
      }
    }
    </script>
    
    <style lang='scss' scoped>
    //@import url()
    .tmier-login {
      width: 100%;
      height: 100%;
      text-align: center;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      .tmier-login-input {
        width: 300px;
        margin-bottom: 20px;
      }
    }
    </style>
    

    Node系列学习之简单博客前台


    起源地下载网 » Node系列学习之简单博客前台

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元