gpt4 book ai didi

javascript - UglifyJS 附加文件而不删除空格

转载 作者:行者123 更新时间:2023-12-01 16:26:32 30 4
gpt4 key购买 nike

我正在使用 UglifyJS破坏和压缩我的 SPA 的 JavaScript 代码。这对于生产来说没问题,但是我只想在 Debug模式下编译时附加所有 JS 文件。

我尝试省略 -c -m 选项(compress & mangle)但它没有用,它只是继续压缩和破坏源文件

我想避免使用其他工具,甚至最糟糕的是编写自己的工具来仅附加一组 JavaScript 文件

编辑

test0.js 输入文件:

var test1 = 0;
var test2 = 1;
var test3 = test1 + test2;

test1.js 输入文件:

var test4 = 0;
var test5 = 1;
var test6 = test4 + test5;

我运行的命令(未指定修改或压缩):

uglifyjs test0.js test1.js -o out.js

我得到的输出:

var test1=0;var test2=1;var test3=test1+test2;var test4=0;var test5=1;var test6=test4+test5;

我期望的输出:

var test1 = 0;
var test2 = 1;
var test3 = test1 + test2;
var test4 = 0;
var test5 = 1;
var test6 = test4 + test5;

我可以确认 UglifyJS 正在从文件中删除所有 CR/LF 字节,我想避免这种情况

enter image description here

最佳答案

以您的示例为例,我们可以看到 uglify 实际上既不会破坏也不会压缩您的代码。它只是删除空格。

发生这种情况是因为(就像大多数在元级别处理代码的东西一样)您的代码被解析为 AST .这是源代码的抽象表示,仅包含实际命令

这意味着任何格式都会丢失,因为这或多或少是 uglify 执行的第一步,并且无法恢复它。

另见 this issue .在开发时实现可追溯性的更好方法是使用源映射,uglify 可以使用 --source-map 选项生成它。

这将创建一个单独的文件 .map,该文件位于您的丑化文件旁边,并包含有关哪一行包含什么代码的信息。

关于javascript - UglifyJS 附加文件而不删除空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60074658/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com