问题标签 [terser]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
87 浏览

javascript - 如何测试缩小的代码。是否有必要

我想知道是否可以在缩小代码后对其进行测试。它甚至是正确的概念吗?目前我正在测试我的代码,jest然后使用terser. 但是,如果在这个过程中出现问题怎么办。还是我把事情复杂化了,不应该担心?

谢谢你。

0 投票
0 回答
291 浏览

reactjs - Webpack TerserPlugin 排除

我的 React 项目中的一个节点模块使用 vm.runincontext 并且此代码在缩小时无法运行。我目前的解决方案是关闭缩小,它只是使加载需要很长时间:(。我想尝试不使用排除来缩小这个特定的节点模块,但无论我在那里传递什么,它都不会看起来它正在工作。这个解决方案看起来可以工作,如果我传递一个始终匹配 true 的正则表达式,我的生产构建工作但我不知道我现在是否应该制作一个评估每个文件的正则表达式

这很令人困惑,因为我可以放置exclude:/(.*)/并且程序可以工作,但是如果我尝试放置与文件相关的任何内容,例如exclude:/node_modules//kekule/(模块的名称),那么这不起作用。比这更奇怪的是我可以通过逆和exclude:/^((?!node_modules).)*$/ 甚至exclude:/^((?!kekule).)*$/,它们都有效

也试过用这个它也不太好用

并且还尝试将 module:{noParse...} 放在层次结构中 module.exports 的正下方,但它也不起作用

有小费吗?谢谢

0 投票
3 回答
369 浏览

angular - Angular 中惯用的条件 TypeScript 编译

我正在使用 Angular 9,我有一些这样的代码:

我希望发出的代码是

或者

但不是两者兼而有之。

是否有调用ng build会发生这种情况?我知道 uglify 可以做到这一点,而 Closure Compiler 肯定可以。我当前的调用是:ng build --aot=true --stats-json --buildOptimizer=true --optimization=true --prod

经过一些实验后,我发现 Angular prod builds 中的简洁设置可以满足我的要求,如果我有如下代码:

但是,如果我尝试做类似的事情:

我的想法是我必须使用类似https://www.npmjs.com/package/tsickle的东西来更好地消除死代码,并使用自定义 WebPack 配置来调用它。我希望有一条更加以 Angular 为中心的路径,这样我就不必为未来的工程师创建/记录很多自定义机器。

0 投票
1 回答
105 浏览

ecmascript-6 - prevent replacing ES6 Object spread notation in Terser

gets minified to:

I need that input parameter for later configuration

Question: How to maintain the original pattern?

Terser output I need:

Update after comment:

outputs:

0 投票
2 回答
598 浏览

angular - Angular 9 Build error 需要一个伪类或伪元素

在我将 Angular 解决方案从 8 升级到 9 后,当 angular.json 的优化选项设置为 true 时,构建现在会失败。我观察了终端,发现它在优化过程的 terser 插件部分失败了。我现在很确定错误的原因在我们的样式表的某个地方。

以下是我到目前为止修复的内容:

  • 删除 :ng-deep 和 /deep/
  • 通过在冒号 ':' 后添加空格来修复 css 属性

我还需要检查其他事项以使缩小过程继续进行吗?我们也在使用手写笔。

这里已经提出了一个问题。我仍然无法添加评论,并且该问题没有最近的活动,因此我发布了自己的评论。

0 投票
1 回答
3488 浏览

javascript - 使用 webpack 编译时来自 Terser 的 main.js 中的错误

所以我试图运行 webpack 来编译我的代码,但是当我运行时npx webpack --config webpack.config.js出现以下错误:

没有什么可去的,我什至不知道去哪里找。有谁知道可能是什么原因造成的?

这是我的 webpack 配置:

谢谢!

0 投票
2 回答
485 浏览

javascript - Gulp-terser 没有按顺序执行

我正在使用 gulp-terser 来缩小 js 文件。我有一个 jquery 文件和一个自定义 js 文件。当我尝试运行任务时,自定义 js 代码位于 jquery 文件的开头。我尝试过使用 gulp-order ,但仍然没有运气。这是我正在使用的代码:

提前致谢。

0 投票
0 回答
135 浏览

javascript - 我如何将 terser 与 create-react-app 一起使用

我正在努力减少基于 create-react-app 的应用程序的包大小以减少加载时间我是否需要使用 gzip 进行压缩。

另外,我如何使用 terser 创建反应应用程序?

0 投票
1 回答
408 浏览

typescript - ParcelJS - windows 对象上可用的函数

我想在全局windows对象上组织和公开我的函数,但无论我尝试什么,我似乎都无法实现它。
我的函数被编写为TypeScript模块,这就是我想公开我的函数的方式:

window.namespace.utils.messageBox
window.namespace.main.initMain

这是我的代码:
index.ts

函数.ts

实用函数.ts

MainFunctions.ts

经过一番搜索和试验,我意识到我需要设置一个Terser Miny Option :
.terserrc:

然后我正在使用--global 标志进行构建:
parcel build index.ts --global namespace

但是当我namespace在我的 F12 控制台中检查时:

如何将我的功能放到namespace对象上?

我正在导出所有内容 - 事实上,如果我进行开发构建,它可以正常工作:"dev": "parcel index.ts".
我认为生产是把所有东西都封闭起来,对吗?这就是我的功能没有像我希望的那样公开的原因。

0 投票
0 回答
291 浏览

java - 如何使用 terser 从 hl7 v2.6 消息中获取特定字段的各种组件?

示例 hl7 v2.6 消息:

获取 PID 段值

我需要获取所有组件(例如)的 PI​​D 段(第 3 个字段b5bbf095e54^^^abcde MRN^MR)。我尝试使用 terser,如下所示:

但结果,我只得到了第一个组件。

获取 OBR 段数

我还想获取所有OBR段的计数,并且需要遍历每个段。此段OBR数可能因一条消息而异,因此它需要是动态的。