当前位置: 首页 > news >正文

vue 模块化开发

1、npm install webpack -g

全局安装 webpack

2、npm install -g @vue/cli-init

全局安装 vue 脚手架

3、初始化 vue 项目;

vue init webpack appname:vue 脚手架使用 webpack 模板初始化一个 appname 项目

4、启动 vue 项目;

项目的 package.json 中有 scripts,代表我们能运行的命令

npm start = npm run dev:启动项目

npm run build:将项目打包

5、模块化开发

1、项目结构

 

运行流程

 进入页面首先加载 index.html 和 main.js 文件。

 main.js 导入了一些模块【vue、app、router】,并且创建 vue 实例,关联 index.html

页面的

元素。使用了 router,导入了 App 组件。并且使用标签 引用了这个组件

 第一次默认显示 App 组件。App 组件有个图片和,所以显示了图片。 但是由于代表路由的视图,默认是访问/#/路径(router 路径默认使用

HASH 模式)。在 router 中配置的/是显示 HelloWorld 组件。

 所以第一次访问,显示图片和 HelloWorld 组件。

 我们尝试自己写一个组件,并且加入路由。点击跳转。需要使用Go to Foo标签

 2、Vue 单文件组件

Vue 单文件组件模板有三个部分;

<template>
<div class="hello">
<h1>{{ msg }}</h1>
</div>
</template>
<script>

export default {

name: 'HelloWorld',

data () {

return {

msg: 'Welcome to Your Vue.js App'

}
}
}

</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->

<style scoped>

h1, h2 {

font-weight: normal;
}

</style>

Template:编写模板

Script:vue 实例配置

Style:样式

3、vscode 添加用户代码片段(快速生成 vue 模板) 

文件-->首选项-->用户代码片段-->点击新建代码片段--取名 vue.json 确定

{

"生成 vue 模板": {

"prefix": "vue",

"body": [

"<template>",

"<div></div>",

"</template>",
"",

"<script>",

"//这里可以导入其他文件(比如:组件,工具 js,第三方插件 js,json

文件,图片文件等等)",

"//例如:import 《组件名称》 from '《组件路径》';",

"",

"export default {",

"//import 引入的组件需要注入到对象中才能使用",

"components: {},",

"props: {},",

"data() {",

"//这里存放数据",

"return {",

"",

"};",

"},",

"//计算属性 类似于 data 概念",

"computed: {},",

"//监控 data 中的数据变化",

"watch: {},",

"//方法集合",

"methods: {",

"",

"},",

"//生命周期 - 创建完成(可以访问当前 this 实例)",

"created() {",

"",

"},",

"//生命周期 - 挂载完成(可以访问 DOM 元素)",

"mounted() {",

"",

"},",

"beforeCreate() {}, //生命周期 - 创建之前",

"beforeMount() {}, //生命周期 - 挂载之前",

"beforeUpdate() {}, //生命周期 - 更新之前",

"updated() {}, //生命周期 - 更新之后",

"beforeDestroy() {}, //生命周期 - 销毁之前",

"destroyed() {}, //生命周期 - 销毁完成",

"activated() {}, //如果页面有 keep-alive 缓存功能,这个函数会触发

",

"}",

"</script>",

"<style lang='scss' scoped>",

"//@import url($3); 引入公共 css 类",
"$4",

"</style>"

],

"description": "生成 vue 模板"

}
}

4、导入 element-ui 快速开发

1、安装 element-ui: npm i element-ui

2、在 main.js 中引入 element-ui 就可以全局使用了。

import ElementUI from 'element-ui' import 'element-ui/lib/theme-chalk/index.css' Vue.use(ElementUI)

3、将 App.vue 改为 element-ui 中的后台布局

4、添加测试路由、组件,测试跳转逻辑

(1) 、参照文档 el-menu 添加 router 属性

(2) 、参照文档 el-menu-item 指定 index 需要跳转的地址

五、Babel

Babel 是一个 JavaScript 编译器,我们可以使用 es 的最新语法编程,而不用担心浏览器兼 容问题。他会自动转化为浏览器兼容的代码

六、Webpack

自动化项目构建工具。gulp 也是同类产品

 

 

 

相关文章:

  • 【Unity3D小技巧】Unity3D中使用EventTrigger对3D物体的响应
  • SIPp uac.xml 之我见
  • java后端如何发送httpGET和POST请求
  • 库卡机器人控制器用直流电源 MGV PH1013-2840 00-109-802
  • Prompt - 将图片的表格转换成Markdown
  • TCP通信实现
  • Rust调用同级目录中的rs文件和调用下级目录中的rs文件
  • 【GPTs分享】GPTs分享之Write For Me
  • ElasticSearch之单值多字段查询以及multi match
  • GO语言基础总结
  • opencv图像的本质
  • Nginx http.server.location配置项说明
  • 物联网毕设 -- 智能厨房检测系统
  • Small RTOS51 学习笔记(6)如何切换任务(上)
  • 【笔试题】【day7】
  • 【算法 | 实验6-1】n*n的网格,从左上角开始到右下角结束遍历所有的方块仅一次,总共有多少种不同的遍历路径
  • (附源码)springboot人体健康检测微信小程序 毕业设计 012142
  • 《uni-app》一个非canvas的飞机对战小游戏实现-requestAnimationFrame详解
  • Centos7安装Docker搭建Pikachu靶场
  • 【C语言 数据结构】线性表 - 顺序表的实现
  • 【学生管理系统】学生管理(重点)
  • 普通索引还是唯一索引?
  • 详解:递归 和 排序(冒泡排序,选择排序,插入排序,归并排序,快速排序,希尔排序)
  • 【问题记录】防止mimikatz获取到明文密码
  • 超实用的JS常用算法详解(推荐)
  • 02-nginx环境准备
  • CSS 基础知识 属性
  • 【学生管理系统】整合JWT(完)
  • maya2023 安装和导入PyMEL
  • Java学习--JDBC
  • 【HDU No. 1224】 免费DIY之旅
  • 中国软件三季度业绩预测,中国软件股票趋势预测