首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Terser:前缀所有损坏的变量和函数

Terser:前缀所有损坏的变量和函数
EN

Stack Overflow用户
提问于 2021-10-03 18:05:18
回答 1查看 416关注 0票数 2

我正在编写一个单文件脚本,它是通过一个<script>标记在页面上包含的,它是用Vite.js构建的,使用的是简化器。

在进行更改后,我注意到,每当我调用代码时,我的脚本构建版本就会突然抛出错误。

在做了一些调查之后,我注意到一个站点上的另一个包(包括脚本)正在调用一个名为ga()的函数。之所以发生此错误,是因为Terser正在缩小/损坏脚本中的一个函数,并将其命名为ga(),然后与我无法控制的另一个函数发生冲突。

我以为特塞尔可以选择

  • 不损坏到特定的名称
  • 前缀所有损坏的函数

但似乎两者都没有。

通过将以下内容添加到我的配置中,我成功地解决了这个问题:

代码语言:javascript
复制
    minify: "terser",
    terserOptions: {
      keep_fnames: true,
    },

这阻止了Terser损坏任何函数名,但显然这并不好,因为它浪费了大量的缩小功能的潜力。

是否有任何方法告诉Terser仍然损坏所有函数,但同时也用a_作为前缀?

EN

回答 1

Stack Overflow用户

发布于 2021-10-03 19:42:45

是的,您可以使用regex、你可以查一下这篇文章或转到mangle.properties获得完整的文档。

代码语言:javascript
复制
terserOptions: {
    mangle: {
        properties: {
            regex: /(^P1|^p1|^_p1)[A-Z]\w*/
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69427550

复制
相关文章

相似问题

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