[转]从零构建vue2+vue-router+vuex开发环境到入门,实现基本的登录退出功能(代码片段)

chris-oil chris-oil     2023-01-16     602

关键词:

这是一个创建于 738 天前的主题,其中的信息可能已经有所发展或是发生改变。

前言

vue2 正式版已经发布将近一个月了,
国庆过后就用在了公司的两个正式项目上,
还有一个项目下个月也会采用 vue2 进行重构
选择它没什么理由,如果非要说一个理由
那就是它的中文文档远比 react , angularjs 要友好

github:https://github.com/lzxb/vue2-demo

源码说明

项目目录说明

.
|-- config                           // 项目开发环境配置
|   |-- index.js                     // 项目打包部署配置
|-- src                              // 源码目录
|   |-- components                   // 公共组件
|       |-- header.vue               // 页面头部公共组件
|       |-- index.js                 // 加载各种公共组件
|   |-- config                       // 路由配置和程序的基本信息配置
|       |-- routes.js                // 配置页面路由
|   |-- css                          // 各种 css 文件
|       |-- common.css               // 全局通用 css 文件
|   |-- iconfont                     // 各种字体图标
|   |-- images                       // 公共图片
|   |-- less                         // 各种 less 文件
|       |-- common.less              // 全局通用 less 文件
|   |-- pages                        // 页面组件
|       |-- home                     // 个人中心
|       |-- index                    // 网站首页
|       |-- login                    // 登录
|       |-- signout                  // 退出
|   |-- store                        // vuex 的状态管理
|       |-- index.js                 // 加载各种 store 模块
|       |-- user.js                  // 用户 store
|   |-- template                     // 各种 html 文件
|       |-- index.html               // 程序入口 html 文件
|   |-- util                         // 公共的 js 方法, vue 的 mixin 混合
|   |-- app.vue                      // 页面入口文件
|   |-- main.js                      // 程序入口文件,加载各种公共组件
|-- .babelrc                         // ES6 语法编译配置
|-- gulpfile.js                      // 启动,打包,部署,自动化构建
|-- webpack.config.js                // 程序打包配置
|-- server.js                        // 代理服务器配置
|-- README.md                        // 项目说明
|-- package.json                     // 配置项目相关信息,通过执行 npm init 命令创建
.

开发环境依赖模块说明

webpack 相关模块

webpack                               // 用来构建打包程序
webpack-dev-server                    // 开发环境下,设置代理服务器
html-webpack-plugin                   // html 文件编译
url-loader                            // 图片  转化成 base64 格式
file-loader                           // 字体  将字体文件打包
css-loader                            // css  生成
less                                  // css  预处理器 less
less-loader                           // css  预处理器 less 的 webpack 插件
style-loader                          // css  插入到 style 标签
autoprefixer-loader                   // css  浏览器兼容性问题处理
babel-core                            // ES6  代码转换器
babel-loader                          // ES6  代码转换器, webpack 插件
babel-plugin-transform-object-assign  // ES6  Object.assign 方法做兼容处理
babel-preset-es2015                   // ES6  代码编译成现在浏览器支持的 ES5
babel-preset-stage-0                  // ES6  ES7 要使用的语法阶段
vue-loader                            // vue  组件编译
babel-helper-vue-jsx-merge-props      // vue  jsx 语法编译
babel-plugin-syntax-jsx               // vue  jsx 语法编译
babel-plugin-transform-vue-jsx        // vue  jsx 语法编译

gulp 相关模块

gulp                                  // 用来构建自动化工作流
gulp-sftp                             // 将代码自动部署到服务器上
del                                   // 代码部署成功后,删除本地编译的代码

其他模块

cross-env                             // 解决跨平台设置 NODE_ENV 的问题

生产模块依赖说明

vue 全家桶

vue                                   // 构建用户界面的
vue-router                            // 路由
vuex                                  // 组件状态管理

页面说明

