vue2.0开发实践总结之入门篇

vue2.0 据说也出了很久了,博主终于操了一次实刀。

整体项目采用  vue +  vue-router +  vuex (传说中的vue 全家桶),构建工具使用尤大大推出的vue-cli

项目是图片分享社交平台。  

项目预览:

 开发实践总结之入门篇-vuex2.0例子实践">

1 .vue-cli构建工具必知

我选用的vue-cli 是基于webpack的版本 ,不了解webpack的可以先粗略看下下面的基本知识

webpack 基本知识点:

entry:入口点,webpack会从入口点设置的js文件开始对项目进行构建,过程中,所有入口点通过import或者require依赖的包,都会被打包到output中制定的文件和路径;

output:中设置打包好的文件的输出路径还有文件名;

module:主要是loaders,loaders是webpack进行打包的解析器,css、vue、babel、scss都需要用npm安装相应的loader,webpack才能对该格式的文件进行解析和处理;

plugins:是一些webpack的打包插件,跟解析的语言无关,用来辅助构建,提供丰富的附加功能。 

vue-cli 安装

1). 首先,安装 vue-cli。(确保你有 node 和 npm)

npm i -g vue-cli

2).创建一个 webpack 项目并且下载依赖

vue init webpack demo 
cd demo 
npm i

3). 运行

npm run dev   
//npm run xxx 是执行配置在package.json中的脚本
e.g: 它会去找到package.json的scripts对象,执行node bulid/dev-server.js

4). 构建

npm run dev   //运行结束后,在当前目录下会在生成 dist 目录,将dist目录放在服务器上,使用服务器上访问index.html的url即可

若打包之后,项目的静态文件出现引用路径问题,可于项目目录 config/index.js 修改以下数据

module.exports = {
build:{  
assetsSubDirectory: 'static', //修改这里成你项目放置静态文件的目录
assetsPublicPath: './',  //修改这里成你项目放置静态文件的目录
} 
}

在静态文件 index.html 文件下, 引用静态文件

vue支持scss 配置

1).安装以下模块

npm install node-sass --save-dev 
npm install sass-loader --save-dev   
//--save-dev 会将该依赖写入package.json,方便别人安装依赖

2).打开webpack.base.config.js在loaders里面加上

{  
test: /\.scss$/,  
loaders: ["style", "css", "sass"]  
}

3).在需要用到scss的地方写上

<style lang="scss"> </style> 

2. 项目整体架构

项目整体目录如下

package.json

--build  
--config  
--dist //npm run build 之后再生成的目录 
--src   --components // 用于存放组件  
--page //页面组件,由vue-router引入  
--router //路由 
--store // 数据流管理  
main.js //入口文件  
app.vue //主组件  
--static //静态文件目录 
.babelrc  
.gitignore //git忽略上传文件 
index.html //静态文件入口

main.js

入口文件,主要作用是初始化vue实例并使用需要的插件

import Vue from 'vue' 
import router from './router/router' 
import store from './store/store'  
Vue.config.debug = true //开启debug模式 
window.log = console.log 
let data = {  
router,  
store 
} 
new Vue(data).$mount('#app')  
//创建一个app实例,并且挂载到选择符#app匹配的元素上 在根目录html里面

挂载到#app ,此处看一下尤大大给的生命周期图,以下的意思是,假如new vue 的时候,有显示的 el 属性

let data = {  
el:'#app',   
router,  
store 
}

则无须手动挂载到选择符#app匹配的元素上

 app.vue

app.vue是我们的主组件,所有页面都是在App.vue下进行切换的,由于app.vue在所有页面都有,我们将会在app.vue上面写一些初始化全局方法。

考虑到 组件 header,footer,loading动画基本整个项目都会使用到,app.vue代码如下


由于footer,loading在整个项目中会频繁地改变,故v-show

v-if   如果条件为false,它什么也不做,加载速度较快。当条件为真时,v-if 才会真正编译渲染页面结构
v-show 渲染页面结构后,通过 "display:none" 控制元素状态 

router    根据不同路由跳转目录,按需加载相应的组件

const routes = [  
{  
path: '/',  
component: App,  
children: [   
{path: '/index/:type', name: 'index', component: Index},
{path: '/home', name: 'home', component: Home},
{path: '/HomeUserInfo/:uid', name: 'homeUserInfo', component: HomeUserInfo},
{path: '/article/:id', name: 'article', component: Article},   
{path: '/addmsg', name: 'addMsg', component: AddMsg},
{path: '/search/:types', name: 'searchresult', component: SearchResult},
{path: '/login', name: 'login', component: Login},
{path: '/register', name: 'register', component: Register},
{path: '/modif', name: 'Modifi', component: Modifi},
{path: '/admin', name: 'Admin', component: Admin}  
]  
} 
] 
const router = new VueRouter({  
routes: routes, // short for routes: routes
linkActiveClass: 'active', // router-link的选中状态的class,也有一个默认的值
history: true
})

