UglifyJS,如何仅添加JS文件

问题描述 投票:2回答:1

我正在使用UglifyJS修改和压缩SPA的JavaScript代码。这对于生产来说是可以的,但是在调试模式下编译时,我只想附加所有JS文件。

[我尝试省略-c -m选项(压缩和修改),但是它不起作用,它只是一直压缩和处理源文件

我想避免使用其他工具,甚至更糟糕的是编写自己的工具来追加一组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

javascript single-page-application minify bundling-and-minification uglifyjs
1个回答
1
投票

以您的示例为例,我们可以看到uglify实际上并没有破坏或补偿您的代码。它只是删除空格。

发生这种情况是因为(作为大多数在元级别上处理代码的事情),您的代码被解析为AST。这是您的源代码的抽象代表,该源代码仅包含实际命令

这意味着所有格式都会像uglify的第一步一样或多或少地丢失,并且无法恢复它。

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

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

© www.soinside.com 2019 - 2024. All rights reserved.