针对刚学习vue和使用cli工具的
。项目地址javascript
npm install -g vue-cli // 全局安装 // 使用vue init建立基于webpack模板的项目 vue init webpack vue-demo // vue-demo为项目名 cd vue-demo // 安装成功后进入项目 npm install// 安装项目的依赖
下面简单看下项目结构:css
-- build // 项目构建(webpack)相关代码 | |-- build.js // 生产环境构建代码 | |-- check-version.js // 检查node、npm等版本 | |-- dev-client.js // 热重载相关 | |-- dev-server.js // 构建本地服务器 | |-- utils.js // 构建工具相关 | |-- webpack.base.conf.js // webpack基础配置 | |-- webpack.dev.conf.js // webpack开发环境配置 | |-- webpack.prod.conf.js // webpack生产环境配置 |-- config // 项目开发环境配置 | |-- dev.env.js // 开发环境变量 | |-- index.js // 项目一些配置变量 | |-- prod.env.js // 生产环境变量 | |-- test.env.js // 测试环境变量 |-- src // 源码目录 | |-- components // vue公共组件 | |-- store // vuex的状态管理 | |-- App.vue // 页面入口文件 | |-- main.js // 程序入口文件,加载各类公共组件 |-- static // 静态文件,好比一些图片,json数据等 |-- .babelrc // ES6语法编译配置 |-- .editorconfig // 定义代码格式 |-- .gitignore // git上传须要忽略的文件格式 |-- README.md // 项目说明 |-- index.html // 入口页面 |-- package.json // 项目基本信息
看到这么多当时的确很懵逼,这里只是简单介绍下,不少咱们开发过程当中都是忽略不会改动的,固然你也能够试着把每个都搞明白,初期彻底能够跳过,遇到重要的再单独学习。html
vue-router在项目生成的时候已经安装,配置路由主要在router
的index.js
中配置。
在compons中新增几个组件做为例子;
引用对应的组件,引用vue和vue-router模块;
而后使用配置路由的参数和对应的路径;vue
在App.vue中加入对应的路由地址<router-link to="路由地址"></router>
组件会渲染在<router-view></router-view>
中,更多详细配置及传递参数等,请查看router官方文档java
咱们能够发如今index.js
文件路径有一个@
符号,这是项目预先配置的路径别名,表示根目录下的src
目录,打开build
文件夹下的webpack.base.conf.js
能够看到
npm install vuex --save //初始默认是没安装的
我的总结vuex通俗就是全局的状态管理,能够看作是一种全局对象,固然不单单是这样。
看下官方文档的解释:node
一、Vuex 的状态存储是响应式的。当 Vue 组件从 store 中读取状态的时候,若 store 中的状态发生变化,那么相应的组件也会相应地获得高效更新。二、你不能直接改变 store 中的状态。改变 store 中的状态的惟一途径就是显式地提交 (commit) mutation。这样使得咱们能够方便地跟踪每个状态的变化,从而让咱们可以实现一些工具帮助咱们更好地了解咱们的应用webpack
仍是先看个简单的例子:ios
在src
目录下创建store
文件夹,新建index.js
。git
在main.js
中引用并注册store
,这样store
就能够在全局中使用了github
咱们在App.vue
和tab1.vue
中同时监听store
的变化,点击图中的button
咱们能够看到state
中count
的变化。
上图查看vuex
状态是vue devtools
开发工具,能够实时查看vue
项目的各类组件、数据、方法、状态等
vuex
会在浏览器刷新后重置
更多详细内容移步 vuex官方文档
再添加一个axios
,这样一个最简单的vue
+vue-router
+vuex
的全家桶就实现了2333
如上图所示咱们打开控制台进场看到有这样相似的警告,却不影响项目运行。其实这是eslint
实现的代码规范检查,看截图主要提示的一些代码之间的空格,符号的规范使用。不想使用能够在webpack.base.conf.js
将eslint-loader
的部分注释,好像如今的vue-cli
启动之后在8081
端口会有个不使用的eslint
的版本
html:pug
(原来叫jade)
css:sass(scss)
/less
/stylus
(我用的scss)
npm install pug pug-loader pug-filters --save-dev // 安装pug 及其依赖 npm install sass sass-loader node-sass --save-dev //安装scss及其依赖
而后编写一个实例的组件,template
中用lang="pug"
,style
中用lang="scss"
,而后App.vue
中注册并引用组件就能看到效果了(如今版本的vue-cli
中vue-loader
会自动对组件中每一个模块使用对应的loader)