Vue框架2(vue搭建方式2:利用脚手架,ElementUI)

一.引入vue第二种搭建方式

在以前的前端项目中,一个项目需要多个html文件实现页面之前的切换,如果页面中需要依赖js或者css文件,那么我们就需要在多个html文件中都需要导入vue.js文件,太过繁琐.

现在前端开发都采用单页面结果,一个项目中只有一个html文件

其他不同的内容都写在.vue文件中,每个vue文件就是一个组件,我们会为每个组件配置一个访问的地址,通过地址访问组件,在唯一的html文件中切换不同的组件

用图来展示项目开发中的单页结构:

正如图中所写,每一个html文件就相当于一个画布,我们只需要通过组件的地址,在此html文件中使用不同的组件,通过此方式实现只使用一个html文件来实现不同的页面,以及页面的切换.

此方法的好处是:配置只需要导入一次即可,导入依赖也只需要一次

二. 使用vue-cli搭建项目

vue-cli 是官方提供的一个脚手架,用于快速生成一个vue的项目模板;预先定义好的目录结构及基础代码,就好比咱们在创建Maven项目时可以选择创建一个骨架项目,这个骨架项目就是脚手架,使我们的开发更加的快速.

主要功能:

  • 统一的目录结构
  • 本地调试
  • 热部署
  • 单元测试
  • 集成打包上线

需要的环境:

node.js

简单来说Node.js是一个前端js运行环境(类似于java后端开发的jdk)或者说是一个JS语言解释器.

npm(npm node package manager)

npm是Node.js包管理工具,用来安装各种Node.js的扩展.npm是JavaScript 的包管理工具,也是世界上最大的软件注册表.有超过60万个JavaScript 代码包可供下载.npm 让 JavaScript开发人员可以轻松地使用其他开发人员共享的代码.

搭建vue-cli单页项目的步骤

1.首先我们需要安装node.js前端js运行环境到我们的电脑上

我们可以在node.js官方网站上进行下载并安装

2.使用HbuilderX快速创建一个vue-cli项目

创建完后的vue-cli项目会存在很多目录,下面是这些目录与目录中文件的解释

注意: package-lock.json这个文件目录我们现在不使用,所有这里直接删掉即可

3.创建成功后,在命令行窗口启动项目

注意打开的命令窗口的项目名一定要是当前的项目名

在命令行窗口输入npm run serve

输入后,运行成功后会出现访问地址

在命令行中ctrl+c 停止服务

npm中的常用指令

1.npm install 用于安装各种依赖,在网上下载别人的项目时,项目中没有node-modules时就需要我们 通过该指令下载各种所需的依赖

2.npm run serve 启动前端项目,在终端里面ctrl+c 停止服务

3.npm run build 打包项目

三. 组件路由

在单页面项目中,我们需要实现多个页面的切换,即多个组件的切换.这时我们就需要通过组件路由实现组件的切换.

概述

vue router 是 Vue.js官方的路由管理器.它和Vue.js的核心深度集成,让构建单页面应用变得易如反掌.

组件路由的搭建(以及基础用法)

1.安装组件路由的依赖库

vue-router 是一个插件包,所以我们还是需要用 npm 来进行安装的.
打开命令行工具,进入你的项目目录,输入命令npm i [email protected]

在下载完成后,在package.json会出现vue-router对应的版本

**注意:**我们在下载依赖库或补全依赖时都会生成一个package-lock.json文件,我们需要删除它,我们在当前阶段用不到它.

2.在src目录下创建一个router的文件夹,在文件夹中创建一个index.js文件

在index.js文件中的代码:

javascript 复制代码
import Vue from 'vue';  /*导入vue*/
import router from 'vue-router'; /* 导入路由 */

/* 导入我们自己创建的组件 */

import Index from "../views/Index.vue"
import Login from "../views/Login"//可以不需要文件后缀名
import Reg from "../views/Reg"

Vue.use(router);
//创建vue-router对象
let rout = new router({
routes: [
       {
        path: '/index',//为组件定义访问地址
        name: 'index',//命名
        component: Index//指定组件
       },
       {
        path: '/login',
        component: Login
       },
	   {
	    path: '/reg',
	    component: Reg
	   }
       ]
  });
//导出路由对象
export default rout;

其中需要注意的是我们自己所添加的组件名首字母是大写,在导入我们创建的组件时需要注意字母的大写.

注意: 我们通常在src目录下创建一个views文件夹,在此文件夹中创建我们自己的组件

