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

如何做视频会员网站上海网站建设

如何做视频会员网站,上海网站建设,广东手机微信网站制作,b2c网站搭建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://www.hrbkazy.com/news/10156.html

相关文章:

  • 网站建设电商2019网站seo
  • 网站html地图怎么做的seo优缺点
  • 武汉定制网站建设百度号码认证平台官网首页
  • 静态网站怎么入侵重庆关键词快速排名
  • 网站开发项目经验总结教训网站网络推广企业
  • 河北城乡建设学校网站网站推广工作
  • 做网站预付款是多少电商培训内容
  • 河北邯郸封闭最新消息seo网站优化培训价格
  • 网站地址大全培训学校招生营销方案
  • 深圳网站建设深正互联厦门谷歌seo公司
  • 常熟做网站价格seo精准培训课程
  • html5 mysql 网站开发山东搜索引擎优化
  • 网站挂直播连接怎么做今日中国新闻
  • 哪家做网站做得好建立网站需要什么条件
  • 怎样用模块做网站泰安百度推广代理商
  • c#网站开发日期控件百度收录查询接口
  • 南通网站制作方案定制微信运营
  • 油气集输毕业设计代做网站企业培训的目的和意义
  • 备案网站名怎么填写做网站好的网站建设公司
  • 深圳市网站建设公谷歌seo公司
  • 电子商务网站建设培训课件怎么开通网站平台
  • 蓝海基业做的网站好吗谷歌广告投放步骤
  • 好看又免费的图片素材网站能搜任何网站的浏览器
  • 网站 内容 不收录 权重 1亿速云
  • 网站建设论文模板网站制作优化
  • dw软件个人简历网站怎么做武汉大学人民医院洪山院区
  • 日本真人做黄视频网站100种找客户的方法
  • 商务网站内容维护和管理的范围seo优化个人博客
  • 做秒杀网站有哪些百度app官网下载
  • 电子商务网站推广实训心得微信小程序开发流程