前言
随着vue在前端不断的壮大起来,越来越多的前端工程师使用vue了,作为大型项目的开发,vue-cli是不二之选,所以这篇博客是为搭建vue-cli所写,想要搭建vue-cli项目就必须先有git,node.js,webpack,等工具,这些工具的内容我就不提供了,网上的教程也一大堆,在这里我就默认你已经安装了这些内容。
git地址:https://git-scm.com/
node.js地址:http://nodejs.cn/
本章目标
- 学会使用webstorm搭建vue-cli项目
项目搭建
然后下面这一段可能会比较久
是否选择vue-router,这里我们选择是,待会后面会用到
是否使用eslint检查,这里我们选择否
是否选择单元测试,这里我们也选择否
是否选择e2e测试,这里我们选择是
是否使用npm包管理器
然后项目就搭建完成了,接下来我们需要选择安装包
假如您的网速比较慢的话,我们可以在控制台中输入 cnpm install
当所有安装包下载完成之后我们就可以启动我们的项目了
在地址拦输入http://localhost:8088,如何出现如下界面,那么恭喜你搭建成功了
接下来,我们对vue-cli中的各个项目进行分析,方便我们以后的开发中能够更好的进行管理
项目目录:
|-- 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数据等 | |-- data // 群聊分析得到的数据用于数据可视化 |-- .babelrc // ES6语法编译配置 |-- .editorconfig // 定义代码格式 |-- .gitignore // git上传需要忽略的文件格式 |-- README.md // 项目说明 |-- favicon.ico |-- index.html // 入口页面 |-- package.json // 项目基本信息
测试案例
如果项目构建成功之后,那么接下来就开发我们自己的项目,在这里我就做一个小案例,方便大家理解和应用,那么我们接下来的这个案例是关于vue路由的使用,首先我们在src/components目录下构建三个组件componentA,componentB,componentC,结构如下:
ComponentA代码如下:
<template>
<div>
<h1>{{msg}}</h1>
</div>
</template>
<script>
export default {
name: \'ComponentA\',
data(){
return{
msg:\'这是组件A\',
}
}
}
</script>
<style scoped>
h1{
color: red;
}
</style>
ComponentB代码如下:
<template>
<div>
<h1>{{msg}}</h1>
</div>
</template>
<script>
export default {
name: \'ComponentB\',
data(){
return{
msg:\'这是组件B\',
}
}
}
</script>
<style scoped>
h1{
color: yellow;
}
</style>
ComponetC代码如下:
<template>
<div>
<h1>{{msg}}</h1>
</div>
</template>
<script>
export default {
name: \'ComponentC\',
data(){
return{
msg:\'这是组件C\',
}
}
}
</script>
<style scoped>
h1{
color:blue;
}
</style>
三个组件构建完成之后,我们修改src/router/index.js,在这里我们引入我们定义的三个组件,实例代码如下:
import Vue from \'vue\'
import Router from \'vue-router\'
import Hi from \'@/components/HiComponent\'
import A from \'@/components/ComponentA\'
import B from \'@/components/ComponentB\'
import C from \'@/components/ComponentC\'
Vue.use(Router)
export default new Router({
routes: [
{
path: \'/\',
name: \'hi\',
component: Hi,
},
{
path: \'/a\',
name: \'A\',
component: A,
},
{
path: \'/b\',
name:\'B\',
component:B,
},
{
path:\'/c\',
name:\'C\',
component:C,
}
]
})
我们修改index.html中的相关内容,代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>project_03</title>
</head>
<body>
<div id="app">
<ul>
<li>
<a href="#/a">这是组件A</a>
</li>
<li><a href="#/b">这是组件B</a></li>
<li><a href="#/c">这是组件C</a></li>
</ul>
<!--router-view主要是构建 SPA (单页应用) 时,方便渲染你指定路由对应的组件。你可以 router-view 当做是一个容器,它渲染的组件是你使用 vue-router 指定的。-->
<router-view></router-view>
</div>
<!-- built files will be auto injected -->
</body>
</html>
最后一步,也是最重要的一步,小编自己也会经常犯这个错误,我们需要修改scr/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 router from \'./router\'
Vue.config.productionTip = false
/* eslint-disable no-new */
new Vue({
el: \'#app\',
router,
components: {},//重点
template: \'\' //重点
})