
JavaScript
文章平均质量分 54
随遇而安、1314
活泼开朗、积极乐观
展开
-
Vue 强制刷新(重新渲染)的方式
Vue 强制刷新(重新渲染)的方式原创 2022-08-05 13:49:00 · 21826 阅读 · 1 评论 -
vue 版本更新使用webpack优化打包,解决用户浏览器缓存问题
1、修改 webpack .prod.conf.js 文件const version = new Date().getTime();output: { path: config.build.assetsRoot, filename: utils.assetsPath('js/[name].[chunkhash:8].' + version + '.js'), chunkFilename:...原创 2019-04-18 21:42:27 · 20771 阅读 · 11 评论 -
使用 happypack 和 terser-webpack-plugin 优化 Webpack 项目构建速度
HappyPackHappyPack的工作原理:在Webpack和Loader之间多加了一层,改成了Webpack并不是直接去和某个Loader进行工作,而是Webpack test到了需要编译的某个类型的资源模块后,将该资源的处理任务交给了HappyPack,由HappyPack在内部线程池中进行任务调度,分配一个线程调用处理该类型资源的Loader来处理这个资源,完成后上报处理结果,最后HappyPack把处理结果返回给Webpack,最后由Webpack输出到目的路径。通过这一系列操作,将原本都在一原创 2022-03-30 10:44:22 · 1671 阅读 · 0 评论 -
webpack打包定义版本号、引入cdn
1、引入html-webpack-pluginnpm i html-webpack-plugin -D2、在webpack.prod.conf.js的plugin中新增配置const date = new Date();const timestamp = date.getTime(); // 时间戳new HtmlWebpackPlugin({ filename: config.build.index, template: 'index.html', inject: true,原创 2022-03-30 10:15:30 · 1849 阅读 · 0 评论 -
HTML代码中<%%>、<%=%>、<%:%>
<%%>之间可以写代码语句,例如:<% if (process.env.NODE_ENV === 'production') { %><script> var text = `PROD:${ GLOBAL.HOSPITAL_NAME }\n Company:${ moment().format("YYYY") } 公司\n Host:${ GLOBAL.BASE_HOST }\n Date:${ moment().format("YYYY-MM-DD H原创 2022-03-18 13:27:05 · 4904 阅读 · 0 评论 -
如何在引用javascript、css文件时添加时间戳,解决浏览器缓存问题
浏览器会缓存之前的javascript,css的版本,更新了javascript,css文件后,浏览器不会更新。所以在引入相关javascript、css文件时添加一个时间戳,能够让浏览器加载我们的最新版本。<link rel="stylesheet" href="/css/element.css?_t=<%=new Date().indexOf()%>"><script type="text/javascript" href="/js/element.js?_t=&.原创 2022-03-18 13:18:00 · 8982 阅读 · 3 评论 -
JavaScript中的小技巧
空值合并操作符只有当左侧为null和undefined时,才会返回右侧的数.空值合并操作符(??)是一个逻辑操作符,当左侧的操作数为 null 或者 undefined 时,返回其右侧操作数,否则返回左侧操作数。// const foo = null ?? '123';console.log(foo); // 123// const baz = 0 ?? 42;console.log(baz); // 0// var a = obj ?? {};// 相当于var a;if(obj =原创 2021-12-08 15:45:33 · 249 阅读 · 0 评论 -
Vue中使用provide和inject
成对出现:provide和inject是成对出现的。作用:用于父组件向子孙组件传递数据。使用方法:provide在父组件中返回要传给下级的数据,inject在需要使用这个数据的子辈组件或者孙辈等下级组件中注入数据。使用场景:由于vue有$parent属性可以让子组件访问父组件。但孙组件想要访问祖先组件就比较困难。通过provide/inject可以轻松实现跨级访问父组件的数据。类型:provide:Object | () => Objectinject:Array<string>原创 2020-07-06 11:53:59 · 368 阅读 · 0 评论 -
解决 cnpm : 无法加载文件 cnpm.ps1
安装 cnpmnpm install -g cnpm --registry=https://registry.npm.taobao.org在使用 power shell 运行 cnpm 时报以下错误:cnpm : 无法加载文件 C:\Users\Administrator\AppData\Roaming\npm\cnpm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https...原创 2019-12-09 21:24:41 · 2421 阅读 · 0 评论 -
JavaScript处理移动端拍摄图片旋转问题
引入exif-js<script src="https://cdn.jsdelivr.net/npm/exif-js@2.3.0/exif.min.js"></script>/** * 处理图片文件(处理移动端拍摄图片旋转问题) * fileObj.file 图片文件独享 * fileObj.resolution 在指定图片格式为 image/jpeg 或 im...原创 2019-11-14 15:05:06 · 667 阅读 · 0 评论 -
DataURL、Blob、File、Image
DataURL、Blob、File、Image之间的关系与转换var utils = { /** * @description canvas 转 dataURL * @param { Object } canvas 对象 * @param { Object } format 文件格式(默认为 image/jpeg) * @param { Obje...原创 2019-11-14 14:58:37 · 480 阅读 · 0 评论 -
js 数据分组(单个分组依据或多个分组依据)
方法一:/** * @description 数据分组 * @author CaoZM20132014 * @date 2019-07-19 * @export * @param { array } array 需要进行分组的数据 * @param { string } key 进行分组时依据的键名 * @param { string } resKey 分组后数据的键名,默认为 l...原创 2019-08-07 11:59:53 · 3162 阅读 · 1 评论 -
js 生成唯一标识符 UUID
UUIDUUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分。其目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。如此一来,每个人都可以创建不与其它人冲突的UUID。在这样的情况下,就不需考虑数据库创建时的名称重复问题。目前最广泛...原创 2019-08-09 11:21:55 · 943 阅读 · 0 评论 -
JavaScript 获取行间样式和非行间样式
&lt;!DOCTYPE html&gt;&lt;html&gt; &lt;head&gt; &lt;meta charset="utf-8"&gt; &lt;meta http-equiv="X-UA-Compatible" content="IE=edge&am原创 2019-01-12 10:43:17 · 361 阅读 · 0 评论 -
javascript 常用函数
1、时间格式化/** * @export 时间格式化 * @param {time} 需要格式化的时间对象、字符串、时间戳 * @param {cFormat} {y}-{m}-{d} {h}:{i}:{s} {a} 可选 * @returns {string} 格式化后的时间 */function parseTime(time, cFormat) { if (arguments....原创 2019-01-31 13:15:23 · 448 阅读 · 0 评论 -
JavaScript Array 交集 并集 差集 去重
集合的分类:并集:以属于A或属于B的元素为元素的集合成为A与B的并(集) 记作A∪B(或B∪A),读作“A并B”(或“B并A”),即A∪B={x|x∈A,或x∈B}。交集:以属于A且属于B的元素为元素的集合成为A与B的交(集) 记作A∩B(或B∩A),读作“A交B”(或“B交A”),即A∩B={x|x∈A,且x∈B}。差集:以属于A而不属于B的元素为元素的集合成为A与B的差(集)记作A-B(...原创 2019-01-16 16:11:57 · 394 阅读 · 0 评论 -
electron-vue 安装 js-xlsx,实现 Excel 导入导出
js-xlsx是一个简单的JavaScript插件,能够读取和写入Excel表格,功能强大,但是上手难度稍大,这里列举一些常用的用法,具体用法请参考 js-xlsx。安装 js-xlsx:npm install js-xlsx --save一、导入Excel在 main.js 添加以下代码:import XLSX from 'xlsx';let reader = new File...原创 2019-01-16 18:02:16 · 2899 阅读 · 0 评论 -
javascript 常用 api
一、节点1.1 节点属性Node.nodeName // 返回节点名称,只读Node.nodeType // 返回节点类型的常数值,只读Node.nodeValue // 返回Text或Comment节点的文本值,只读Node.textContent // 返回当前节点和它的所有后代节点的文本内容,可读写Node.baseURI // 返回当前网页...原创 2019-01-30 14:20:17 · 388 阅读 · 0 评论 -
javaScript 获取查询参数、拼接查询参数
一、获取查询参数:/** * @description 获取页面地址中的参数 * @author "" * @date 2018-08-29 * @export * @param {string} url(可以为空,为空即为当前页面地址) * @returns {object} */function getQueryParam(url) { url = url == null ...原创 2019-03-01 22:54:14 · 871 阅读 · 0 评论 -
js 判断当前操作系统
js判断客户端是否是微信浏览器function is_weixin() { var ua = window.navigator.userAgent.toLowerCase(); if (ua.match(/MicroMessenger/i) == 'micromessenger') { return true; } else { return false; }}js判断手机...原创 2019-04-03 14:55:18 · 2406 阅读 · 0 评论 -
JavaScript 生成随机数方法总结
生成随机数包含以下四种情况:1:min ≤ r ≤ max2:min ≤ r < max3:min < r ≤ max4:min < r < max/** * @description 生成随机数 * @author (Set the text for this tag by adding docthis.authorName to your settin...原创 2019-05-20 15:14:39 · 977 阅读 · 0 评论 -
JavaScript 粘贴事件 paste
兼容性:给页面中的元素绑定paste事件的方法,当用户鼠标在该元素上或者该元素处于focus状态,绑定到paste事件的方法即可,绑定的元素不一定是input,普通的div也是可以绑定的,如果是给document绑定了,就相当于全局了,任何时候的粘贴操作都会触发。document.addEventListener("paste", function (e){ var cbd = e.cli...原创 2019-05-30 17:14:19 · 4641 阅读 · 0 评论 -
JavaScript 作用域与作用域链
作用域变量或函数可以发生作用的区域即是作用域。作用域的最大用途就是隔离变量或函数,并控制变量或函数的生命周期,超过该区域的变量或函数就不能被访问。全局作用域在整个程序生命周期内都是有效的,在任意的函数内部都能访问的变量或函数拥有全局作用域。以下几种情形拥有全局作用域:1、在最外层定义的变量和函数拥有全局作用域。例子:var out = "hello";function o...原创 2019-07-16 15:12:47 · 259 阅读 · 0 评论 -
JavaScript 性能优化 之 for 循环
1. 最最常规写法for (var i = 0; i < 10; i++) { // do something...}2. 循环的次数为变量的情况大多数情况下都是这种写法,这种写法的缺点就是每次循环都要去读取一次数组的长度,有点浪费。for (var i = 0; i < arr.length; i++) { // do something...}3. 变量情况的...原创 2019-01-17 16:56:30 · 743 阅读 · 0 评论