创建Vue项目 以及引入Iview

官方文档

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

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

我创建Vue项目过程

$ vue init webpack vue-iview
? Project name vue-iview
? Project de ion 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
$ cd vue-iview/
$ cnpm install
$ npm run dev

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. .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\'  // 使用 CSS

Vue.config.productionTip = false
Vue.use(iView)
/* eslint-disable no-new */
new Vue({
 el: \'#app\',
 router,
 template: \'<App/>\',
 components: { App }
})

在main.js中添加了

import iView from \'iview\'
import \'iview/dist/styles/iview.css\'  // 使用 CSS
Vue.use(iView)

以上3行代码

iview 安装

$ cnpm install --save iview

使用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>
< >
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(\'表单验证失败!\')
    }
   })
  }
 }
}
</ >

src/App.vue:

<template>
 <div id=\"app\">
  <LoginForm></LoginForm>
 </div>
</template>

< >
import LoginForm from \'./components/LoginForm\'
export default {
 name: \'app\',
 components: {
  \'LoginForm\': LoginForm
 }
}
</ >

<style>
#app {

}
</style>

补充:vue安装完iview后,启动项目,提示 in ./node_modules/dist/styles/iview.css 报错

打开 webpack. .conf.js,找到 test:/.css$/,添加includ项即可

{
  test:/\\.css$/,
  loader:\'style-loader!css-loader!stylus-loader\',
  include:[
   /src/,
   \'/node_modules/iview/dist/styles/iview.css\'
  ]
 }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

收藏 打印