vue全局安装jquery,vue使用bootstrap框架,vue中封装websocket通讯,vue引入element-ui 组件库,引入highcharts图表插件

vue安装jquery:

 

1、使用vue-cli创建好vue项目后,在项目文件夹下,使用命令npm install jquery --save-dev 引入jquery。

2、修改项目文件 build/webpack.base.conf.js,添加如下内容:

var webpack=require('webpack')

module.exports 对象下添加属性p'lugins如下

plugins: [new webpack.ProvidePlugin({$:"jquery",jQuery:"jquery","windows.jQuery":"jquery"})],

3、在src/main.js文件中 引入jquery模块

import $ from 'jquery'

4、测试:修改src/components/HelloWorld.vue。添加jquery代码如下

<script>
$(function () { alert(123); 
});export default {name: 'HelloWorld',data () {return {msg: 'Welcome to Your Vue.js App'}}
}
</script>

npm run dev 运行项目,能够在界面上看到,弹出alert,就证明jquery引入成功了。

 

 

 

 

vue安装bootstrap 框架: 

 

1、基于jQuery后,在项目文件夹下,使用命令 npm install bootstrap@3.3.0 -save-dev 引入bootstrap

2、在src/main.js文件中 引入bootstrap,如下

import 'bootstrap/dist/css/bootstrap.min.css'
import 'bootstrap/dist/js/bootstrap.min'

3、测试:修改src/components/HelloWorld.vue。添加bootstrap代码如下

	  <div class="jumbotron"><h1>我的第一个 Bootstrap 页面</h1><p>重置窗口大小,查看响应式效果!</p> </div><div class="row"><div class="col-sm-4"><h3>Column 1</h3><p>学的不仅是技术,更是梦想!</p><p>再牛逼的梦想,也抵不住你傻逼似的坚持!</p></div><div class="col-sm-4"><h3>Column 2</h3><p>学的不仅是技术,更是梦想!</p><p>再牛逼的梦想,也抵不住你傻逼似的坚持!</p></div><div class="col-sm-4"><h3>Column 3</h3> <p>学的不仅是技术,更是梦想!</p>s<p>再牛逼的梦想,也抵不住你傻逼似的坚持!</p></div></div></div><h2>Essential Links</h2>

npm run dev 运行项目,能够在界面上看到如下效果则安装成功。

 

 

 

vue中封装websocket通讯:

 

1、封装成公共的socket文件,在src/api/socket.js如下


