vue-cli
是vue官方提供的快速搭建项目的工具,只是知道可以用vue-cli直接生成一个vue项目的架构,它能帮你配置好各个
loader
,plugin
,vue-router
,vuex
等等,在,省去自我配置的麻烦,而且在配置的过程中自动安装好eslint
代码检查和unit
单元测试以及e2e
端对端测试工具,十分方便。
- 安装
vue-cli
,全局安装
$ cnpm i vue-cli -g
-
vue-cli
创建项目
$ vue init project
vue-router
其实在由
vue-cli
在创建vue项目时就可以默认安装vue-router
,也可由npm后续安装,在main.js引入。具体使用方法请看相关文档vue-router,Vue Router 是 Vue.js 官方的路由管理器。它和 Vue.js 的核心深度集成,让构建单页面应用变得易如反掌。
import router from './router'
new Vue({
el: '#app',
router,
components: { App },
template: '<App/>'
})
vuex
由
vue-cli
在创建vue项目时就可以默认安装vuex
,:每一个 Vuex 应用的核心就是 store(仓库)。“store”基本上就是一个容器,它包含着你的应用中大部分的状态 (state)。Vuex
和单纯的全局对象有以下两点不同:
- Vuex 的状态存储是响应式的。当 Vue 组件从
store
中读取状态的时候,若store
中的状态发生变化,那么相应的组件也会相应地得到高效更新 - 你不能直接改变
store
中的状态。改变store
中的状态的唯一途径就是显式地提交 (commit
)mutation
。这样使得我们可以方便地跟踪每一个状态的变化,从而让我们能够实现一些工具帮助我们更好地了解我们的应用
当然vuex缺点也很明显,虽然它加强类组建之间的通信,异步通信,但是却降组件对应用对耦合度,有时候你甚至找寻组件数据具体从哪来也是一件麻烦对事情。看vuex文档
axios
axios为vue官方网络框架,我还有写一篇文章是如何对axios进行拦截请求和响应。axios封装拦截器,具体api与隔壁
react
的fetch
十分相似。它底层由promise
实现。
vue UI框架
-
element-ui
饿了吗出品,十分适合后台管理网站快速搭建 -
mint-ui
也是由饿了吗,适合移动手机端应用搭建 -
iview
一个组件很全的ui框架 -
quasar
十分又没,功能更齐全的手机端ui框架
ui框架市面上有很多,大部分功能差不了太多,也要看自己或公司项目的需要了。
nuxt
毕竟spa单页面应用缺点也是非常明显,比如首屏加载速度慢,当然我们可以优化,向前看我写过单一篇文章单页面应用首屏加载优化,还有
seo
优化非常差,对于某些大型网站单页面面应用也不合适,所以就有ssr服务端渲染应用,其中nuxt
就是官方推荐的框架https://zh.nuxtjs.org/。里面配置也简单,脚手架功能齐全。