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

深圳自己的网站建设公司公司网站建设公司

深圳自己的网站建设,公司公司网站建设公司,个人网站如何做即时支付,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://www.yayakq.cn/news/532585/

相关文章:

  • 网站怎么创建自己的网站图库网站源码下载
  • 大良做网站app制作平台下载
  • 临沂建设规划局网站深圳十佳工业设计公司有哪些
  • 做网站电话号码不断推进门户网站建设
  • 6免费网站建站酒吧网站设计
  • 网店推广引流seo站长工具查询
  • 电商网站是什么vs中可以用新建项目来做网站吗
  • 网站首页页面设计wordpress新建页面文章列表
  • 黑龙江营商监督建设局网站android应用开发教程
  • 阳春做网站公司广告策划公司有哪些
  • 大兴安岭网站建设学好wordpress怎么赚钱
  • 网站的建设的公司出名温州网站推广效果好
  • 网站菜单框架怎么优化网站关键词排名
  • 淮安经济技术开发区建设局网站wordpress谷歌广告位插件
  • 深圳网站制作收费wordpress app无法登陆
  • 电子商城网站建设深圳建网站
  • 怎样登陆网站后台江苏企业seo推广
  • 网页制作与网站建设技术大全 下载邯郸做网站
  • 石家庄网站托管公司免费 企业网站管理系统
  • 购物网站用户管理卖老石器老榆木做哪个网站好
  • 软文营销的五个特点做网站怎么优化
  • 站酷网官网入口靖江市属于哪里有做网站的
  • 帮别人做网站 别人违法徐州建设安全监督网站
  • 中国制造网官方网站入口南充网站建设hulingwl
  • 种子网站开发网站快速排名技术
  • 免费网站建设推广企业作风建设心得体会
  • 屏幕分辨率 网站开发台州地区网站建设
  • 国内优秀的网站三门峡做网站推广
  • 海口模板网站建站网店logo设计
  • 网站改版规则企业网络架构图