var websock = null;
var global_callback = null;
var serverPort = '5000';	//webSocket连接端口function getWebIP(){var curIP = window.location.hostname;return curIP;
}function initWebSocket(){ //初始化weosocket//ws地址var wsuri = "ws://" +getWebIP()+ ":" + serverPort;websock = new WebSocket(wsuri);websock.onmessage = function(e){websocketonmessage(e);} websock.onclose = function(e){websocketclose(e);}websock.onopen = function () {websocketOpen();}//连接发生错误的回调方法websock.onerror = function () {console.log("WebSocket连接发生错误");}
}// 实际调用的方法
function sendSock(agentData,callback){  global_callback = callback;if (websock.readyState === websock.OPEN) {//若是ws开启状态websocketsend(agentData)}else if (websock.readyState === websock.CONNECTING) {// 若是 正在开启状态,则等待1s后重新调用setTimeout(function () {sendSock(agentData,callback);}, 1000);}else {// 若未开启 ,则等待1s后重新调用setTimeout(function () {sendSock(agentData,callback);}, 1000);}
}//数据接收
function websocketonmessage(e){ global_callback(JSON.parse(e.data));
}//数据发送
function websocketsend(agentData){websock.send(JSON.stringify(agentData));
}//关闭
function websocketclose(e){  console.log("connection closed (" + e.code + ")");
}function websocketOpen(e){console.log("连接成功");
}initWebSocket();export{sendSock}

 

2、在main.js中引入这个socket文件,如下

import * as socketApi from './api/socket'
Vue.prototype.socketApi = socketApi

 

3、在vue组件中使用封装的websocket方法,如src/components/HelloWorld.vue 按钮发送信息到服务端,这里使用nodejs实现服务端响应

this.socketApi.sendSock(agentData,this.getConfigResult);   【agentData:发送的参数;this.getConfigResult:回调方法】

 

HelloWorld.vue文件如下:

<template><div class="hello"><h1>{{ msg }}</h1><div class="container"><div class="jumbotron"><h1>我的第一个 Bootstrap 页面</h1><p>重置窗口大小,查看响应式效果!</p> <div><button type="button" class="btn btn-success" @click="testWebsocket()">使用websocket发送信息到服务端</button></div></div><div class="row"><div class="col-sm-4"><h3>Column 1</h3><p>学的不仅是技术,更是梦想!</p><p>再牛逼的梦想,也抵不住你傻逼似的坚持!</p></div><div class="col-sm-4"><h3>Column 2</h3><p>学的不仅是技术,更是梦想!</p><p>再牛逼的梦想,也抵不住你傻逼似的坚持!</p></div><div class="col-sm-4"><h3>Column 3</h3> <p>学的不仅是技术,更是梦想!</p>s<p>再牛逼的梦想,也抵不住你傻逼似的坚持!</p></div></div></div></div>
</template><script>
export default {name: 'HelloWorld',data () {return {msg: 'Welcome to Your Vue.js App'}},methods:{testWebsocket:function(){   this.socketApi.sendSock("这是客户端使用websocket传递的信息。")this.socketApi.websocketclose(); //调用关闭处理函数},}
}
</script><!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
h1, h2 {font-weight: normal;
}
ul {list-style-type: none;padding: 0;
}
li {display: inline-block;margin: 0 10px;
}
a {color: #42b983;
}
</style>

 

服务端的server.js文件如下:

var WebSocketServer = require('ws').Server,
wss = new WebSocketServer({ port: 5000 });
wss.on('connection', function (ws) {console.log('client connected');ws.on('message', function (message) {console.log(message);});
});

 

如下图所示则vue项目安装websocket成功,也实现了前后端分离。

 

 

 

 

 

vue中引入element-ui 组件库:

 

Element UI 是一套采用 Vue 2.0 作为基础框架实现的组件库,提供了配套设计资源,帮助网站快速成型,可以较好的实现vue的组件开发。

1、在项目文件夹下,使用命令 npm install element-ui  -save-dev 引入element-ui组件库

2、可以引入整个 Element组件库,或是根据需要仅引入部分组件。完整引入则在src/main.js 添加如下:

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

   

借助 babel-plugin-component,我们可以只引入需要的组件,以达到减小项目体积的目的。安装babel-plugin-component:

npm install babel-plugin-component -S

 

 然后,将 .babelrc 修改为:

{"presets": [["es2015", { "modules": false }]],"plugins": [["component",{"libraryName": "element-ui","styleLibraryName": "theme-chalk"}]]
}

 

接下来,如果你只希望引入部分组件,比如 Button 和 Select,那么需要在 main.js 中写入以下内容:


import { Button, Select } from 'element-ui';Vue.use(Button)
Vue.use(Select)

 

3、测试:在 src/components/HelloWorld.vue 中添加一下内容,显示如图则安装成功

<el-row><el-button>默认按钮</el-button><el-button type="primary">主要按钮</el-button><el-button type="success">成功按钮</el-button><el-button type="info">信息按钮</el-button><el-button type="warning">警告按钮</el-button>
</el-row>

附:element-ui API文档  https://element.eleme.io/#/zh-CN/component/installation

 

 

vue中引入highcharts 图表插件 :

 

和element-ui引入类似,highcharts图表插件引入vue先使用 npm install -S vue-highcharts 命令行安装依赖包。在main.js 中引入highcharts如下:

import VueHighcharts from 'vue-highcharts';
Vue.use(VueHighcharts)

 

测试如下:

新建一个作为comp.vue图表的组件

<template><div class="x-bar"><div :id="id" :option="option"></div></div>
</template>
<script>import HighCharts from 'highcharts'export default {// 验证类型props: {id: {type: String},option: {type: Object}},mounted() {HighCharts.chart(this.id, this.option)}}
</script>

 

在需要使用的页面调用组件

<template><div class="hello"><div class="charts"><x-chart :id="id" :option="option"></x-chart></div></div>
</template><script>// 导入chart组件import XChart from './comp.vue'export default {data() {return {id: 'test',option: {chart: {type: 'line'},title: {text: '月平均气温'//表头文字},subtitle: {text: '数据来源: WorldClimate.com'//表头下文字},xAxis: {//x轴显示的内容categories: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],plotbands:[{//可以显示一个方块,如果需要的话可以更改透明度和颜色from:4.5,to:6.5,color:''rgba(68,170,213,0)//透明度和颜色}]},yAxis: {//y轴显示的内容title: {text: '气温 (°C)'}},plotOptions: {line: {dataLabels: {enabled: true // 开启数据标签},enableMouseTracking: false // 关闭鼠标跟踪,对应的提示框、点击事件会失效}},series: [{//两条数据name: '东京',data: [7.0, 6.9, 9.5, 14.5, 18.4, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]}, {name: '伦敦',data: [3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8]}]}}},components: {XChart}}
</script>

效果如下

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/554013.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

flex弹性布局笔记

学习自菜鸟教程的flex布局笔记 布局的传统解决方案&#xff0c;基于盒装模型&#xff0c;依赖 display 属性 position 属性 float 属性。它对于那些特殊布局非常不方便&#xff0c;比如&#xff0c;垂直居中就不容易实现。 简介&#xff1a; W3C提出了一种新的方案—-Flex布…

css宽高自适应布局,实现Sticky Footer的三种布局方式

宽度自适应布局&#xff1a; 1、使用场景&#xff1a; 一侧&#xff08;左侧或者右侧&#xff09;为固定的导航或者菜单栏&#xff0c;另一侧将会随着浏览器的缩放而自适应改变其大小。这种布局结构可用于顶层布局结构亦可用于某个局部功能块&#xff0c;常见于各种web系统&am…

vue学习:事件传递(冒泡和捕获),事件委托,jquery中的事件委托,$event 获取元素,vue事件修饰符

事件传递 ----冒泡和捕获 DOM事件标准定义了两种事件流&#xff0c;这两种事件流分别是捕获和冒泡。 和许多Web技 术一样&#xff0c;在它们成为标准之前&#xff0c;Netscape和微软各自不同地实现了它们。Netscape选择实现了捕获事件流&#xff0c;微软则实现了冒泡事件流。…

vue中路径的配置使用

绝对路径使用&#xff1a; 在项目中build文件夹下的webpack.base.conf.js的 使用如下&#xff1a; import mock from /mock/mock.js; html 相对路径使用 1. 当需要引用 同一目录下的文件&#xff0c;直接输入文档, 如下 <img src”bg.jpg” /> 2、当需要引用下一级目录…

常用MIME类型,解决IIS布署后字体文件、mp4视频文件等not found 的错误

前言&#xff1a;项目在本地运行正常&#xff0c;但部署在IIS服务器后使用浏览器访问项目会报&#xff1a;404 not found 错误&#xff0c;包括mp4视频文件和woff文件找不到。。如下 原因&#xff1a;在IIS中没有将 .mp4和 .woff 后缀的相应的MIME类型&#xff0c;使得 .mp4等格…

浏览器兼容video视频播放的多种方法

前言&#xff1a; 在 HTML 中播放视频并不容易&#xff01;因为直到现在&#xff0c;仍然不存在一项旨在网页上显示视频的标准。今天&#xff0c;大多数视频是通过插件&#xff08;比如 Flash&#xff09;来显示的。然而&#xff0c;并非所有浏览器都拥有同样的插件。 比如win…

pdf文件加密解密,pdf忘记密码解密的办法

1、pdf文件加密 步骤&#xff1a;wps》菜单“保护”》文档加密&#xff0c;设置编辑及页面密码&#xff0c;如下 2、pdf解密 在解密窗口取消选择“设置编辑及页面密码”&#xff0c;如下 注意&#xff1a;当忘记pdf密码时&#xff0c;可以使用pdf解密软件解密&#xff0c;如下…

伪类::selection自定义文本选中时的样式(CSS3样式),CSS3的word-break单次换行

1、::selection CSS3伪类自定义文本选中时的样式 有的人在浏览网页时&#xff0c;喜欢一边选中文本一边阅读。在windows环境下&#xff0c;正常的文本选中应该是深蓝色背景白色文本的样式。那么想要修改文本选中样式&#xff0c;可以通过css中有这样的一个伪类::selection用于自…

修改elementUI组件样式无效的多种解决方式

前言&#xff1a;vueelementUI项目开发中&#xff0c;经常遇到修改elementUI组件样式无效的问题&#xff0c; 原因&#xff1a;在vue组件中我们经常需要给style添加scoped来使得当前样式只作用于当前组件的节点。添加scoped之后&#xff0c;工作原理是将当前组件的节点添加一个…

CSS3 @media媒体查询 适配不同尺寸设备的响应式布局(清晰详解)

随着宽屏的不断普及&#xff0c;CSS3出现了media媒体查询技术 一、了解Media 相关知识 1、了解Media Queries Media Queries能在不同的条件下使用不同的样式&#xff0c;使页面在不同在终端设备下达到不同的渲染效果。其原理就是允许添加表达式用以媒体查询&#xff08;包括媒…

windows下mysql8.0-64的安装、完全卸载及注意事项(亲测),MySQL和SQL Server的简单区别

Windows 上安装 MySQL 1、现在zip安装包&#xff1a; 点击链接 https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.11-winx64.zip 下载 zip 包。最新版本可以在 MySQL 下载 中下载中查看。 点击 Download 按钮进入下载页面&#xff0c;点击下图中的 No thanks, just star…

ChatGPT/GPT4+AI绘图+论文写作+编程结合到底有多强大?带你详细了解

ChatGPT在论文写作与编程方面具备强大的能力。无论是进行代码生成、错误调试还是解决编程难题&#xff0c;ChatGPT都能为您提供实用且高质量的建议和指导&#xff0c;提高编程效率和准确性。此外&#xff0c;ChatGPT是一位出色的合作伙伴&#xff0c;可以为您提供论文写作的支持…

vue-cli项目布署问题解决:空白页、静态资源文件404错误、refrenceError:promise未定义(部分浏览器不支持ES6语法)

&#xff08;前言&#xff1a;文章记录vue-cli项目打包使用IIS布署遇到的几个错误及解决方式&#xff09; 首先简单理解webpack打包&#xff1a; 个人理解&#xff1a;项目开发中我们构建 "低耦合高内聚" 的组件/模块来代码重用、降低项目复杂性&#xff0c;提升开发…

简单地使用webpack进行打包,一些常见打包错误

本质上&#xff0c;webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当 webpack 处理应用程序时&#xff0c;它会递归地构建一个依赖关系图(dependency graph)&#xff0c;其中包含应用程序需要的每个模块&#xff0c;然后将所有这些模块打包成一个或…

Vue-cli 项目优化归纳(打包、源码、用户体验)

前言&#xff1a;vue-cli项目开发打包部署后&#xff0c;存在问题有首次首页加载过慢&#xff0c;包括加载缓慢问题&#xff0c;需要进行vue项目优化。下面是对vue性能优化方法进行归纳&#xff0c;后面会对方法进行亲测。 主要包括&#xff1a;代码包打包优化、编码优化、用户…

JS中的prototype、__proto__与constructor,原型和原型链

理解原型的几个关键点&#xff1a; 1、所有的引用类型&#xff08;数组、函数、对象&#xff09;可以自由扩展属性&#xff08;除null以外&#xff09;; 2、所有的引用类型&#xff08;对象&#xff09;都有一个’_ _ proto_ _属性(也叫隐式原型&#xff0c;它是一个普通的对…

彻底理解cookie,session,token

转载自&#xff1a;https://www.cnblogs.com/moyand/p/9047978.html 发展史 1、很久很久以前&#xff0c;Web 基本上就是文档的浏览而已&#xff0c; 既然是浏览&#xff0c;作为服务器&#xff0c; 不需要记录谁在某一段时间里都浏览了什么文档&#xff0c;每次请求都是一个新…

硬盘基本知识(磁头、磁道、扇区、柱面),格式化容量计算

计算差&#xff1a; 在购买硬盘之后&#xff0c;细心的人会发现&#xff0c;在操作系统当中硬盘的容量与官方标称的容量不符&#xff0c;都要少于标称容量&#xff0c;容量越大则这个差异越大。标称40GB的硬盘&#xff0c;在操作系统中显示只有38GB&#xff1b;80GB的硬盘只有7…

常用校验码(奇偶校验码、海明校验码、CRC校验码)

转载自&#xff1a;https://www.cnblogs.com/VersionP1/p/7779251.html &#xff0c;作者&#xff1a; FunnyOne 常用校验码&#xff08;奇偶校验码、海明校验码、CRC校验码&#xff09; 一、奇偶校验码二、海明校验码三、CRC校验码 计算机系统运行时,各个部之间要进行数据交…

原码、反码、补码、移码

版权声明&#xff1a;本文为CSDN博主「刘水镜」的原创文章&#xff0c;遵循 CC 4.0 BY-SA 版权协议&#xff0c;转载请附上原文出处链接及本声明。 原文链接&#xff1a;https://blog.csdn.net/liushuijinger/article/details/7429197 原码&#xff1a; 如果机器字长为n&#…