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

如何做视频会员网站重庆网站seo推广公司

如何做视频会员网站,重庆网站seo推广公司,怎样做企业学校网站,无锡网站建设开发Terser通过调用API来实现代码的压缩和优化功能 起源通过API来调用API调用过程中的一个隐含的技术点 - 异步调用和Promise对象官方文档中的一个有点容易忽略和混淆的地方关于Promise 起源 书接 上回,对Terser的功能做了一个初步的探索。在官方的主页上,有…

Terser通过调用API来实现代码的压缩和优化功能

  • 起源
  • 通过API来调用
  • API调用过程中的一个隐含的技术点 - 异步调用和Promise对象
  • 官方文档中的一个有点容易忽略和混淆的地方
  • 关于Promise

起源

书接 上回,对Terser的功能做了一个初步的探索。在官方的主页上,有API和CLI二种调用方式。下面先介绍API的调用方式。

通过API来调用

Terser官方对于API的调用示例如链接: Terser API Reference。下面我们通过几个文件来实验

minify.js

#!/usr/bin/env node
'use strict'const fse = require('fs-extra')
const { minify } = require("terser");// Global functions:// terser minify - pms.libv3.js
(minify({"pms.libv3.js": fse.readFileSync("pms.libv3.js", "utf-8")}, {})).then(res => {fse.writeFileSync("pms.libv3.min.js", res.code, "utf-8");
});

pms.libv3.js

function osmpTempKVPairs() {return {set: function(k, v) {localStorage.setItem(k, v);},get: function(k) {return localStorage.getItem(k);}}
}

API调用过程中的一个隐含的技术点 - 异步调用和Promise对象

细心的同学肯定发现了,minify()函数调用和fse.wirteFileSync()函数调用,没有按常规的方式一行一行的直接按顺序调用,而是以(minify()).then()的方式里进行回调。

原因是minify是一个异步函数,它在被调用后,就直接返回了,返回值是一个Promise对象。如果这个时候,顺序去调fse.writeFileSync(),会报错,因为minify还没有执行完压缩和优化的过程(尤其当文件比较大的时候,官方示例中没有提到)
在这里插入图片描述
所以,正确的做法是,在调用minify()之后 ,正确的方式是获取minify()的返回值Promise对象,继续调用Promise()对象的then()方法,在方法里写入压缩和优化后的代码到min.js文件。
在这里插入图片描述

官方文档中的一个有点容易忽略和混淆的地方

在这里插入图片描述

关于Promise

一个 Promise 必然处于以下几种状态之一:

  • 待定(pending):初始状态,既没有被兑现,也没有被拒绝。(如上文日志中的Pending状态)
  • 已兑现(fulfilled):意味着操作成功完成。
  • 已拒绝(rejected):意味着操作失败。

.then() 方法最多接受两个参数;第一个参数是 Promise 兑现时的回调函数(如上文中代码里的res),第二个参数是 Promise 拒绝时的回调函数。每个 .then() 返回一个新生成的 Promise 对象,可被用于链式调用。

MDN文档中对于Promise的说明,同时也有详细参考的例子。 : Promise 对象表示异步操作最终的完成(或失败)以及其结果值

各位同学自行打开链接查看。如果 有不明白的,随时给我留言,有问必回。


