Django + vue (二) vue项目创建

 一、vue环境安装

     1.  安装NodeJS, 下载地址为:http://nodejs.cn/download。下载安装,并把Node添加到系统环境变量里面,打开cmd命令,输入 npm -v可以看到版本号,说明安装NodeJS成功。

     

     然后执行npm install npm -g 命令进行升级(Linux下为sudo npm install npm -g

    2. 淘宝镜像 

        安装成功后,用cnpm替代npm命令,国内镜像,安装速度会快很多。

   3. 安装webpack

     

      webpack可以参考: http://www.runoob.com/w3cnote/webpack-tutorial.html

   4. 安装vue-cli

      安装vue脚手架项目初始化工具vue-cli, -g表示全局安装。

       

   5. 安装Yarn

      Yarn是Facebook发布的node.js包管理器,比npm更快、更高效,可以使用yarn替代npm。

     

    为yarn指定淘宝镜像。

                     yarn跟npm的关系如下:     

 二、vue项目创建

  1. 使用vue-cli来生成一个项目,比py-ui。      

 最后,选择yarn进行安装。然后,分别执行以下两个命令,启动web服务。

 

 运行后,结果是:

 在浏览器访问http://localhost:8080/

 vue启动正常。

三、安装Element

   Element是国内饿了么公司提供的一套开源前端框架,简洁优雅。

   关闭node.js的服务(Ctrl+C),在py-ui目录下,使用命令yarn add element-ui来安装。

    安装后,将element-ui导入项目中,在py-ui目录里,src目录下 main.js里添加语句,见下图红色数字1,2,3标出的语句。     

四、安装axios

     axios是一个基于Promise用于浏览器和Node.js的HTPP客户端。使用yarn add axios命令安装。  

五、安装babel-polyfill,解决Promise未定义的错误。

     其它浏览器会正常,但IE会报错,“Promise未定义”的解决:      

    然后在src目录下的main.js里 import "babel-polyfill"

六、安装SCSS 

     1.后续会用到SCSS编写页面样式,所以先安装好SCSS。这步的安装坑比较大,后来总结如下

     2. 安装好后,在builde文件夹下的webpack.base.conf.js文件的rules标签下添加配置:

     {
        test: /\.scss$/,
        loaders: ['style','css','sass']
     }

     使用时,在页面代码style标签中把lang设置成scss即可。后面的404.vue会展示。

七、修改页面路由

   1、将src目录下的components目录名改为views。添加页面First.vue、404.vue。

     First.vue代码如下:     

<template>
    <div class="page">
        <h2>Home Page</h2>        
        <el-button type="primary" @click="testAxios()">测试Axios调用</el-button>
    </div>
</template>
<script>

import axios from 'axios'
export default {
    name:'First',    
    methods:{
        testAxios(){
            axios.get('http://localhost:8080').then(res=>{alert(res.data)})
        },
    }     
}
</script>

     404.vue代码如下:   

<template>
    <div class="site-wrapper.site-page--not-found">
    <div class="site-content__wrapper">
      <div class="site-content">
        <h2 class="not-found-title">404</h2>
        <p class="not-found-desc">抱歉!您访问的页面<em>失联</em>啦 ...</p>
        <el-button @click="$router.go(-1)">返回上一页</el-button>
        <el-button type="primary" class="not-found-btn-gohome" @click="$router.push('/')">进入首页</el-button>
      </div>
    </div>
  </div>
</template>
<script>

export default {
    name:'404'
}
</script>

<style lang="scss">
  .site-wrapper.site-page--not-found {
    position: absolute;
    top: 60px;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden;
    .site-content__wrapper {
      padding: 0;
      margin: 0;
      background-color: #fff;
    }
    .site-content {
      position: fixed;
      top: 15%;
      left: 50%;
      z-index: 2;
      padding: 30px;
      text-align: center;
      transform: translate(-50%, 0);
    }
    .not-found-title {
      margin: 20px 0 15px;
      font-size: 8em;
      font-weight: 500;
      color: rgb(55, 71, 79);
    }
    .not-found-desc {
      margin: 0 0 30px;
      font-size: 26px;
      text-transform: uppercase;
      color: rgb(118, 131, 143);
      > em {
        font-style: normal;
        color: #ee8145;
      }
    }
    .not-found-btn-gohome {
      margin-left: 30px;
    }
  }
</style>

  2. 配置路由

     打开router/index.js添加两个路由,分别对应主页和404页面。     

import Vue from 'vue'
import Router from 'vue-router'
import First from '@/views/Home'   //新添加的路由 
import Lost from '@/views/404'     //新添加的路由
Vue.use(Router)

export default new Router({
  routes: [
    {
      path: '/',
      name: 'First',
      component: First
    },
    {
      path: '/404',
      name: 'Lost',
      component: Lost
    }
  ]
})

 在py-ui目录下执行npm run dev命令。发现有问题,索性就把第六步第1小步重新安装一遍,然后再装一次axios(cnpm install --save axios),搞定。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值