全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Vue使用vue-cli创建项目

本文介绍了Vue使用vue-cli创建项目,分享给大家,具体如下:

vue-cli 是一个官方发布vueJS项目脚手架:https://github.com/vuejs/vue-cli

我创建的模板项目:https://github.com/Aleczhang1992/my-vue-project/tree/dev



一、步骤

1.要求已安装Node.js (>=4.x, 6.x preferred) and Git.

可以设置cnpm可以提升依赖包下载速度:

npm install -g cnpm --registry=https://registry.npm.taobao.org

安装vue-cli

sudo npm install -g vue-cli

2.创建模板项目

命令格式:vue init <template-name> <project-name>

其中template-name是可选模板项,project-name是创建项目的名称。目前提供一下几种:


也可以使用自定义的模板,可以来自远端托管仓库或本地。

选用webpack模板项目:https://github.com/vuejs-templates/webpack

二、Mint_UI框架的使用

1.完整引入

在 main.js 中写入以下内容:

import Vue from 'vue'
import MintUI from 'mint-ui'
import 'mint-ui/lib/style.css'
import App from './App.vue'

Vue.use(MintUI)

new Vue({
 el: '#app',
 render: h => h(App)
})

以上代码便完成了 Mint UI 的引入。需要注意的是,样式文件需要单独引入。

2.按需引入

安装 babel-plugin-component:

npm install babel-plugin-component -D

将 .babelrc 修改为:

{
 "presets": [
  ["es2015", { "modules": false }]
 ],
 "plugins": [["component", [
  {
   "libraryName": "mint-ui",
   "style": true
  }
 ]]]
}

引入方式如下

import Vue from 'vue'
import { Button, Cell } from 'mint-ui'
import App from './App.vue'

Vue.component(Button.name, Button)
Vue.component(Cell.name, Cell)
/* 或写为
 * Vue.use(Button)
 * Vue.use(Cell)
 */

new Vue({
 el: '#app',
 render: h => h(App)
})

创建项目过程中有一下几个问题:

1.本地开发状态启动项目时,常会有代码空行、分号报错的问题。 原因:在创建项目时,选择了使用eslint语法校验。

2.引入样式报错问题,babel无法编译css文件。

Module not found: Error: Cannot resolve module 'mint-ui/style.css'

原因:全局引入需要引入样式,如果在.babelrc中设置过按需引入,则不要再专门引入css.


3.另外引入的组件要在自定义组件中注册,组件中嵌套的组件也要进行引用和注册。

4.非渲染dom组件无需写在模板内,也无需注册,可以直接调用使用。比如load的Indicator


三、vue-router的使用

github地址:https://github.com/vuejs/vue-router

在入口文件main.js中引入

import VueRouter from 'vue-router';
Vue.use(VueRouter);
//然后实例化一个router
const router = new VueRouter({
mode: 'history',
routes: routes
});

rotues是自己分配的路由设置;

四、使用vuex进行状态管理

vue的状态管理工具 vuex

下面简单介绍下vuex各个部分的概念

  • state是一个全局的状态存储,数据会存储在其中,vue组件可以直接访问其中的值,但是只可以读,不可以进行写操作
  • getter,有些时候我们需要对获取的数据进行加工,而不是直接获取state中的数据,这时候可以通过getter定义函数,返回对应的数据
  • mutations是vuex中唯一一个可以修改数据的地方,mutations可以定义事件函数,在vue组件中可以通过commit发射事件,调用函数。需要注意的是,mutations中的操作必须是同步的,不可以存在异步操作的情况。
  • actions和 mutation比较相似,不同的是actions中不直接修改state,而是通过commit调用mutations修改数据,而且actions中可以存在异步处理逻辑

使用vuex需要在Vue.use中引入,然后实例化一个Vuex.Store对象就可以了,对象中需要定义state,actions,mutations,getters等内容,这样子就可以建立一个全局的状态管理机制,可以从应用的顶端去处理数据,各个组件中对数据进行操作也是通过事件直接传递到Vuex中进行数据更新,然后再进行响应到其他使用同个数据的组件中,进行视图更新。




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


# vue-cli创建项目  # vue  # cli创建项目  # 使用vue  # 使用vue-cli创建项目的图文教程(新手入门篇)  # 五分钟教你使用vue-cli3创建项目(新手入门)  # vue使用vue-cli快速创建工程  # 使用vue-cli创建vue2项目的实战步骤详解  # 的是  # 是一个  # 不可以  # 可以通过  # 自定义  # 报错  # 需要注意  # 就可以  # 按需  # 会有  # 也要  # 中有  # 要在  # 下载速度  # 给大家  # 然后再  # 可以直接  # 几种  # 不要再  # 可以使用 


相关文章: 黑客入侵网站服务器的常见手法有哪些?  动图在线制作网站有哪些,滑动动图图集怎么做?  网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?  XML的“混合内容”是什么 怎么用DTD或XSD定义  如何选择服务器才能高效搭建专属网站?  如何快速搭建自助建站会员专属系统?  如何自定义建站之星网站的导航菜单样式?  高端云建站费用究竟需要多少预算?  如何在局域网内绑定自建网站域名?  定制建站流程步骤详解:一站式方案设计与开发指南  网站插件制作软件免费下载,网页视频怎么下到本地插件?  C#如何在一个XML文件中查找并替换文本内容  南宁网站建设制作定制,南宁网站建设可以定制吗?  建站OpenVZ教程与优化策略:配置指南与性能提升  免费制作海报的网站,哪位做平面的朋友告诉我用什么软件做海报比较好?ps还是cd还是ai这几个软件我都会些我是做网页的?  如何用景安虚拟主机手机版绑定域名建站?  建站之星如何快速生成多端适配网站?  如何快速查询网址的建站时间与历史轨迹?  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  历史网站制作软件,华为如何找回被删除的网站?  建站之星代理商如何保障技术支持与售后服务?  建站之星后台密码如何安全设置与找回?  如何选择香港主机高效搭建外贸独立站?  行程制作网站有哪些,第三方机票电子行程单怎么开?  东莞专业制作网站的公司,东莞大学生网的网址是什么?  ,有什么在线背英语单词效率比较高的网站?  如何通过二级域名建站提升品牌影响力?  如何快速生成橙子建站落地页链接?  制作农业网站的软件,比较好的农业网站推荐一下?  如何续费美橙建站之星域名及服务?  营销式网站制作方案,销售哪个网站招聘效果最好?  一键网站制作软件,义乌购一件代发流程?  Android使用GridView实现日历的简单功能  如何制作算命网站,怎么注册算命网站?  保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  如何选择适合PHP云建站的开源框架?  如何快速搭建支持数据库操作的智能建站平台?  网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?  建站之星伪静态规则如何正确配置?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  山东云建站价格为何差异显著?  小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建  制作旅游网站html,怎样注册旅游网站?  制作网站怎么制作,*游戏网站怎么搭建?  网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?  微信小程序制作网站有哪些,微信小程序需要做网站吗?  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  如何通过智能用户系统一键生成高效建站方案? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。