首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何缩小/丑化文档和窗口的属性和方法

如何缩小/丑化文档和窗口的属性和方法
EN

Stack Overflow用户
提问于 2017-02-03 12:19:08
回答 2查看 723关注 0票数 0

我正在寻找一种方法来缩小这样的代码:

代码语言:javascript
运行
复制
setTimeout(function() {
  document.getElementById('test').innerText = 'Hello World!';
}, 1000);

(减去空格和新行):

代码语言:javascript
运行
复制
(function(a,b){
  a(function(){
    b('test').innerText='Hello World!';
  }, 1000);
})(setTimeout, document.getElementById)

使用自动工具,如UglifyJS或类似工具。从文档来看,这样做似乎不是一种选择。

编辑:看到这样的代码是很常见的:

代码语言:javascript
运行
复制
(function (window, document, undefined) {
  // code here
})(window, document);

这是针对性能使代码更易于小型化。的,所以我想知道为什么没有在更深的层次上这样做。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-12-31 13:22:16

使用丑js (用3.14.5版本测试它,但也应该使用版本2),您可以使用--enclose选项:

代码语言:javascript
运行
复制
npx uglify-js --mangle --enclose setTimeout,document:setTimeout,document test.js --output test2.js

给出以下输出:

代码语言:javascript
运行
复制
(function(e,t){e(function(){t.getElementById("test").innerText="Hello World!"},1e3)})(setTimeout,document);

不幸的是,它不能替代像document.getElementById这样的表达式。

票数 1
EN

Stack Overflow用户

发布于 2017-02-03 12:47:15

您可以使用任务运行程序,或模块绑定程序命令行

  • 任务运行程序

还有其他一些工具。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42024170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档