/login                                // 登录,不需要登录可以访问
/signout                              // 退出登录,需要登录后才可以访问
/home                                 // 个人中心,需要登录后才可以访问
/                                     // 首页,不需要登录可以访问
*                                     // 强制跳转到登录页面

运行程序

npm install
npm run dev
http://localhost:3000/app/

开发教程

1.安装开发环境

vs code https://code.visualstudio.com

开发时所用的编辑器,内置了终端,开发时使它执行命令运行程序

Node.js https://nodejs.org

JS 服务器端的运行环境,内置 npm 包管理器,管理项目依赖的各种模块,编译代码,自动部署到服务器就全靠他了

2.安装全局模块

webpack

npm install -g webpack

webpack 是一款模块加载器兼打包工具,它能把各种资源,例如 JS (含 JSX )、 coffee 、样式(含 less/sass )、图片等都作为模块来使用和处理

gulp

npm install -g gulp

gulp 是一个自动化构建工具,开发者可以使用它在项目开发过程中自动执行常见任务

3.创建项目

创建项目目录,并且在项目目录下执行命令,初始化 package.json 文件
npm init

4.安装开发环境依赖模块 npm install --save-dev 模块名

npm install --save-dev webpack webpack-dev-server html-webpack-plugin url-loader file-loader css-loader less less-loader style-loader autoprefixer-loader babel-core babel-loader babel-plugin-transform-object-assign babel-preset-es2015 babel-preset-stage-0 vue-loader babel-helper-vue-jsx-merge-props babel-plugin-syntax-jsx babel-plugin-transform-vue-jsx gulp gulp-sftp del cross-env

5.安装生产环境依赖模块 npm install --save 模块名

npm install --save vue vue-router vuex

5.搭建开发环境

6.测试编译

src/template/index.html

<!DOCTYPE html>
<html lang="en">

<head>
	<meta charset="UTF-8">
	<title>vue2-demo</title>
</head>

<body>
</body>

</html>

src/main.js

alert(‘test‘)
1.运行程序执行命令: npm run dev
2.然后打开网址: http://localhost:3000/app/
3.如果浏览器弹出 test ,说明我们的开发环境已经搭建通过。

package.json 自定义命令说明

npm run dev      开发环境
npm run dev:test 将代码打包到测试服务器
npm run dev:dist 将代码打包到正式服务器

使用vue-router2实现路由功能

...自:http://blog.csdn.net/sinat_17775997/article/details/54710420注意:vue-router2只适用于Vue2.x版本,下面我们是基于vue2.0讲的如何使用vue-router2实现路由功能。推荐使用npm安装。npminstallvue-router一、使用路由在main.js中,需要明确安装路由功能... 查看详情

vue从零搭建一个vue项目

