一,前端项目简要概述
目前的前端项目:
项目名
css
img
js
index.html
home.html
about.html
...
现在的前端开发已经抛弃了传统的项目结构
每个页面就是一个独立的html文件,如果页面中需要依赖js/css文件
那么我们就需要在每个html文件中导入所需要的依赖的,这就很麻烦
现在前端开发都采用单页面结构,一个项目中只有一个html文件
其他不同的内容都写在.vue文件中,每个vue文件就是一个组件
我们会为每个组件配置一个访问的地址
通过地址访问组件
在唯一的html文件切换不同的组件
优点:只需要配置一次,导入依赖也只需要导入一次
如何创建前端单页结构项目?
需要一些前端环境,node.js
node.js就是一个构建前端运行环境
npm node package manager 是JavaScript库/包管理
可以很轻松的使用npm命令下载依赖到我们的项目中
创建单页面项目:
npm install 安装各种依赖,
安装新的依赖
在网上下载别人的项目,项目没有node_modules,就需要自己下载
npm run serve 启动前端项目
ctrl+c 停止服务
npm run bulid 打包项目
基于node.js环境创建一个前端单页面项目
多个组件之间的切换
首页组件
登录组件
注册组件
组件路由
1.安装组件路由的依赖库
2.在src下面创建一个router的文件夹
在文件夹中创建一个index.js文件
3.配置注册组件
4.在main.js中路由组件
更换npm镜像地址
传统的前端项目结构
一个项目中有很多的html文件
每个html文件都是相互独立的
如果需要导入外部依赖的组件(vue.js.css),就需要在每一个html文件中都需要被导入,非常麻烦
而且都需要我们自己去官网下载
现在的前端项目框架
在一个node环境中构建项目,node(前端开发环境)类似于后端的maven
前端改编为单页面架构(一个项目中只有一个html),
所有的配置都是对这一个html文件进行配置的,
只需要配置一次
login.vue:一个vue文件不是一个单独的页面,是一个组件,需要显示不同的内容时,只需要切换不同的组件即可
reg.vue:每一个组件都需要进行注册,并为其定义一个地址
index.vue:
基于vue.cli(脚手架)
前提是需要安装一个node.js(node.js是前端开发的一个环境)
可以为前端开发提供服务功能
二,Vue-cli搭建项目
vue-cli 官方提供的一个脚手架,用于快速生成一个vue 的项目模板;预先定义好的目录结构及基础代码,就好比咱们在创建 Maven 项目时可以选择创建一个骨架项目,这个骨架项目就是脚手架,我们的开发更加的快速;
1.主要功能
- 统一的目录结构
- 本地调试
- 热部署
- 单元测试
- 集成打包测试
2.所需环境
(1)Node.js
简单来说Node.js是一个前端js运行环境或者说是一个js语言解释器
(2)npm
npm 是 Node.js 的包管理工具,用来安装各种 Node.js 的扩展。npm 是JavaScript 的包管理工具,也是世界上最大的软件注册表。有超过 60 万个JavaScript 代码包可供下载。npm 让 JavaScript 开发人员可以轻松地使用其他开发人员共享的代码。
(3)搭建步骤
这里使用Hbulider-X快速搭建一个vue-cli项目(以2.6.10项目为例)
创建成功后在命令行窗口启动项目
点开命令行窗口(终端)输入npm run serve
运行,运行成功后会出现访问地址,然后在命令行中 ctrl+c 停止服务
三,组件路由
vue router是Vue.js官方的路由管理器。它和Vue.js的核心深度集成,让构建单页面应用变得易如反掌
1.安装
vue-router是一个插件包,所以我们还是需要用npm来进行安装
打开命令行工具,进入你的项目目录,输入下面命令
npm i vue-router@3.5.3
(注:在下载npm前需要先删除锁)
创建成功后可在package.json下查看到对应的router版本
2.搭建步骤:
(1)创建router目录在src目录下
创建index.js文件,在其中配置路由
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对象 */
var rout = new router({
routes: [
{
path: '/index',//为组件定义访问地址
name: 'index',//命名
component: Index//指定组件
},
{
path: '/login',
component: Login
},
{
path: '/reg',
component: Reg
}
]
});
//导出路由对象
export default rout;
(2)使用路由
<router-link to="/index">首页</router-link>
<router-link to="/content">内容</router-link>
<router-view/>
(3)在main.js中配置路由
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'*/
四,Element—UI
Element,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组
件库
在 main.js 中写入以下内容:
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);
new Vue({
render: h => h(App),
}).$mount('#app');
具体组件使用参考 API 文档