后续更新项目中遇到的难点,以及vuex使用~ 

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索文件
路由
vuex2.0例子实践、vue 最佳实践、vue组件化开发实践、vue实践、vue.js 最佳实践,以便于您获取更多的相关知识。

时间: 2024-07-31 13:24:41

vue2.0开发实践总结之入门篇的相关文章

vue2.0开发实践总结之入门篇_javascript技巧

vue2.0 据说也出了很久了,博主终于操了一次实刀. 整体项目采用  vue +  vue-router +  vuex (传说中的vue 全家桶),构建工具使用尤大大推出的vue-cli 项目是图片分享社交平台.   项目预览:   1 .vue-cli构建工具必知 我选用的vue-cli 是基于webpack的版本 ,不了解webpack的可以先粗略看下下面的基本知识 webpack 基本知识点: entry:入口点,webpack会从入口点设置的js文件开始对项目进行构建,过程中,所有入

vue2.0开发实践总结之疑难篇_javascript技巧

续上一篇文章:vue2.0 开发实践总结之入门篇 ,如果没有看过的可以移步看一下.  本篇文章目录如下: 1.  vue 组件的说明和使用 2.  vuex在实际开发中的使用 3.  开发实践总结  1.  vue 组件的说明和使用 一个组件实质上是一个拥有预定义选项的一个 Vue 实例 在header组件内部允许外部使用,需要导出属性,有2种导出方法 1.  默认导出(不用命名) export default { data () { return { msg: 'header' } } } 以

C#2.0泛型学习--入门篇

     最近频繁的接触到泛型方面的问题,所以也不得不来学习一下了,开始主要是在MSDN的WebCast上去下载教学录象看的(李建忠老师的),本篇文章先介绍一下泛型入门方面的知识,希望能让刚开始学习泛型的朋友能够更快的入门,言归正传,首先我们来看一下泛型的基本概念:      最显著的一点就是它参数化了类型,把类型作为参数抽象出来,从而使我们在实际的运用当中能够更好的实现代码的重复利用,同时它提供了更强的类型安全,更高的效率,不过在约束方面,它只支持显示的约束,这样在灵活性方面就显得不是那么好了

自定义vue2.0全局组件(上篇)

随着vue.js的发展,一些基于vue.js的框架如雨后春笋般出现在开发者面前(例如:Element-ui.Mint-ui).但是,无论哪一种框架都不可能完全满足项目需求,有时需要开发者自己编写自定义组件.那怎样编写自定义组件呢?今天,老K为大家分享一下自己常用的方法. 按钮是经常使用的组件之一.Element-ui中的按钮组件说明,如下图: 今天,我们就拿这个按钮组件为例为大家编写一个自己的按钮组件. 前期准备:node.js开发环境,npm包管理器或者cnpm包管理器(推荐cnpm,速度快)

.NET Remoting程序开发入门篇

程序 一.Remoting基础 什么是Remoting,简而言之,我们可以将其看作是一种分布式处理方式.从微软的产品角度来看,可以说Remoting就是DCOM的一种升级,它改善了很多功能,并极好的融合到.Net平台下.Microsoft? .NET Remoting 提供了一种允许对象通过应用程序域与另一对象进行交互的框架.这也正是我们使用Remoting的原因.为什么呢?在Windows操作系统中,是将应用程序分离为单独的进程.这个进程形成了应用程序代码和数据周围的一道边界.如果不采用进程间

Vuex2.0+Vue2.0构建备忘录应用实践_javascript技巧

一.介绍Vuex Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化,适合于构建中大型单页应用. 1.什么是状态管理模式?看个简单的例子: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content=&qu

059_《Delphi7.0+Rose项目开发实践》

<Delphi7.0+Rose项目开发实践> Delphi 教程 系列书籍 (059) <Delphi7.0+Rose项目开发实践> 网友(邦)整理 EMail: shuaihj@163.com 下载地址: Pdf 作者: 吕伟臣 周涛 丛书名: 程序员项目开发实例系列 出版社:科学出版社 ISBN:7030155734 上架时间:2005-6-28 出版日期:2005 年6月 开本:16开 页码:392 版次:1-1 内容简介 本书以delphi和rose软件结合的方式来阐述开发

《.NET 2.0面向对象编程揭秘》作者—金旭亮与您探讨.NET软件开发实践经验

问题描述 10月26日,CSDN将举办第二次SD俱乐部活动,活动邀请到拥有十多年的软件开发实践经验的北京理工大学计算机系教师--金旭亮,他将结合自己多年来的软件开发实践经验,现场编程展示实际软件开发过程,点出技术关键,并加以适当的扩充与引申,帮助程序员们加深对复杂编程技术的理解与把握,增强开发能力.[讲座主要内容]:[限制50人]第一部分从理论到实践(OOD,OOP,OOT的实例):这部分以一个支持括号与运算符优先级的四则运算器为实例,先在理论上设计出可行的计算机算法,紧接着将数据结构与算法转化

OceanBase 0.5版本开发实践

OceanBase 0.5版本开发实践 杨传辉 --整体架构回顾 --0.5架构升级 --0.5开发测试 --经验与后续规划 OceanBase 0.5版本开发实践