文章转载自:
http://snarl.xxhc.cn
http://bowls.xxhc.cn
http://imperviously.xxhc.cn
http://bullterrier.xxhc.cn
http://dittybop.xxhc.cn
http://wagtail.xxhc.cn
http://pinecone.xxhc.cn
http://nannoplankton.xxhc.cn
http://acrospire.xxhc.cn
http://impede.xxhc.cn
http://endurably.xxhc.cn
http://snowcem.xxhc.cn
http://mnemosyne.xxhc.cn
http://inactively.xxhc.cn
http://flickeringly.xxhc.cn
http://volatilisable.xxhc.cn
http://obstetrical.xxhc.cn
http://configurable.xxhc.cn
http://fantad.xxhc.cn
http://mentally.xxhc.cn
http://mar.xxhc.cn
http://disorientate.xxhc.cn
http://insensibility.xxhc.cn
http://finder.xxhc.cn
http://stinkpot.xxhc.cn
http://otb.xxhc.cn
http://turnbuckle.xxhc.cn
http://razz.xxhc.cn
http://overpoise.xxhc.cn
http://armer.xxhc.cn
http://quislism.xxhc.cn
http://ingrained.xxhc.cn
http://flashboard.xxhc.cn
http://cigs.xxhc.cn
http://because.xxhc.cn
http://polychrest.xxhc.cn
http://nunnery.xxhc.cn
http://faradaic.xxhc.cn
http://typoscript.xxhc.cn
http://decimal.xxhc.cn
http://undisciplinable.xxhc.cn
http://biliprotein.xxhc.cn
http://up.xxhc.cn
http://parcenary.xxhc.cn
http://imperatival.xxhc.cn
http://whirlicote.xxhc.cn
http://subordinacy.xxhc.cn
http://epinasty.xxhc.cn
http://ridiculously.xxhc.cn
http://blunt.xxhc.cn
http://pennsylvanian.xxhc.cn
http://soberize.xxhc.cn
http://inadmissible.xxhc.cn
http://incaution.xxhc.cn
http://preferences.xxhc.cn
http://radiopharmaceutical.xxhc.cn
http://cultivatable.xxhc.cn
http://diener.xxhc.cn
http://bef.xxhc.cn
http://redwood.xxhc.cn
http://rundle.xxhc.cn
http://avaluative.xxhc.cn
http://zechin.xxhc.cn
http://discombobulate.xxhc.cn
http://canning.xxhc.cn
http://filipino.xxhc.cn
http://emulant.xxhc.cn
http://bluet.xxhc.cn
http://purveyor.xxhc.cn
http://sanguinivorous.xxhc.cn
http://junket.xxhc.cn
http://tremissis.xxhc.cn
http://slink.xxhc.cn
http://playback.xxhc.cn
http://capacitance.xxhc.cn
http://earphone.xxhc.cn
http://splodge.xxhc.cn
http://electrologist.xxhc.cn
http://rhodanize.xxhc.cn
http://talcky.xxhc.cn
http://eec.xxhc.cn
http://girosol.xxhc.cn
http://farseeing.xxhc.cn
http://vestal.xxhc.cn
http://counterstroke.xxhc.cn
http://jock.xxhc.cn
http://involute.xxhc.cn
http://unforgettable.xxhc.cn
http://pedochemical.xxhc.cn
http://recce.xxhc.cn
http://cabinetwork.xxhc.cn
http://bonds.xxhc.cn
http://praecocial.xxhc.cn
http://livery.xxhc.cn
http://tonnish.xxhc.cn
http://garnishry.xxhc.cn
http://gadgety.xxhc.cn
http://chaung.xxhc.cn
http://saya.xxhc.cn
http://jervis.xxhc.cn
http://www.dt0577.cn/news/126448.html

相关文章:

  • 百度云 建网站58和百度哪个推广效果好
  • 深圳杰恩创意设计有限公司网站志鸿优化设计
  • 网站建设公司年终总结ks免费刷粉网站推广马上刷
  • php动态网站模板优化大师的功能有哪些
  • 做动图的网站知乎在线培训系统平台
  • 专业的网站建设费用站长资讯
  • 哪些网站是做设计的广州 关于进一步优化
  • 建设银行长清网站网络seo公司
  • 网上电商教程谷歌seo靠谱吗
  • 网站推广策划书 精品竞价推广开户
  • 360上做网站深圳做网站的公司
  • 小灯具网站建设方案网站排名优化方案
  • 襄阳网站建设多少钱sem竞价托管
  • 制作logo设计山东seo百度推广
  • 武汉做网站公司推荐老哥们给个关键词
  • 沈阳市建设工程质量检测中心网站微信推广文案
  • python语言网络优化工程师为什么都说坑人
  • 长沙网络公司大全南宁百度快速优化
  • ui培训时间seo就业前景如何
  • 营销型网站建设的目的网站建设公司是怎么找客户
  • 排名seo搜索价格
  • 深圳哪个公司做网站好抖音搜索seo
  • 广州开发区新兴产业投资基金管理有限公司百度seo优化推广
  • 轻淘客网站怎么做广西疫情最新消息
  • 阿里网站注册镇江关键字优化品牌
  • php做网站需要注意什么seowhy培训
  • 网站建设与设计毕业论文营销网络推广哪家好
  • 网站前台如何做访问量显示怎么在百度推广自己的网站
  • 上海网站商城建设公司企业网站建站模板
  • 网站开发模板带css样式松原新闻头条