...界面,说明成功​编辑1、安装路由(vue2只能安装3版本的vue-router)编辑看一下这个文件有vue-router代表安装成功编辑2、配置路由(1、创建router文件夹编 查看详情

vue 2.0 和 vue-router 2.0 构建 SPA,router-view 没有更新

】vue2.0和vue-router2.0构建SPA,router-view没有更新【英文标题】:vue2.0andvue-router2.0buildSPA,router-viewdidnotupdate【发布时间】:2017-03-1408:54:25【问题描述】:使用vue2和vue-router2和vuex2构建单页应用,但不要更新/src/main.jsimportVuefrom\'vue\'impor... 查看详情

??基于vue2+vuex+vue-router构建的移动端微应用(代码片段)

vue-mobile-starterViewREADMEinEnglish基于vue2+vuex+vue-router构建的移动端单页微应用,适合于vue2、vuex、vue-router核心概念的理解与掌握。前言做这个项目的初衷其实很简单,我司之前一直用angular、react进行PC端项目的开发,但是最近新开展... 查看详情

vue2.5开发去哪儿网app从零基础入门到实战项目

第1章课程介绍本章主要介绍课程的知识大纲,学习前提,讲授方式及预期收获。第2章Vue起步本章将快速讲解部分Vue基础语法,通过TodoList功能的编写,在熟悉基础语法的基础上,扩展解析MVVM模式及前端组件化的概念及优势。第3... 查看详情

07vue之vue-router

注意:[email protected]只适用于Vue2.x版本。[email protected]对应于Vue1.x版本。的Github地址:vue-router文档地址7.2.vue-router的安装使用CDN连接方式https://unpkg.com/vue-router/dist/vue-router.jsnpm安装npminstallvue-router7.3.vu 查看详情

[vue]vue-router(代码片段)

-了解spa页面跳转方式:(2种)spa:单页跳转方式开发(hash模式):https://www.baidu.com/#2313213生产(h5利于seo):history.pushState('','','/test');只更改url,不会刷新,手动刷新后可能会404npminstallvuevue-routeraxiosbootstrap-vu 查看详情

vue2.0快速构建项目

...载npm包$npminstall//运行$npmrundev//发布$npmrunbuild//还需要安装vue-router vue-resource这 查看详情

vue2.0学习-vue-router(代码片段)

vue2.0学习(五)-Vue-router由于Vue在开发时对路由支持的不足,后来官方补充了vue-router插件,它在Vue的生态环境中非常重要,在实际开发中只要编写一个页面就会操作vue-router.要学习vue-router就要先知道这里的路由是什么?这里的路由并不是... 查看详情

从零开始,用elementui躺坑vue-router原理分析

上一篇,小编讲到在vue-router中是通过mode这一参数控制路由的实现模式的。今天就让我们深入去观摩vue-router源码是如何实现路由的路由起源-后端路由路由这个概念最先是后端出现的。在以前用模板引擎开发页面时,经常会看到... 查看详情

vue2.0实战项目vue-router

Vue-router本次实战项目所使用的Vue-router版本是2.3.1首先在main.js中引入Vue-router,importVuefrom‘vue‘;importRouterfrom‘vue-router‘;//如果在一个模块化工程中使用它,必须要通过Vue.use()明确地安装路由功能://如果使用全局的script标签,则... 查看详情

vue路由的使用

...在使用vueinitwebpack项目名称构建的时候会提示你是否安装vue-router,选择Y即可。 如果在初始时没有安装路由:npminstallvue-router 并在模块中引入vue-router:importVuefrom‘vue‘importVueRouterfrom‘vu 查看详情

vue2.0--vue-router路由

一、vue-router如何进行参数传递  1、name $route.name  通过在路由router/index.js中配置路由时定义的name属性来传递  ①有一个页面components/hello.vue,在router/index.js中进行如下的配置://先引入importHellofrom‘@/components/hello‘{path... 查看详情

vue2.0笔记——vue-router路由(代码片段)

简介使用Vue.js开发SPA(SinglePageApplication)单页面应用。vue-router可以通过html5的historyAPI或者hash实现单页应用,即不刷新跳转,切换地址,只是页面上的组件的切换;vue-router可以实现页面间传参等其他功能;基本用法当你要把vue-ro... 查看详情

vue2.0使用vue-router传参数

main.js中    对应网站地址(比如说通过a标签的href跳转):http://localhost:8080/apple/red/detail/3在apple.vue中可以这样获得参数:    查看详情

Vue2 / vue-router / Laravel - 路由器视图未显示 Vue 组件

】Vue2/vue-router/Laravel-路由器视图未显示Vue组件【英文标题】:Vue2/vue-router/Laravel-router-viewnotshowingaVueComponent【发布时间】:2021-12-2907:40:18【问题描述】:我遇到了一个问题,我的Vue组件没有通过路由器视图显示,控制台中没有Vue... 查看详情

vue-router(vue2.0)用法示例

一.新建3个组件 1./src/components/post.vue<template><div>helloworld!thisisPOST!</div></template><script>exportdefault{}</script>  2./src/components/view.vue<templa 查看详情

vue2vue-router在ie下不跳转问题

参考技术A使用vue-router在IE下浏览器返回路径错误,chrome工作正常。修改在app.vue中添加判断,并修改 查看详情