html 复制代码
<template>
	<!-- 只能有一个根标签,组件内所有内容都写在根标签中 -->
	<div>
		首页{{message}}
		<router-link to="/login">登录</router-link>
		<router-link to="/reg">注册</router-link>
	</div>
</template>

<script>
	export default{
		//定义数据
		data() {
			return{
				message:"hello index"
			}
		},
		methods:{//定义函数
			
		},
		mounted() {//生命周期函数
			
		}
	}
</script>

<!-- 写组件相关的样式 -->
<style>
</style>

这时我们自己创建的一个组件的代码基本格式

3.使用路由

1.在组件的<template>根标签中添加此标签,类似于超链接,点击即可切换指定地址的组件

html 复制代码
<router-link to="/index">首页</router-link>
<router-link to="/content">内容</router-link>

2.App.vue文件的<template>根标签中添加下方标签

html 复制代码
<router-view></router-view>

该组件用于显示指定组件内容

注意: App.vue文件的完整代码以及解释

html 复制代码
<template>
	 <!-- 默认组件 -->
  <div id="app">
    <!--显示指定组件内容 -->
	<router-view></router-view>
  </div>
</template>

<script>
export default {
  name: 'app',
}
</script>

4.在main.js中配置组件路由

javascript 复制代码
import Vue from 'vue'//导入vue.js
import App from './App.vue'//导入默认组件

//导入路由组件
import router from './router/index.js'
Vue.use(router);

Vue.config.productionTip = false

/* 创建一个唯一的vue对象 */
new Vue({
  render: h => h(App),//项目启动时,默认访问APP.vue组件
  router,
}).$mount('#app')//类似el:"#app"

这里只演示组件路由的基础用法,更高阶的用法会在后续的学习中演示

四.更换npm镜像地址,下载依赖库或补全依赖库更快

我们在补全依赖库,或下载安装组件路由的依赖库时,都是从国外的网站中下载的,我们可以更换npm镜像地址,下载速度更快一些.

这里我参考的博客是国内npm源镜像(npm加速下载) 指定npm镜像_npm国内镜像源-CSDN博客

打开命令行工具,进入你的项目目录,输入命令npm config get registry 可查看当前的镜像源

使用那个镜像,只需要 npm config set registry + 对应的镜像网址就好了(镜像源的网址参考上方的博客)

五. ElementUI

Element是一套为开发者,设计师和产品经理准备的基于Vue 2.0 的桌面端组件库.

ElementUI提供了丰富的UI组件,可以根据用户选择进行使用,大大提升了开发效率.

安装ElementUI

1.打开命令行窗口,进入项目目录,输入指令:npm i element-ui -S 安装ElementUI依赖库.

此处即为ElementUI的版本号

2.在 main.js中写入以下内容:
javascript 复制代码
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);
new Vue({
render: h => h(App),
}).$mount('#app');

下方是在我的项目中的main.js文件添加路由组件以及ElementUI组件

javascript 复制代码
import Vue from 'vue'//导入vue.js
import App from './App.vue'//导入默认组件

//导入路由组件
import router from './router/index.js'
Vue.use(router);

//导入elementui组件
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);

Vue.config.productionTip = false

/* 创建一个唯一的vue对象 */
new Vue({
  render: h => h(App),//项目启动时,默认访问APP.vue组件
  router,
}).$mount('#app')//类似el:"#app"

具体组件的使用请参考API文档

相关推荐
姑苏洛言2 小时前
基于微信公众号小程序的课表管理平台设计与实现
前端·后端
烛阴2 小时前
比UUID更快更小更强大!NanoID唯一ID生成神器全解析
前端·javascript·后端
Alice_hhu2 小时前
ResizeObserver 解决 echarts渲染不出来,内容宽度为 0的问题
前端·javascript·echarts
逃逸线LOF3 小时前
CSS之动画(奔跑的熊、两面反转盒子、3D导航栏、旋转木马)
前端·css
老马啸西风4 小时前
工作流引擎-18-开源审批流项目之 plumdo-work 工作流,表单,报表结合的多模块系统
vue.js·开源·activiti·workflow·flowable·oa·bpm
萌萌哒草头将军4 小时前
⚡️Vitest 3.2 发布,测试更高效;🚀Nuxt v4 测试版本发布,焕然一新;🚗Vite7 beta 版发布了
前端
技术小丁4 小时前
使用 HTML + JavaScript 在高德地图上实现物流轨迹跟踪系统
前端·javascript·html
小小小小宇5 小时前
React 并发渲染笔记
前端
stark张宇5 小时前
Web - 面向对象
前端·javascript
yanyu-yaya5 小时前
mac电脑安装 nvm 报错如何解决
java·前端·macos