创建Vue项目 以及引入Iview

来源:互联网 发布:mysql 5.1.55.tar.gz 编辑:程序博客网 时间:2024/05/23 20:02

创建Vue项目 以及引入Iview

官方文档

# 全局安装 vue-cli$ npm install --global vue-cli# 创建一个基于 webpack 模板的新项目$ vue init webpack my-project# 安装依赖,走你$ cd my-project$ npm install$ npm run dev
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

以上是vue官方文档中Vue.js 提供一个 官方命令行工具 创建vue项目的方法。

我创建Vue项目过程

$ vue init webpack vue-iview
  • 1
? Project name vue-iview? Project description A Vue.js project? Author yourname <youremail@example.com>? Vue build standalone? Install vue-router? Yes? Use ESLint to lint your code? Yes? Pick an ESLint preset Standard? Setup unit tests with Karma + Mocha? Yes? Setup e2e tests with Nightwatch? Yes   vue-cli · Generated "vue-iview".   To get started:     cd vue-iview     npm install     npm run dev   Documentation can be found at https://vuejs-templates.github.io/webpack
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
$ cd vue-iview/$ cnpm install$ npm run dev
  • 1
  • 2
  • 3

vue init webpack vue-iview 时我使用默认的选项,直接回车;这里使用cnpm 安装依赖

引入iview

src/main.js

// The Vue build version to load with the `import` command// (runtime-only or standalone) has been set in webpack.base.conf with an alias.import Vue from 'vue'import App from './App'import router from './router'import iView from 'iview'import 'iview/dist/styles/iview.css'    // 使用 CSSVue.config.productionTip = falseVue.use(iView)/* eslint-disable no-new */new Vue({  el: '#app',  router,  template: '<App/>',  components: { App }})
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

在main.js中添加了

import iView from 'iview'import 'iview/dist/styles/iview.css'    // 使用 CSSVue.use(iView)
  • 1
  • 2
  • 3

以上3行代码

iview 安装

$ cnpm install --save iview
  • 1

使用iview 组件

创建 src/components/LoginForm.vue

官方的组件代码缩进不符合要求,需要修改

<template>    <Form ref="formInline" :model="formInline" :rules="ruleInline" inline>        <FormItem prop="user">            <Input type="text" v-model="formInline.user" placeholder="Username">                <Icon type="ios-person-outline" slot="prepend"></Icon>            </Input>        </FormItem>        <FormItem prop="password">            <Input type="password" v-model="formInline.password" placeholder="Password">                <Icon type="ios-locked-outline" slot="prepend"></Icon>            </Input>        </FormItem>        <FormItem>            <Button type="primary" @click="handleSubmit('formInline')">登录</Button>        </FormItem>    </Form></template><script>export default {  data () {    return {      formInline: {        user: '',        password: ''      },      ruleInline: {        user: [          { required: true, message: '请填写用户名', trigger: 'blur' }        ],        password: [          { required: true, message: '请填写密码', trigger: 'blur' },          { type: 'string', min: 6, message: '密码长度不能小于6位', trigger: 'blur' }        ]      }    }  },  methods: {    handleSubmit (name) {      this.$refs[name].validate((valid) => {        if (valid) {          this.$Message.success('提交成功!')        } else {          this.$Message.error('表单验证失败!')        }      })    }  }}</script>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50

src/App.vue:

<template>  <div id="app">    <LoginForm></LoginForm>  </div></template><script>import LoginForm from './components/LoginForm'export default {  name: 'app',  components: {    'LoginForm': LoginForm  }}</script><style>#app {}</style>原文链接http://blog.csdn.net/seek_of/article/details/78387186
原创粉丝点击